mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
afe00a79ee
This is required for running armvirt_32 on QEMU 3.0 [1], otherwise the kernel will emit the following complaint and virtio-net-pci devices will fail to be initialized [ 1.124214] OF: PCI: host bridge /pcie@10000000 ranges: [ 1.125093] OF: PCI: IO 0x3eff0000..0x3effffff -> 0x00000000 [ 1.125942] OF: PCI: MEM 0x10000000..0x3efeffff -> 0x10000000 [ 1.126403] OF: PCI: MEM 0x8000000000..0xffffffffff -> 0x8000000000 [ 1.127748] pci-host-generic 4010000000.pcie: can't claim ECAM area [mem 0x10000000-0x1fffffff]: address conflict with /pcie@10000000 [mem 0x10000000-0x3efeffff] [ 1.129752] pci-host-generic: probe of 4010000000.pcie failed with error -16 Running QEMU with "-M virt,highmem=off" is an option, but "highmem" was only introduced as a default on flag since QEMU 2.5.0 and QEMU will fail and quit on encounter of unknown flags [1] Armv7 guest fails to boot with qemu-3.0.0-1, https://bugzilla.redhat.com/show_bug.cgi?id=1633328#c5 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> |
||
---|---|---|
.. | ||
32 | ||
64 | ||
base-files/etc | ||
image | ||
config-4.14 | ||
Makefile | ||
README |
This is intended to be used with LEDE project to provide image for use with QEMU ARM virt machine. Run with qemu-system-arm # boot with initramfs embedded in qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage-initramfs # boot with accel=kvm qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel openwrt-armvirt-32-zImage-initramfs # 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' # boot with local dir as rootfs qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-zImage \ -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' Run with kvmtool # start a named machine lkvm run -k openwrt-armvirt-32-zImage -i openwrt-armvirt-32-rootfs.cpio --name armvirt0 # start with virtio-9p rootfs lkvm run -k openwrt-armvirt-32-zImage -d root-armvirt/ # stop "armvirt0" lkvm stop --name armvirt0 # stop all lkvm stop --all 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 \