[PATCH 6/7] lantiq: add image handling for x490 Fritzboxes

Torsten Duwe duwe at lst.de
Wed Feb 2 02:37:04 PST 2022


Enable building Fritzbox x490 images, with UBI. The default is 252KiB LEB
size and 4k I/O, and the 7490 overriding it with half of those values.

Signed-off-by: Torsten Duwe <duwe at lst.de>
---

I'm uncertain about the difference between UBIFS_OPTS and MKUBIFS_OPTS.
MKUBIFS_OPTS is declared per device, but UBIFS_OPTS are always prepended,
even with some ubinize calls. The final sysupgrade-tar uses an FS image
made with UBIFS_OPTS (?).

As a result, I was unable to build working ubifs-sysupgrades for multiple
targets in one run. Am I missing something or is this a bug?

The benefits of those eva-*.bin files are also unclear to me; I left them
in as they were.

---
 target/linux/lantiq/image/vr9.mk              | 45 +++++++++++++++++++
 .../xrx200/base-files/etc/board.d/01_leds     |  3 +-
 .../xrx200/base-files/etc/board.d/02_network  | 10 ++++-
 .../xrx200/base-files/lib/upgrade/platform.sh |  3 ++
 target/linux/lantiq/xrx200/target.mk          |  2 +-
 5 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/target/linux/lantiq/image/vr9.mk b/target/linux/lantiq/image/vr9.mk
index d17045b6db..9ebb981811 100644
--- a/target/linux/lantiq/image/vr9.mk
+++ b/target/linux/lantiq/image/vr9.mk
@@ -147,6 +147,37 @@ define Device/avm_fritz3390
 endef
 TARGET_DEVICES += avm_fritz3390
 
+define Device/avm_fritzx490
+  $(Device/dsa-migration)
+  $(Device/AVM)
+  $(Device/NAND)
+  KERNEL_SIZE := 4096k
+  IMAGE_SIZE  := 49152k
+  BLOCKSIZE   := 256k
+  PAGESIZE    := 4096
+  UBIFS_OPTS := -m 4096 -e 252KiB -c 256
+  MKUBIFS_OPTS := -m 4096 -e 252KiB -c 256
+  UBINIZE_OPTS := -E 5
+  DEVICE_PACKAGES := kmod-usb3 fritz-tffs wasp_uploader
+endef
+
+define Device/avm_fritz3490
+  $(Device/avm_fritzx490)
+  DEVICE_MODEL := FRITZ!Box 3490
+  DEVICE_PACKAGES += -kmod-owl-loader -dsl-vrx200-firmware-xdsl-a -dsl-vrx200-firmware-xdsl-b-patch
+endef
+TARGET_DEVICES += avm_fritz3490
+
+define Device/avm_fritz5490
+  $(Device/avm_fritzx490)
+  DEVICE_MODEL := FRITZ!Box 5490
+  DEVICE_PACKAGES += -kmod-owl-loader
+  IMAGES += eva-kernel.bin eva-filesystem.bin
+  IMAGE/eva-kernel.bin := append-kernel
+  IMAGE/eva-filesystem.bin := append-ubi
+endef
+TARGET_DEVICES += avm_fritz5490
+
 define Device/avm_fritz7360sl
   $(Device/dsa-migration)
   $(Device/AVM)
@@ -201,6 +232,20 @@ define Device/avm_fritz7430
 endef
 TARGET_DEVICES += avm_fritz7430
 
+define Device/avm_fritz7490
+  $(Device/avm_fritzx490)
+  DEVICE_MODEL := FRITZ!Box 7490
+  BLOCKSIZE := 128k
+  PAGESIZE  := 2048
+  UBIFS_OPTS := -m 2048 -e 126KiB -c 512
+  MKUBIFS_OPTS := -m 2048 -e 126KiB -c 512
+  DEVICE_PACKAGES += -kmod-owl-loader -dsl-vrx200-firmware-xdsl-a -dsl-vrx200-firmware-xdsl-b-patch
+  IMAGES += eva-kernel.bin eva-filesystem.bin
+  IMAGE/eva-kernel.bin := append-kernel
+  IMAGE/eva-filesystem.bin := append-ubi
+endef
+TARGET_DEVICES += avm_fritz7490
+
 define Device/bt_homehub-v5a
   $(Device/dsa-migration)
   $(Device/NAND)
diff --git a/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds b/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds
index bac3ed2b53..a01b5e6b67 100644
--- a/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds
+++ b/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds
@@ -39,7 +39,8 @@ arcadyan,vgv7519-brn)
 	;;
 avm,fritz3370-rev2-hynix|\
 avm,fritz3370-rev2-micron|\
-avm,fritz3390)
+avm,fritz3390|\
+avm,fritz7490)
 	ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x17"
 	;;
 bt,homehub-v5a)
diff --git a/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network b/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network
index 3122d40c92..d92e7718d1 100644
--- a/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network
@@ -32,10 +32,13 @@ lantiq_setup_interfaces()
 	avm,fritz3370-rev2-hynix|\
 	avm,fritz3370-rev2-micron|\
 	avm,fritz3390|\
+	avm,fritz3490|\
+	avm,fritz5490|\
 	avm,fritz7360sl|\
 	avm,fritz7360-v2|\
 	avm,fritz7362sl|\
 	avm,fritz7430|\
+	avm,fritz7490|\
 	buffalo,wbmr-300hpd|\
 	tplink,tdw8970|\
 	tplink,tdw8980|\
@@ -64,10 +67,13 @@ lantiq_setup_dsl()
 	avm,fritz3370-rev2-hynix|\
 	avm,fritz3370-rev2-micron|\
 	avm,fritz3390|\
+	avm,fritz3490|\
+	avm,fritz5490|\
 	avm,fritz7360sl|\
 	avm,fritz7362sl|\
 	avm,fritz7412|\
-	avm,fritz7430)
+	avm,fritz7430|\
+	avm,fritz7490)
 		annex="b"
 		;;
 	esac
@@ -114,6 +120,8 @@ lantiq_setup_macs()
 		wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 0xa91)" 1)
 		;;
 	avm,fritz3390|\
+	avm,fritz3490|\
+	avm,fritz7490|\
 	avm,fritz7362sl)
 		lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
 		wan_mac=$(fritz_tffs -n macdsl -i $(find_mtd_part "tffs (1)"))
diff --git a/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh
index ab01d3bbf7..bc4c1f1330 100755
--- a/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh
+++ b/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh
@@ -12,9 +12,12 @@ platform_do_upgrade() {
 	avm,fritz3370-rev2-hynix|\
 	avm,fritz3370-rev2-micron|\
 	avm,fritz3390|\
+	avm,fritz3490|\
+	avm,fritz5490|\
 	avm,fritz7362sl|\
 	avm,fritz7412|\
 	avm,fritz7430|\
+	avm,fritz7490|\
 	bt,homehub-v5a|\
 	zyxel,p-2812hnu-f1|\
 	zyxel,p-2812hnu-f3)
diff --git a/target/linux/lantiq/xrx200/target.mk b/target/linux/lantiq/xrx200/target.mk
index 8813de8d04..c22721b589 100644
--- a/target/linux/lantiq/xrx200/target.mk
+++ b/target/linux/lantiq/xrx200/target.mk
@@ -1,7 +1,7 @@
 ARCH:=mips
 SUBTARGET:=xrx200
 BOARDNAME:=XRX200
-FEATURES+=atm nand ramdisk
+FEATURES+=atm nand ubifs ramdisk
 CPU_TYPE:=24kc
 
 DEFAULT_PACKAGES+=kmod-leds-gpio \
-- 
2.34.1




More information about the openwrt-devel mailing list