armvirt: update README with new image names
authorMathew McBride <matt@traverse.com.au>
Wed, 19 Jan 2022 03:24:45 +0000 (03:24 +0000)
committerPetr Štetiar <ynezz@true.cz>
Fri, 2 Jun 2023 09:36:09 +0000 (11:36 +0200)
The introduction of EFI support has changed how armvirt
images are generated. The kernel and filesystem binaries
can still be used as before with QEMU directly.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
target/linux/armvirt/README

index b870fe19f7c052a73c82f616ae576f0ad32d2feb..b4409f8f1135f638e54be3886dd8d278329d8730 100644 (file)
@@ -1,21 +1,23 @@
-This is intended to be used with OpenWrt project to provide image for use with
-QEMU ARM virt machine.
+This target generates images that can be used on ARM machines with EFI
+support (e.g EDKII/TianoCore or U-Boot with bootefi).
+
+The kernel and filesystem images can also be used directly by QEMU:
 
 Run with qemu-system-arm
 
        # boot with initramfs embedded in
-       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage-initramfs
+       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-initramfs-kernel.bin
 
        # boot with accel=kvm
        qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
-       openwrt-armvirt-32-zImage-initramfs
+       openwrt-armvirt-32-generic-initramfs-kernel.bin
 
        # boot with a separate rootfs
-       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \
-         -drive file=openwrt-armvirt-32-root.ext4,format=raw,if=virtio -append 'root=/dev/vda rootwait'
+       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \
+         -drive file=openwrt-armvirt-32-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait'
 
        # boot with local dir as rootfs
-       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \
+       qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \
          -fsdev local,id=rootdev,path=root-armvirt/,security_model=none \
          -device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
          -append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p'
@@ -37,4 +39,34 @@ Run with kvmtool
 The multi-platform ARMv8 target can be used with QEMU:
 
        qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
-               -kernel openwrt-armvirt-64-Image-initramfs \
+               -kernel openwrt-armvirt-64-generic-initramfs-kernel.bin \
+
+With a EDKII or U-Boot binary for the QEMU ARM virtual machines, you can use these
+images in EFI mode:
+
+32-bit:
+gunzip -c bin/targets/armvirt/32/openwrt-armvirt-32-generic-ext4-combined.img.gz > openwrt-arm-32.img
+qemu-system-arm -nographic \
+    -cpu cortex-a15 -machine virt \
+    -bios QEMU_EFI_32.fd \
+    -smp 1 -m 1024 \
+    -device virtio-rng-pci \
+    -drive file=openwrt-arm-32.img,format=raw,index=0,media=disk \
+    -netdev user,id=testlan -net nic,netdev=testlan \
+    -netdev user,id=testwan -net nic,netdev=testwan
+
+64-bit:
+gunzip -c bin/targets/armvirt/64/openwrt-armvirt-64-generic-ext4-combined.img.gz > openwrt-arm-64.img
+qemu-system-aarch64 -nographic \
+    -cpu cortex-a53 -machine virt \
+    -bios QEMU_EFI_64.fd \
+    -smp 1 -m 1024 \
+    -device virtio-rng-pci \
+    -drive file=openwrt-arm-64.img,format=raw,index=0,media=disk \
+    -netdev user,id=testlan -net nic,netdev=testlan \
+    -netdev user,id=testwan -net nic,netdev=testwan
+
+One can find EFI/BIOS binaries from:
+- Compile mainline U-Boot for the QEMU ARM virtual machine (qemu_arm_defconfig/qemu_arm64_defconfig)
+- From distribution packages (such as qemu-efi-arm and qemu-efi-aarch64 in Debian)
+- Community builds, like retrage/edk2-nightly: https://retrage.github.io/edk2-nightly/