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>
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
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.
--- /dev/null
+--- 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
+++ /dev/null
---- 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
--- 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.