Explorar o código

Qualcommax: IPQ807x: update preinit factory partition mount script

Patch script used for mounting of factory data partitions to not assume devices names or use hardcoded identifiers.

Signed-off-by: jonathan brophy <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16329
Signed-off-by: Robert Marko <[email protected]>
jonathan brophy hai 11 meses
pai
achega
6180724737

+ 15 - 7
target/linux/qualcommax/ipq807x/base-files/lib/preinit/09_mount_factory_data

@@ -1,20 +1,28 @@
 #!/bin/sh
 
+. /lib/functions.sh
+. /lib/functions/system.sh
+
 preinit_mount_factory_data() {
+	local part_name="$1"
 	local mtd_path
+	local ubi_num
+
+		mtd_path=$(find_mtd_chardev "$part_name")
+		ubi_num=$(grep $part_name /proc/mtd | cut -c 1-5 | grep -o '[0-9]*')
+		ubiattach --dev-path="$mtd_path" --devn=$ubi_num
+		mkdir /tmp/$part_name
+		mount -o ro,noatime -t ubifs ubi$ubi_num:ubi_$part_name /tmp/$part_name
+}
 
-	. /lib/functions.sh
-	. /lib/functions/system.sh
+preinit_mount_factory_partitions() {
 
 	case $(board_name) in
 	tplink,eap620hd-v1|\
 	tplink,eap660hd-v1)
-		mtd_path=$(find_mtd_chardev "factory_data")
-		ubiattach --dev-path="$mtd_path" --devn=1
-		mkdir /tmp/factory_data
-		mount -o ro,noatime -t ubifs ubi1:ubi_factory_data /tmp/factory_data
+		preinit_mount_factory_data "tp_data"
 		;;
 	esac
 }
 
-boot_hook_add preinit_main preinit_mount_factory_data
+boot_hook_add preinit_main preinit_mount_factory_partitions