From: solodecode Date: Sat, 20 Jun 2026 16:47:40 +0000 (+0300) Subject: mediatek: filogic: fix Globitel BT-R320 FIT rootfs mapping X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a6e1135d6d1d0b06ca2be99987f5e5fe2231ae8e;p=thirdparty%2Fopenwrt.git mediatek: filogic: fix Globitel BT-R320 FIT rootfs mapping Globitel BT-R320 boots the sysupgrade FIT from the eMMC production partition with root=/dev/fit0. The device tree did not describe the production GPT partition and /chosen/rootdisk did not point at the FIT container. fitblk then had no rootdisk match and the board stopped at: Waiting for root device /dev/fit0... Describe the eMMC GPT partitions, set /chosen/rootdisk to production, and use the FIT sysupgrade path. Fixes: a3105d3f9573 ("mediatek: filogic: add support for Globitel BT-R320") Signed-off-by: solodecode Link: https://github.com/openwrt/openwrt/pull/23895 Signed-off-by: Robert Marko --- diff --git a/target/linux/mediatek/dts/mt7981b-globitel-bt-r320.dts b/target/linux/mediatek/dts/mt7981b-globitel-bt-r320.dts index c35408f1e5e..b3cad53c16d 100644 --- a/target/linux/mediatek/dts/mt7981b-globitel-bt-r320.dts +++ b/target/linux/mediatek/dts/mt7981b-globitel-bt-r320.dts @@ -17,8 +17,9 @@ }; chosen { - bootargs = "root=PARTLABEL=rootfs rootwait"; + bootargs-override = "root=/dev/fit0 rootwait"; stdout-path = "serial0:115200n8"; + rootdisk = <&emmc_rootdisk>; }; memory@40000000 { @@ -149,36 +150,38 @@ compatible = "mmc-card"; reg = <0>; - block { - compatible = "block-device"; - - partitions { - block-partition-factory { - partname = "factory"; - - nvmem-layout { - compatible = "fixed-layout"; - #address-cells = <1>; - #size-cells = <1>; - - eeprom_factory_0: eeprom@0 { - reg = <0x0 0x1000>; - }; - - macaddr_factory_24: macaddr@24 { - compatible = "mac-base"; - reg = <0x24 0x6>; - #nvmem-cell-cells = <1>; - }; - - macaddr_factory_2a: macaddr@2a { - compatible = "mac-base"; - reg = <0x2a 0x6>; - #nvmem-cell-cells = <1>; - }; + partitions { + compatible = "gpt-partitions"; + + block-partition-factory { + partname = "factory"; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_24: macaddr@24 { + compatible = "mac-base"; + reg = <0x24 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_2a: macaddr@2a { + compatible = "mac-base"; + reg = <0x2a 0x6>; + #nvmem-cell-cells = <1>; }; }; }; + + emmc_rootdisk: block-partition-production { + partname = "production"; + }; }; }; }; diff --git a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh index 79e25abdf73..c1b7a33f299 100644 --- a/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh +++ b/target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh @@ -157,6 +157,7 @@ platform_do_upgrade() { cudy,wr3000h-v1-ubootmod|\ cudy,wr3000p-v1-ubootmod|\ gatonetworks,gdsp|\ + globitel,bt-r320|\ h3c,magic-nx30-pro|\ imou,hx21|\ jcg,q30-pro|\ @@ -200,7 +201,6 @@ platform_do_upgrade() { glinet,gl-mt6000|\ glinet,gl-x3000|\ glinet,gl-xe3000|\ - globitel,bt-r320|\ huasifei,wh3000|\ huasifei,wh3000-pro-emmc|\ smartrg,sdg-8612|\ @@ -373,6 +373,7 @@ platform_check_image() { cudy,wr3000h-v1-ubootmod|\ cudy,wr3000p-v1-ubootmod|\ gatonetworks,gdsp|\ + globitel,bt-r320|\ h3c,magic-nx30-pro|\ jcg,q30-pro|\ jdcloud,re-cp-03|\