在 QEMU ARM 客户机上运行 Alpine Linux

DDo*_*ary 3 linux qemu arm virtual-machine alpine-linux

我正在尝试为 Alpine Linux 构建包,它官方支持 x86、x86_64、armhf、aarch64、s390x、ppc64le,所以我想为所有这些架构构建。

目前我正在使用 QEMU 的用户模式仿真在 x86_64 主机上运行这些架构的 chroot 环境,但它似乎非常不稳定并且经常导致崩溃。所以现在我正在尝试使用 QEMU 运行完整的虚拟机。

为非 ARM 架构安装 Alpine Linux 非常简单,可以通过附加官方下载页面中提供的 .iso 映像来完成。但是,对于 ARM 来说,情况就不同了。除了 netboot 和 u-boot 的档案外,没有提供其他东西,所以我不知道如何安装它。我曾尝试提取存档网络启动和设置-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 窗口中没有输出。

那么如何启动虚拟机呢?谢谢。

DDo*_*ary 5

最后,我成功启动了虚拟机。只需使用类似于以下命令的命令:

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
Run Code Online (Sandbox Code Playgroud)

armv7

同aarch64但替换qemu-system-aarch64qemu-system-arm,并cortex-a57cortex-a15

  • @Justin 我删除了这些文件,因为我发现官方内核也可以运行。我会删除链接。 (2认同)