Skip to content

Commit

Permalink
ramips: introduce TP-Link v1 header OKLI image recipe
Browse files Browse the repository at this point in the history
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 <[email protected]>
Link: openwrt/openwrt#16473
Signed-off-by: Hauke Mehrtens <[email protected]>
(cherry picked from commit 08eecec)
  • Loading branch information
DragonBluep authored and hauke committed Oct 8, 2024
1 parent 1ec1aa9 commit fb44dd7
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions target/linux/ramips/image/common-tp-link.mk
Original file line number Diff line number Diff line change
@@ -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) \
Expand Down Expand Up @@ -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 :=
Expand Down

0 comments on commit fb44dd7

Please sign in to comment.