openwrt/target/linux
Linus Walleij dd8727dd67 gemini: support upgrade on reference designs
The Gemini reference design-derived devices uses a partition
format which is predictable and we can exploit this to offer
some proper upgrade path.

The kernel for these contains a hack to use this partition
format unaltered by combining the partitions "Kern" and "Ramdisk"
to one image with all of the kernel+ramdisk in memory.

Then the "Application" which is used for the rootfs go into its
own partition.

Standard flash layout:
Kern         2048k |
Ramdisk      6144k | = 9216k
Application  6144k | = 15360k

Following the pattern of the factory image we create three
images named zImage, rd.gz and hddapp.tgz (these filenames
are misleading! They are just required by the old firmware.)
and flash each individually with "mtd" during upgrades.

Since the IB-4220-V has a different layout with a bigger kernel
space we parameterize this so we can handle this too. (More
fixes are needed for that device though.)

A way to upgrade older OpenWrt on these platforms to the latest
and greatest will be to copy the file
target/linux/gemini/base-files/lib/upgrade/platform.sh
to /lib/upgrade/platform.sh
on your running system and then run sysupgrade from the image
produced after this patch.

The script is picky to sanity check the partitions before
commencing upgrade.

This was tested with a full sysupgrade on the iTian SQ201.

Link: https://github.com/openwrt/openwrt/pull/21680
(cherry picked from commit 0b0cd4efe2)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-02-11 08:47:45 +01:00
..
airoha airoha: an7581: add switch ports interrups 2026-02-07 17:03:50 +01:00
apm821xx kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +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: add calibration variant for TP-Link TL-WA1201 v2 2026-02-11 00:14:43 +01:00
bcm27xx kernel: bump 6.12 to 6.12.68 2026-02-03 23:26:21 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
bcm53xx bcm53xx: add support for ASUS RT-AC3200 and ASUS RT-AC5300 2026-01-23 16:06:24 +00:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips kernel: refresh upstreamed patches 2026-01-05 00:22:59 +01:00
d1 d1: refresh kernel config 2026-01-27 16:30:05 +01:00
econet econet: refresh patches 6.12 2026-01-11 19:10:38 +01:00
gemini gemini: support upgrade on reference designs 2026-02-11 08:47:45 +01:00
generic kernel: add cake-mq support 2026-02-11 02:12:12 +01:00
imx imx: drop support for kernel 6.6 2025-11-22 10:11:52 +01:00
ipq40xx kernel: bump 6.12 to 6.12.68 2026-02-03 23:26:21 +01:00
ipq806x Revert "treewide: fixup ath10k nodes" 2025-11-29 17:56:11 +01:00
ixp4xx ixp4xx: fix bug in Actiontec DTS file 2026-01-04 18:20:34 +01:00
kirkwood kirkwood: add aliases and new partition for support D-Link DNS-325 A1 2025-11-25 15:41:38 +01:00
lantiq lantiq: xrx200: handle EPROBE_DEFER for MAC address 2026-02-09 00:40:31 +01:00
layerscape kernel: phylink: disable autoneg for interfaces that have no inband 2026-01-05 00:23:01 +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 mediatek: filogic: gl-mt2500 fix compatibles PHY variants 2026-02-11 00:09:30 +01:00
microchipsw microchipsw: lan969x: include ip-bridge and dcb tools 2026-01-25 22:14:23 +01:00
mpc85xx kernel: reorder configuration options 2026-01-26 23:59:37 +01:00
mvebu mvebu: cortex-a53: fix Methode eDPU migration to upstream DTS 2026-01-28 11:05:06 +01:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
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.62 2025-12-17 00:32:23 +01:00
qoriq qoriq: drop support for kernel 6.6 2025-11-26 17:21:14 +02:00
qualcommax qualcommax: ipq50xx: Correct USB DWC3 wrapper interrupts 2026-01-25 11:21:36 +01:00
qualcommbe kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
ramips ramips: add support for D-Link DIR-1360 A1 2026-02-05 00:16:40 +01:00
realtek realtek: dts: add LGS328C port 21 definition 2026-02-08 21:25:29 +01:00
rockchip kernel: bump 6.12 to 6.12.68 2026-02-03 23:26:21 +01:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
starfive kernel: bump 6.12 to 6.12.64 2026-01-15 20:55:54 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +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 kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: cs5535audio: add support for subtarget legacy 2026-01-19 12:51:45 +01:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00