diff --git a/target/linux/qualcommax/ipq807x/base-files/lib/preinit/09_mount_factory_data b/target/linux/qualcommax/ipq807x/base-files/lib/preinit/09_mount_factory_data index 2563202a1a2..f29362dbcef 100644 --- a/target/linux/qualcommax/ipq807x/base-files/lib/preinit/09_mount_factory_data +++ b/target/linux/qualcommax/ipq807x/base-files/lib/preinit/09_mount_factory_data @@ -1,20 +1,28 @@ #!/bin/sh -preinit_mount_factory_data() { - local mtd_path +. /lib/functions.sh +. /lib/functions/system.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 +} + +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