![在 QEMU ARM 客户机上运行 Alpine Linux](https://linux22.com/image/1580707/%E5%9C%A8%20QEMU%20ARM%20%E5%AE%A2%E6%88%B7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%20Alpine%20Linux.png)
我正在尝试为 Alpine Linux 构建软件包,它对 x86、x86_64、armhf、aarch64、s390x、ppc64le 有官方支持,所以我想为所有这些架构构建。
目前我正在使用 QEMU 的用户模式模拟在 x86_64 主机上运行这些架构的 chroot 环境,但它似乎相当不稳定,经常导致崩溃。所以现在我正尝试使用 QEMU 运行完整的虚拟机。
为非 ARM 架构安装 Alpine Linux 非常简单,只需附加提供的 .iso 映像即可完成官方下载页面。但是,对于 ARM 来说情况就不同了。除了 netboot 和 u-boot 的存档之外,没有提供任何其他东西,所以我不知道如何安装它。我尝试提取 netboot 的存档并进行设置,-kernel
然后-initrd
提取文件,但没有成功。(我使用的完整命令是qemu-system-aarch64 -M vexpress-a9 -kernel vmlinuz-vanilla -initrd initrd-vanilla -append "root=/dev/ram"
)我在终端和Guest had not initialized the display (yet)
VNC 窗口中没有得到任何输出。
那么我该如何启动虚拟机?谢谢。
答案1
最后,我成功启动了虚拟机。只需使用类似以下命令:
一个arch64
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
。