summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/functions.sh
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2021-11-01 13:58:20 +0000
committerDaniel Golle <daniel@makrotopia.org>2021-11-01 18:00:42 +0000
commit9f223a20bd5f0cbec9f34427588b645ae38433ff (patch)
tree6cefdfd59b5af3b7989785f75d2b05d4a069dd80 /package/base-files/files/lib/functions.sh
parent6738820bf637fd705ea7e61acf4f694e1bcda313 (diff)
downloadopenwrt-9f223a20bd5f0cbec9f34427588b645ae38433ff.tar.gz
openwrt-9f223a20bd5f0cbec9f34427588b645ae38433ff.tar.bz2
openwrt-9f223a20bd5f0cbec9f34427588b645ae38433ff.zip
base-files: allow specifiying rootdev for find_mmc_part
Some devices got more than one mmc device. Allow specifying the root device as 2nd parameter of find_mmc_part so scripts can avoid matching irrelevant partitions on wrong mmc device. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'package/base-files/files/lib/functions.sh')
-rw-r--r--package/base-files/files/lib/functions.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index e56e4637f0..ee0c33845c 100644
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -331,13 +331,19 @@ find_mtd_part() {
}
find_mmc_part() {
- local DEVNAME PARTNAME
+ local DEVNAME PARTNAME ROOTDEV
if grep -q "$1" /proc/mtd; then
echo "" && return 0
fi
- for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do
+ if [ -n "$2" ]; then
+ ROOTDEV="$2"
+ else
+ ROOTDEV="mmcblk*"
+ fi
+
+ for DEVNAME in /sys/block/$ROOTDEV/mmcblk*p*; do
PARTNAME="$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=')"
[ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0
done