mpc85xx: p1010: Use zImage loader for Watchguard Firebox T10
authorShine <4c.fce2@proton.me>
Wed, 10 Dec 2025 23:21:48 +0000 (00:21 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 12 Dec 2025 00:25:50 +0000 (01:25 +0100)
Since kernel 6.1, the Watchguard Firebox T10 can't boot anymore due to
increased kernel size.

This commit introduces the zImage loader from 7d768a9 to boot the kernel.
This is required, since the U-Boot version used in this device appears
to have a hard limit of 16MB for the kernel size it can handle. The
current kernel size is around 17MB, though, due to kernel page alignment
required for memory protection.

(cherry-picked from commit be7aa5bda40ee05b1dd0b4f4a1bf88e653ef875a)
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21130
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/mpc85xx/image/p1010.mk
target/linux/mpc85xx/p1010/target.mk
target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch [new file with mode: 0644]
target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch.patch [deleted file]
target/linux/mpc85xx/patches-6.6/111-powerpc-85xx-hpe-msm-support.patch

index 1f898c483f5b9e11cb19e5bceb315b8a4f7ba125..c873c29f9d259fc72610831ac22268372c411062 100644 (file)
@@ -78,7 +78,12 @@ define Device/watchguard_firebox-t10
   DEVICE_VENDOR := Watchguard
   DEVICE_MODEL := Firebox T10
   DEVICE_PACKAGES := kmod-rtc-s35390a kmod-eeprom-at24
+  # This boot loader doesn't reliably boot an uncompressed image,
+  # therefore resort to gzipping the already compressed zImage
   KERNEL = kernel-bin | gzip | fit gzip $(KDIR)/image-$$(DEVICE_DTS).dtb
+  KERNEL_NAME := zImage.la3000000
+  KERNEL_ENTRY := 0x3000000
+  KERNEL_LOADADDR := 0x3000000
   IMAGES := sysupgrade.bin
   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
 endef
index 6b54390863762d7fb48f449c3a7cf5857b4efa5e..b6236196f3f7e2989403a3524bc470b10594caca 100644 (file)
@@ -1,5 +1,5 @@
 BOARDNAME:=P1010
-KERNEL_IMAGES:=simpleImage.br200-wp simpleImage.tl-wdr4900-v1 simpleImage.ws-ap3715i
+KERNEL_IMAGES:=simpleImage.br200-wp simpleImage.tl-wdr4900-v1 simpleImage.ws-ap3715i zImage.la3000000
 
 define Target/Description
        Build firmware images for P1010 based boards.
diff --git a/target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch b/target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch
new file mode 100644 (file)
index 0000000..910154b
--- /dev/null
@@ -0,0 +1,30 @@
+--- a/arch/powerpc/platforms/85xx/Kconfig
++++ b/arch/powerpc/platforms/85xx/Kconfig
+@@ -83,6 +83,17 @@ config WS_AP3825I
+         This board is a Concurrent Dual-Band wireless access point with a
+         Freescale P1020 SoC.
++config FIREBOX_T10
++      bool "Watchguard Firebox T10"
++      select DEFAULT_UIMAGE
++      select ARCH_REQUIRE_GPIOLIB
++      select GPIO_MPC8XXX
++      select PPC_ZIMAGE_LA3000000
++      help
++        This option enables support for the Watchguard Firebox T10 board.
++        This board is a VPN Gateway-Router with a
++        Freescale P1010 SoC.
++
+ config MPC8540_ADS
+       bool "Freescale MPC8540 ADS"
+       select DEFAULT_UIMAGE
+--- a/arch/powerpc/platforms/85xx/Makefile
++++ b/arch/powerpc/platforms/85xx/Makefile
+@@ -27,6 +27,7 @@ obj-$(CONFIG_PPC_P2020)   += p2020.o $(o
+ obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
+ obj-$(CONFIG_WS_AP3710I)  += ws-ap3710i.o
+ obj-$(CONFIG_WS_AP3825I)  += ws-ap3825i.o
++obj-$(CONFIG_FIREBOX_T10) += firebox_t10.o
+ obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
+ obj-$(CONFIG_FB_FSL_DIU)      += t1042rdb_diu.o
+ obj-$(CONFIG_RED_15W_REV1)    += red15w_rev1.o
diff --git a/target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch.patch b/target/linux/mpc85xx/patches-6.6/108-powerpc-85xx-firebox-t10-support.patch.patch
deleted file mode 100644 (file)
index 2c722e4..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/arch/powerpc/platforms/85xx/Kconfig
-+++ b/arch/powerpc/platforms/85xx/Kconfig
-@@ -83,6 +83,16 @@ config WS_AP3825I
-         This board is a Concurrent Dual-Band wireless access point with a
-         Freescale P1020 SoC.
-+config FIREBOX_T10
-+      bool "Watchguard Firebox T10"
-+      select DEFAULT_UIMAGE
-+      select ARCH_REQUIRE_GPIOLIB
-+      select GPIO_MPC8XXX
-+      help
-+        This option enables support for the Watchguard Firebox T10 board.
-+        This board is a VPN Gateway-Router with a
-+        Freescale P1010 SoC.
-+
- config MPC8540_ADS
-       bool "Freescale MPC8540 ADS"
-       select DEFAULT_UIMAGE
---- a/arch/powerpc/platforms/85xx/Makefile
-+++ b/arch/powerpc/platforms/85xx/Makefile
-@@ -27,6 +27,7 @@ obj-$(CONFIG_PPC_P2020)   += p2020.o $(o
- obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
- obj-$(CONFIG_WS_AP3710I)  += ws-ap3710i.o
- obj-$(CONFIG_WS_AP3825I)  += ws-ap3825i.o
-+obj-$(CONFIG_FIREBOX_T10) += firebox_t10.o
- obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
- obj-$(CONFIG_FB_FSL_DIU)      += t1042rdb_diu.o
- obj-$(CONFIG_RED_15W_REV1)    += red15w_rev1.o
index 1d1fb4f54f9633af2f099e3d3697b46463a28cbd..f87b2af1d248c39e7f605ca0373aaeee8e6fe859 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/powerpc/platforms/85xx/Kconfig
 +++ b/arch/powerpc/platforms/85xx/Kconfig
-@@ -114,6 +114,18 @@ config FIREBOX_T10
+@@ -115,6 +115,18 @@ config FIREBOX_T10
          This board is a VPN Gateway-Router with a
          Freescale P1010 SoC.