[openwrt/openwrt] ramips: introduce TP-Link v1 header OKLI image recipe

LEDE Commits lede-commits at lists.infradead.org
Tue Oct 8 13:21:01 PDT 2024


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/fb44dd731484765163205affc2fd8895f76a5316

commit fb44dd731484765163205affc2fd8895f76a5316
Author: Shiji Yang <yangshiji66 at qq.com>
AuthorDate: Tue Sep 24 18:50:01 2024 +0800

    ramips: introduce TP-Link v1 header OKLI image recipe
    
    It can be used to workaround the booting stuck issue caused by the
    u-boot LZMA decompression error.
    
    The new kernel image structure:
    +------+------------------+------------------+---------------+-----------------+
    | name | tplink-v1 header | OKLI lzma-loader | uImage header | lzma kernel+dtb |
    +------+------------------+------------------+---------------+-----------------+
    | size |      0x200       |       0xe00      |     0x40      |     dynamic     |
    +------+------------------+------------------+---------------+-----------------+
    
    Signed-off-by: Shiji Yang <yangshiji66 at qq.com>
    Link: https://github.com/openwrt/openwrt/pull/16473
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
    (cherry picked from commit 08eecec3558d9adf351e03b58309e69a77de1a36)
---
 target/linux/ramips/image/common-tp-link.mk | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/target/linux/ramips/image/common-tp-link.mk b/target/linux/ramips/image/common-tp-link.mk
index cb26275960..665b8f7971 100644
--- a/target/linux/ramips/image/common-tp-link.mk
+++ b/target/linux/ramips/image/common-tp-link.mk
@@ -1,6 +1,19 @@
 DEVICE_VARS += TPLINK_FLASHLAYOUT TPLINK_HWID TPLINK_HWREV TPLINK_HWREVADD
 DEVICE_VARS += TPLINK_HVERSION TPLINK_BOARD_ID TPLINK_HEADER_VERSION
 
+define Build/tplink-v1-okli-image
+	cp $(IMAGE_KERNEL) $(IMAGE_ROOTFS).$(word 2,$(1))
+	cat $(IMAGE_ROOTFS) >> $(IMAGE_ROOTFS).$(word 2,$(1))
+	-$(STAGING_DIR_HOST)/bin/mktplinkfw \
+		-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \
+		-N "$(VERSION_DIST)" -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \
+		-k "$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE)" -E $(KERNEL_LOADADDR) \
+		-r $(IMAGE_ROOTFS).$(word 2,$(1)) -o $@.new -j -X 0x40000 \
+		-a $(call rootfs_align,$(FILESYSTEM)) $(wordlist 3,$(words $(1)),$(1)) \
+		$(if $(findstring sysupgrade,$(word 2,$(1))),-s) && mv $@.new $@ || rm -f $@
+	rm -f $(IMAGE_ROOTFS).$(word 2,$(1))
+endef
+
 define Build/uImage-tplink-c9
 	mkimage \
 		-A $(LINUX_KARCH) \
@@ -28,6 +41,18 @@ define Device/tplink-v1
 	append-metadata
 endef
 
+define Device/tplink-v1-okli
+  $(Device/tplink-v1)
+  LOADER_TYPE := bin
+  LOADER_FLASH_OFFS := 0x21000
+  COMPILE := loader-$(1).bin
+  COMPILE/loader-$(1).bin := loader-okli-compile | pad-to 64k | lzma | pad-to 3584
+  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
+  IMAGE/factory.bin := tplink-v1-okli-image $(1) factory -e -O
+  IMAGE/sysupgrade.bin := tplink-v1-okli-image $(1) sysupgrade -e -O | check-size | \
+	append-metadata
+endef
+
 define Device/tplink-v2
   DEVICE_VENDOR := TP-Link
   TPLINK_FLASHLAYOUT :=




More information about the lede-commits mailing list