X86、x86_64、armhf、aarch64、s390x、ppc64leを公式にサポートしているAlpine Linuxのパッケージをビルドしようとしているので、これらすべてのアーキテクチャー用にビルドしたいと思います。
現在、QEMUのユーザーモードエミュレーションを使用して、x86_64ホストでこれらのアーキテクチャのchroot環境を実行していますが、非常に不安定で、クラッシュすることがよくあります。そのため、QEMUを使用して完全な仮想マシンを実行しようとしています。
非ARMアーキテクチャ用のAlpineLinuxのインストールは非常に簡単で、 公式ダウンロードページ で提供されている.isoイメージを添付することで実行できます。ただし、ARMにとっては別の話です。 netbootとu-bootのアーカイブ以外に提供されているものはないので、インストール方法がわかりません。 netbootのアーカイブを抽出し、抽出したファイルに_-kernel
_と_-initrd
_を設定しようとしましたが、機能しませんでした。 (私が使用した完全なコマンドは_qemu-system-aarch64 -M vexpress-a9 -kernel vmlinuz-Vanilla -initrd initrd-Vanilla -append "root=/dev/ram"
_でした)ターミナルに出力がなく、VNCウィンドウにGuest had not initialized the display (yet)
がありました。
では、どうすれば仮想マシンを起動できますか?ありがとう。
最後に、仮想マシンを正常に起動しました。次のようなコマンドを使用するだけです。
aarch64
qemu-system-aarch64 \
-M virt -m 512M -cpu cortex-a57 \ # Required, cortex-a53 is OK, too
-kernel vmlinuz-lts -initrd initramfs-lts \ # These two files can be downloaded from http://dl-cdn.alpinelinux.org/Alpine/Edge/releases/aarch64/netboot/
-append "console=ttyAMA0 ip=dhcp Alpine_repo=http://dl-cdn.alpinelinux.org/Alpine/Edge/main/" \ # The console argument is required to get console output
-nographic
armv7
Aarch64と同じですが、qemu-system-aarch64
をqemu-system-arm
に置き換え、cortex-a57
をcortex-a15
に置き換えます。