[openwrt/openwrt] ramips: define lzma-loader recipe for SEAMA devices

LEDE Commits lede-commits at lists.infradead.org
Sat Nov 12 09:30:18 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/e7ad68d682bdb73b7d13d6c4b8d1d65d9f050138

commit e7ad68d682bdb73b7d13d6c4b8d1d65d9f050138
Author: Szabolcs Hubai <szab.hu at gmail.com>
AuthorDate: Mon Sep 26 08:42:54 2022 +0200

    ramips: define lzma-loader recipe for SEAMA devices
    
    Define "Device/seama-lzma-loader" recipe for SEAMA devices to help
    contributors avoid doing recipe mistakes.
    
    In a forum topic [0] I was under the impression that the good old
    uimage-lzma-loader didn't fix the LZMA ERROR 1 for a device.
    
    It was found out, that the uimage-lzma-loader never worked because the
    KERNEL variable was overriden earlier (also an LZMA ERROR 1 related
    commit, 6fba88de1913), and the "use lzma-loader" fix (commit
    09faa73c53bd) didn't catch that to include the "loader-kernel" part.
    
    I contributed an LZMA ERROR 1 fix (commit ce1957100411) for the SEAMA
    device D-Link DIR-860L B1, where I had to duplicate the whole
    uimage-lzma-loader recipe because of the special needs of the vendor
    bootloader.
    
    This new recipe reuse most of uimage-lzma-loader's KERNEL definiton to
    avoid duplication.
    
    It uses "relocate-kernel" as it needed for D-Link DIR-860L B1 to
    boot from flash, and it's compatible with D-Link DIR-645 too.
    
    It repacks lzma-loader with lzma for kernel (without uImage), because
    these weird hacked vendor bootloaders accepts only LZMA compressed
    kernels from flash:
    
        We have SEAMA, Image Size = 4759794
        Verifying Checksum ...
        Uncompressing SEAMA linux.lzma ... OK
    
    It uses uImage header for initramfs kernel to be little bit verbose.
    
    0: https://forum.openwrt.org/t/136435/10
    
    Signed-off-by: Szabolcs Hubai <szab.hu at gmail.com>
---
 target/linux/ramips/image/Makefile | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 0992d6ba9f..275251ff6b 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -213,7 +213,15 @@ endef
 
 define Device/uimage-lzma-loader
   LOADER_TYPE := bin
-  KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
+  KERNEL/lzma-loader := kernel-bin | append-dtb | lzma | loader-kernel
+  KERNEL := $$(KERNEL/lzma-loader) | uImage none
+endef
+
+define Device/seama-lzma-loader
+  $(Device/seama)
+  $(Device/uimage-lzma-loader)
+  KERNEL := $$(KERNEL/lzma-loader) | relocate-kernel | lzma -a0
+  KERNEL_INITRAMFS := $$(KERNEL/lzma-loader) | uImage none
 endef
 
 include $(SUBTARGET).mk




More information about the lede-commits mailing list