mirror of
https://github.com/openwrt/openwrt.git
synced 2026-07-22 07:12:01 +04:00
c430788f5d
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.36 Removed upstreamed: airoha/patches-6.18/162-v7.2-net-airoha-Fix-use-after-free-in-metadata-dst-teardo.patch[1] airoha/patches-6.18/164-v7.2-net-airoha-Add-NULL-check-for-of_reserved_mem_lookup.patch[2] All other patches automatically rebased via update_kernel.sh A new option was introduced with this release[3]. Updated configs on affected targets: armsr/armv8 and rockchip/armv8. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.36&id=6f829e2c17a53a35321268339cd252aff6d6d723 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.36&id=01f7d4b504580664d36faea5671cde5e3f0d8a5b 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v6.18.36&id2=v6.18.35 Build system: x86/64 Build-tested: x86/64-glibc Run-tested: x86/64-glibc Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/23887 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
This target generates images that can be used on ARM machines with EFI
support (e.g EDKII/TianoCore or U-Boot with bootefi).
There are two subtargets:
- armv7 for 32-bit machines
- armv8 for 64-bit machines
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-armsr-armv7-generic-initramfs-kernel.bin
# boot with accel=kvm
qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
openwrt-armsr-armv7-generic-initramfs-kernel.bin
# boot with a separate rootfs
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-kernel.bin \
-drive file=openwrt-armsr-armv7-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-armsr-armv7-generic-kernel.bin \
-fsdev local,id=rootdev,path=root-armsr/,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-armsr-armv7-zImage -i openwrt-armsr-armv7-rootfs.cpio --name armsr0
# start with virtio-9p rootfs
lkvm run -k openwrt-armsr-armv7-zImage -d root-armsr/
# stop "armsr0"
lkvm stop --name armsr0
# 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-armsr-armv8-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/armsr/armv7/openwrt-armsr-armv7-generic-ext4-combined-efi.img.gz > openwrt-arm-32.img
qemu-system-arm -nographic \
-cpu cortex-a15 -machine virt \
-bios bin/targets/armsr/armv7/u-boot-qemu_armv7/u-boot.bin \
-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/armsr/armv8/openwrt-armsr-armv8-generic-ext4-combined-efi.img.gz > openwrt-arm-64.img
qemu-system-aarch64 -nographic \
-cpu cortex-a53 -machine virt \
-bios bin/targets/armsr/armv8/u-boot-qemu_armv8/u-boot.bin \
-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 obtain other EFI/BIOS binaries 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/