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
最終的に私の目標はエミュレートするのではなく、hvf
QEMU 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でも同じ問題がありましたが、ここの指示に従って動作させることができました。
シニア/医師:
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-aarch64
UEFIイメージを使用して呼び出されることを示します。
最終的なコマンドラインは次のとおりです。
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
ちょうど私の好み)