realtek: image: add rt-loader-no-uimage recipe
authorJonas Jelonek <jelonek.jonas@gmail.com>
Mon, 22 Dec 2025 09:57:52 +0000 (09:57 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 22 Dec 2025 23:26:35 +0000 (00:26 +0100)
Add a new recipe 'rt-loader-no-uimage' that passes the kernel load
address to rt-loader, causing it to use that instead of it's initial run
address.

The usual behavior is fine for uImages where the load address is
predefined in the header, U-boot loads the image to that address and
then runs it, rt-loader just takes over that address. For non-uImage
instead, the address is tightly coupled to where the image has been
transferred during serial or TFTP upload. This may not be possible on
several devices. Passing a separate kernel load address to rt-loader
decouples that and avoids taking the pain to change the load address of
the kernel itself.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21248
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/realtek/image/Makefile

index 786dd127102edc92b27e970c06cd22604b8dc3d7..db1776340e0586a6ef80dab810cc2cb6f1d4d3a1 100644 (file)
@@ -30,6 +30,13 @@ define Build/rt-loader
        mv "$@.new" "$@"
 endef
 
+define Build/rt-loader-no-uimage
+        $(MAKE) all clean -C rt-loader CROSS_COMPILE="$(TARGET_CROSS)" \
+                KERNEL_ADDR="$(KERNEL_LOADADDR)" KERNEL_IMG_IN="$@" \
+                KERNEL_IMG_OUT="$@.new" BUILD_DIR="$@.build"
+        mv "$@.new" "$@"
+endef
+
 define Build/zyxel-vers
        ( echo VERS;\
        for hw in $(ZYXEL_VERS); do\