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>
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\