mediatek: allow mounting ubifs by its device and partition name

Since not every device sets an ubifs partition name as the same as their
parent mtd partition, this change allows mount_ubi_part to usable in
other devices

Signed-off-by: Yonghyu Ban <yhban@silicon.moe>
Link: https://github.com/openwrt/openwrt/pull/19203
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Yonghyu Ban 2025-03-19 17:11:54 +09:00 committed by Hauke Mehrtens
parent db1de8d21f
commit d8754f3866

View file

@ -1,13 +1,14 @@
. /lib/functions/system.sh
mount_ubi_part() {
local part_name="$1"
local mtd_num=$(grep $part_name /proc/mtd | cut -c4)
local mtd_name="$1"
local part_name="$2"
local mtd_num=$(grep \"$mtd_name\" /proc/mtd | cut -d: -f1 | sed 's/mtd//g')
local ubi_num=$(ubiattach -m $mtd_num | \
awk -F',' '/UBI device number [0-9]{1,}/{print $1}' | \
awk '{print $4}')
mkdir /tmp/$part_name
mount -r -t ubifs ubi$ubi_num:$part_name /tmp/$part_name
mkdir /tmp/$mtd_name
mount -r -t ubifs ubi$ubi_num:$part_name /tmp/$mtd_name
}
preinit_mount_cfg_part() {
@ -16,7 +17,7 @@ preinit_mount_cfg_part() {
mercusys,mr90x-v1|\
tplink,archer-ax80-v1|\
tplink,re6000xd)
mount_ubi_part "tp_data"
mount_ubi_part "tp_data" "tp_data"
;;
*)
;;