QEMU 6.2.0 を使用して Mac OS で aarch64 alpine linux を起動できない

QEMU 6.2.0 を使用して Mac OS で aarch64 alpine linux を起動できない

Mac M1 / appleチップでalpine linuxを実行しようとしていますがqemu-system-aarch64、提供されたISOから起動するのではなく、常にQEMUモニタ[1]を使用してください。

以下は問題なく動作します。 ISOから起動すると、期待どおりにログインして利用可能なシェルを取得できます(注x86_64)。

qemu-system-x86_64 -boot d -cdrom ~/Downloads/alpine-standard-3.15.0-x86_64.iso -m 2048

aarch64バージョンと非常によく似たものを試してみると、前述のQEMUモニターが表示されます(明らかにデフォルトのマシンがないので使用しますvirt)。

qemu-system-aarch64 -boot d -cdrom ~/Downloads/alpine-standard-3.15.0-aarch64.iso -m 2048 -machine virt

最終的に私の目標はエミュレートするのではなく、hvfQEMU 6.2.0で利用可能な新機能を使用することです。

qemu-system-aarch64 -boot d -cdrom ~/Downloads/alpine-standard-3.15.0-aarch64.iso -m 2048 -cpu host -machine virt,highmem=off -accel hvf

私が何を間違っているかについての提案はありますか?

[1]モニターは一種の対話型シェルを持つ別々のウィンドウで、以下を表示します(ヘルプを試しましたが関連項目が見つかりません)。

compat_monitor0 console
QEMU 6.2.0 monitor - type `help` for more information
(qemu)

答え1

Linuxでも同じ問題がありましたが、ここの指示に従って動作させることができました。

http://www.redfelineninja.org.uk/daniel/2018/02/running-an-iso-installer-image-for-arm64-aarch64-using-qemu-and-kvm/

シニア/医師:

pflashまず、ディスクイメージとvirtio可変ストレージファイルを作成して指定する必要があります。

qemu-img create -f qcow2 varstore.img 64M
qemu-img create -f qcow2 alpine.img +20G

適切なQEMU EFIファイルから起動します。

wget http://snapshots.linaro.org/components/kernel/leg-virt-tianocore-edk2-upstream/latest/QEMU-AARCH64/RELEASE_GCC5/QEMU_EFI.img.gz
gunzip QEMU_EFI.img.gz

ランニング:

sudo /home/user/qemu-6.2.0/build/qemu-system-aarch64 \
-cpu cortex-a57 -M virt -m 2048 -nographic \
-drive if=pflash,format=raw,file=QEMU_EFI.img \
-drive if=pflash,file=varstore.img \
-drive if=virtio,file=alpine.img \
-drive if=virtio,format=raw,file=alpine-virt-3.15.0-aarch64.iso \
-net nic \
-net user \
-no-reboot

答え2

@ゲストその答えは私にとって効果的でした。私の答えは追加することです。 (元のコメントをつけたかったのに知ってみると思ったより単語数が多かったですね)

qemu-7.2.0私はでHomebrewまたはqemu-7.1.0で同じ問題を経験しましたMacports。私が所有しているのは、「Apple M1」チップとmacOS Monterey 12.3を搭載したMacbook Pro 16インチです。

私が学んqemu-system-aarch64だのは、ブートするにはUEFIが必要なようで、レガシーBIOSは機能しないことです。 (Google」qemu aarch64 uefi「最初のGoogleページの記事/ブログ/文書にあるすべての例は、qemu-system-aarch64UEFIイメージを使用して呼び出されることを示します。

最終的なコマンドラインは次のとおりです。

qemu-system-aarch64 -m 512 -smp 1\
    -boot d -cdrom alpine-virt-3.17.0-aarch64.iso\
    -nグラフィック\
    -M virt,accel=hvf,highmem=off \
    -drive if=pflash,format=raw,file=edk2-aarch64-code.fd -cpu ホスト

edk2-aarch64-code.fdパッケージに付属しており、forまたはforフォルダにqemuあるUEFIイメージです。/opt/local/share/qemu/Macports/opt/homebrew/share/qemu/Homebrew

私は-cpu <...>それを使用する必要があることがわかりました。次のCPUを試してみましたが、すべてがうまくいきます。それがなければ働くことはできません。

host
max
cortex-a57

varstore.imgまた、EFI可変リポジトリとして小さなイメージを使用する必要がない可能性があることがわかりました。@ゲスト答え)。完全なテストを実施していないため、100%確信できません。

-nographicちょうど私の好み)

関連情報