Booting from qemu-system-aarch64

1 post / 0 new
#1 Sat, 2017-10-07 23:26
kevinloughlin
  • kevinloughlin's picture
  • Offline
  • Last seen: 2 months 4 days ago
  • Joined: 2017-10-07

I've been trying to boot the generic ARM (aarch64) distribution of Alpine Linux under qemu-system-aarch64 for some time now, to no avail. Given that I unpacked Alpine's provided tarball into a directory called "alpine" within my QEMU aarch64 directory, the current command line I'm issuing is...

~/qemu/aarch64-softmmu/qemu-system-aarch64 -machine virt -cpu cortex-a57 \
	-nographic -smp 1 -m 2048 -kernel ~/qemu/aarch64-softmmu/alpine/boot/vmlinuz \
	-initrd ~/qemu/aarch64-softmmu/alpine/boot/initramfs-vanilla \
	--append "modules=loop,squashfs,sd-mod,usb-storage quiet,console=ttyAMA0"

I have selected "virt" as my machine because I have been able to make the most progress through the boot with this configuration.

The Linux kernel appears to be boot and successfully mounts the initramfs. My failure occurs during Alpine Init. If I don't provide a root argument to the kernel, I fail on "Mounting boot media". If I do provide a root argument, depending on the argument, I can sometimes mount an (assumedly invalid) rootfs, but then fail shortly thereafter when I try to chroot into the new root directory. I believe that I'm handling the root filesystem wrong, but I'm unsure what I am supposed to use for it.

I've successfully booted x86_64 Alpine in QEMU via its provided iso image -- does Alpine have a similar image for AArch64, or does Alpine have more up-to-date documentation than https://wiki.alpinelinux.org/wiki/Alpine_on_ARM#Using_QEMU for using the distro in ARM qemu?