mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 07:46:48 +00:00
222dc0ad91
Package architecture aarch64_generic [1] can be used just with three devices. One is NanoPI R2S and then there are two development boards from NXP. Let's change armvirt/64 to Cortex A53 (aarch64_cortex-a53) [2]. It has wider support by multiple devices like NanoPI Neo Plus2/Core2, ESPRESSObin, Pine64, and Raspberry Pi 2&3. While looking at ARMvirt/32 it has set CPU_TYPE and CPU_SUBTYPE to be arm_cortex-a15_neon-vfpv4 [3]. It has support to devices like Linksys EA8500 v1, Linksys EA7500 v1, Netgear D7800, Netgear R7500 and so on. Tested with: qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic \ -kernel openwrt-armvirt-64-Image-initramfs Successfully compiled and booted. Here goes the output: root@OpenWrt:/# uname -a Linux OpenWrt 5.4.82 #0 SMP Sun Dec 13 12:52:10 2020 aarch64 GNU/Linux root@OpenWrt:/# cat /etc/openwrt_release DISTRIB_ID='OpenWrt' DISTRIB_RELEASE='SNAPSHOT' DISTRIB_REVISION='r15207-96fca0f807' DISTRIB_TARGET='armvirt/64' DISTRIB_ARCH='aarch64_cortex-a53' DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r15207-96fca0f807' DISTRIB_TAINTS='no-all' Also, change BOARDNAME to be the same as it is in armvirt/32. [1] https://openwrt.org/docs/techref/instructionset/aarch64_generic [2] https://openwrt.org/docs/techref/instructionset/aarch64_cortex-a53 [3] https://openwrt.org/docs/techref/instructionset/arm_cortex-a15_neon-vfpv4 Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> |
||
---|---|---|
.. | ||
32 | ||
64 | ||
base-files/etc | ||
image | ||
config-5.4 | ||
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 \