diff mbox series

[22.03] ath79: mikrotik: use OpenWrt loader for initram image

Message ID 20221119100117.10256-1-hacks@slashdirt.org
State Accepted
Delegated to: Hauke Mehrtens
Headers show
Series [22.03] ath79: mikrotik: use OpenWrt loader for initram image | expand

Commit Message

Thibaut Nov. 19, 2022, 10:01 a.m. UTC
From: John Thomson <git@johnthomson.fastmail.com.au>

Return to using the OpenWrt kernel loader to decompress and load kernel
initram image.

Continue to use the vmlinuz kernel for squashfs.

Mikrotik's bootloader RouterBOOT on some ath79 devices is
failing to boot the current initram, due to the size of the initram image.

On the ath79 wAP-ac:
a 5.7MiB initram image would fail to boot
After this change:
a 6.6MiB initram image successfully loads

This partially reverts commit e91344776b9ba7c864be88d915c9c0df0eb790dd.

An alternative of using RouterBOOT's capability of loading an initrd ELF
section was investigated, but the OpenWrt kernel loader allows larger image.

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
(cherry picked from commit 62b72eafe49d2eecd3692691152ed86a0327fcb0)
Signed-off-by: Thibaut VARĂˆNE <hacks@slashdirt.org>
Fixes: #9954
---
This should be backported as it fixes non-bootable install media for 22.03
It has seen a couple months of use in master with no report of issues.
---
 target/linux/ath79/image/common-mikrotik.mk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/target/linux/ath79/image/common-mikrotik.mk b/target/linux/ath79/image/common-mikrotik.mk
index 5f5fa7899a..fb3dc78226 100644
--- a/target/linux/ath79/image/common-mikrotik.mk
+++ b/target/linux/ath79/image/common-mikrotik.mk
@@ -1,8 +1,10 @@ 
 define Device/mikrotik
 	DEVICE_VENDOR := MikroTik
+	LOADER_TYPE := elf
 	KERNEL_NAME := vmlinuz
 	KERNEL := kernel-bin | append-dtb-elf
-	KERNEL_INITRAMFS := kernel-bin | append-dtb-elf
+	KERNEL_INITRAMFS_NAME := vmlinux-initramfs
+	KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel
 endef
 
 define Device/mikrotik_nor