在 QEMU ARM 客户机上运行 Alpine Linux

在 QEMU ARM 客户机上运行 Alpine Linux

我正在尝试为 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

相关内容