diff mbox series

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

Message ID 20220202125004.3D06968AFE@verein.lst.de
State New
Headers show
Series lantiq: initial support for x490 Fritzboxes | expand

Commit Message

Torsten Duwe Feb. 2, 2022, 10:37 a.m. UTC
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@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(-)

Comments

Andreas Böhler Feb. 3, 2022, 6:12 a.m. UTC | #1
On 02/02/2022 11:37, Torsten Duwe wrote:
> 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@lst.de>
> ---
>
> 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
> +
Is wasp_uploader really in an official package feed?
Torsten Duwe Feb. 3, 2022, 8:09 a.m. UTC | #2
On Thu, 3 Feb 2022 07:12:40 +0100
Andreas Böhler <dev@aboehler.at> wrote:

> > +  DEVICE_PACKAGES := kmod-usb3 fritz-tffs wasp_uploader
> > +endef
> > +
> Is wasp_uploader really in an official package feed?

I don't know. As mentioned, I mostly ignored the secondary system for
now, and -master, with exactly these 7 patches, compiled and ran fine
here. I have not used any additional feeds. I'd really like to leave
those "loose ends", so it is clear where the WIFI system, once
provided, should hook in (see gswip port, reset etc. in the DTs).

	Torsten
diff mbox series

Patch

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 \