openwrt/target/linux/realtek/image/rt-loader
Jonas Jelonek b1c1b713f0 realtek: rt-loader: allow arbitrary kernel load address
rt-loader currently has two operation modes, piggy-backed and
standalone. In standalone mode, the kernel load address is read from the
uImage in flash. In piggy-backed mode, rt-loader instead uses its
initial run address (aka run address during first run) as the kernel
load address. This is safe and works fine for all devices either using
U-boot or having no issue uploading an image to the default kernel load
address 0x80100000.

To extend usecases, allow to specify a kernel load address when
building rt-loader. In this case, rt-loader uses this address instead of
the address inferred at runtime.

On certain Zyxel devices, this allows to upload and boot an rt-loader
piggy-backed image to an alternate address but keep the default kernel
load address of 0x80100000. BootExt on these devices occupies memory
above and will crash during transfer when this address is used as upload
location. Using this extension, the image can be uploaded to e.g.
0x80300000 and rt-loader will use 0x80100000 as the final load address.
This avoid taking the pain the adjust 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>
2025-12-23 00:26:34 +01:00
..
include realtek: rt-loader: add ROM uImage lookup (aka standalone) 2025-09-03 21:36:34 +02:00
linker
src realtek: rt-loader: allow arbitrary kernel load address 2025-12-23 00:26:34 +01:00
Makefile realtek: rt-loader: allow arbitrary kernel load address 2025-12-23 00:26:34 +01:00