armvirt: update README with new image names
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>
This commit is contained in:
parent
eb0e61285d
commit
97c5d317f5
@ -1,21 +1,23 @@
|
|||||||
This is intended to be used with OpenWrt project to provide image for use with
|
This target generates images that can be used on ARM machines with EFI
|
||||||
QEMU ARM virt machine.
|
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
|
Run with qemu-system-arm
|
||||||
|
|
||||||
# boot with initramfs embedded in
|
# 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
|
# boot with accel=kvm
|
||||||
qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
|
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
|
# boot with a separate 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 \
|
||||||
-drive file=openwrt-armvirt-32-root.ext4,format=raw,if=virtio -append 'root=/dev/vda rootwait'
|
-drive file=openwrt-armvirt-32-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait'
|
||||||
|
|
||||||
# boot with local dir as rootfs
|
# 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 \
|
-fsdev local,id=rootdev,path=root-armvirt/,security_model=none \
|
||||||
-device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
|
-device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
|
||||||
-append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p'
|
-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:
|
The multi-platform ARMv8 target can be used with QEMU:
|
||||||
|
|
||||||
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
|
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/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user