openwrt/target/linux
Kenneth Kasilag 887f21e21a airoha: an7581: add uboot chainloader
Due to issues surrounding the implementation of the vendor BMT/BBT
on Airoha, upstream ATF + uboot has switched to UBI flash partitions.

However, some devices shipped on this platform are bootloader locked,
and thus it is impossible to replace ATF + uboot.

During testing for the Gemtek W1700K (#17869), sysupgrades from Linux
(which is unaware of the underlying BMT/BBT) would occasionally write
data into blocks which were remapped by the vendor uboot when it was
read on the following reboot, causing a soft brick.

An acceptable workaround [1],[2] was discussed where an intermediate
uboot would be written by the vendor uboot (which is aware of Airoha
BMT/BBT). This chainloader would then ignore the regions of flash
used by the vendor uboot, and store all relevant data inside of UBI.

UBI would then be used to handle bad block management. As the vendor
ATF + uboot do not read or interact with the UBI region, we would avoid
unwanted remaps from BMT/BBT.

This commit introduces support for building such a chainloader, by
packaging u-boot and DTS into a FIT image; to be flashed like a kernel.

Configuration for the Gemtek W1700K is provided as an example of how the
chainloader is used.

[1] https://github.com/openwrt/openwrt/pull/17869#discussion_r2836066746
[2] https://github.com/openwrt/openwrt/pull/17869#discussion_r2838395671

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
[ move FIP_COMPRESS to Build/Compile, wrap some long lines ]
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 442e67d31f)
Link: https://github.com/openwrt/openwrt/pull/22294
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-15 20:53:04 +02:00
..
airoha airoha: an7581: add uboot chainloader 2026-05-15 20:53:04 +02:00
apm821xx apm821xx: mx60: increment compat_version 2026-03-19 10:40:13 +01:00
armsr kernel: drop CONFIG_ARM64_CONTPTE from target configs 2025-11-26 21:08:34 +02:00
at91 treewide: fix coccinelle checks 2025-12-02 23:32:42 +01:00
ath79 ath79: wlr-7100: move to tiny target 2026-05-14 00:42:09 +02:00
bcm27xx kernel: bump 6.12 to 6.12.86 2026-05-12 23:08:44 +02:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
bcm53xx bcm53xx: fix switch standalone ports (like "wan") 2026-03-01 01:54:19 +01:00
bcm4908 kernel: bump 6.12 to 6.12.78 2026-04-02 23:23:41 +02:00
bmips Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom" 2026-02-21 14:02:55 +01:00
d1 d1: refresh kernel config 2026-01-27 16:30:05 +01:00
econet kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
gemini gemini: select the right GPIO input package 2026-02-11 08:47:45 +01:00
generic kernel: bump 6.12 to 6.12.87 2026-05-12 23:08:44 +02:00
imx Revert "imx: cortexa53: remove KSZ9477 static driver" 2026-03-02 18:06:48 +01:00
ipq40xx ipq40xx: wr-1: fix WLAN LEDs labels 2026-05-14 00:41:57 +02:00
ipq806x kernel: bump 6.12 to 6.12.86 2026-05-12 23:08:44 +02:00
ixp4xx ixp4xx: fix bug in Actiontec DTS file 2026-01-04 18:20:34 +01:00
kirkwood kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
lantiq kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
layerscape kernel: bump 6.12 to 6.12.71 2026-02-15 02:07:04 +01:00
loongarch64 kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek kernel: bump 6.12 to 6.12.86 2026-05-12 23:08:44 +02:00
microchipsw microchipsw: fix LAN8814 QSGMII soft reset 2026-05-11 10:50:36 +02:00
mpc85xx kernel: move patch from mpc85xx to pending 2026-02-14 01:15:12 +01:00
mvebu kernel: bump 6.12 to 6.12.86 2026-05-12 23:08:44 +02:00
mxs
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: drop support for kernel 6.6 2025-11-22 10:16:35 +01:00
pistachio kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-02-14 01:15:12 +01:00
qualcommax ipq50xx: add label-mac-device to Linksys MX5500 2026-04-30 01:48:36 +02:00
qualcommbe kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
ramips ramips: wn575a3: fix eeprom size for 5ghz wifi 2026-05-04 23:40:40 +02:00
realtek kernel: bump 6.12 to 6.12.83 2026-04-30 21:18:02 +02:00
rockchip kernel: bump 6.12 to 6.12.86 2026-05-12 23:08:44 +02:00
sifiveu
siflower kernel: bump 6.12 to 6.12.75 2026-04-02 23:23:40 +02:00
starfive kernel: bump 6.12 to 6.12.78 2026-04-02 23:23:41 +02:00
stm32 base-files: MAJOR/MINOR not sequential, use DISKSEQ instead 2026-04-03 20:49:12 +02:00
sunxi kernel: reorder configuration options 2026-01-26 23:59:37 +01:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml
x86 x86: add support for DFI ASL553 2026-04-20 16:43:22 +02:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile