summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/udev/udev-extraconf/mount.sh
diff options
context:
space:
mode:
authorMing Liu <liu.ming50@gmail.com>2022-06-06 11:33:14 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-07 11:56:13 +0100
commit0c855988153f2504f2e79b359cec53b982eb9d52 (patch)
tree0df5fc3fdb1edd496aa9c0407420fcc00a66a4cd /meta/recipes-core/udev/udev-extraconf/mount.sh
parentbd5abcc908b9d30144bba5558476cec86becc686 (diff)
downloadpoky-0c855988153f2504f2e79b359cec53b982eb9d52.tar.gz
udev-extraconf: let automount base directory configurable
Dont hard-code automount base directory to '/run/media', introduce a variable MOUNT_BASE to let it configurable, like in udisks2 the mount base is also configurable by setting option: --enable-fhs-media. (From OE-Core rev: f077befd5f36ad88623aaf6a38b1a837ecb18650) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/udev/udev-extraconf/mount.sh')
-rw-r--r--meta/recipes-core/udev/udev-extraconf/mount.sh25
1 files changed, 13 insertions, 12 deletions
diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 5ba66e98e2..c8b773bc07 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -6,6 +6,7 @@
6 6
7BASE_INIT="`readlink -f "@base_sbindir@/init"`" 7BASE_INIT="`readlink -f "@base_sbindir@/init"`"
8INIT_SYSTEMD="@systemd_unitdir@/systemd" 8INIT_SYSTEMD="@systemd_unitdir@/systemd"
9MOUNT_BASE="@MOUNT_BASE@"
9 10
10if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then 11if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
11 # systemd as init uses systemd-mount to mount block devices 12 # systemd as init uses systemd-mount to mount block devices
@@ -40,7 +41,7 @@ automount_systemd() {
40 41
41 # Skip already mounted partitions 42 # Skip already mounted partitions
42 if [ -f /run/systemd/transient/run-media-$name.mount ]; then 43 if [ -f /run/systemd/transient/run-media-$name.mount ]; then
43 logger "mount.sh/automount" "/run/media/$name already mounted" 44 logger "mount.sh/automount" "$MOUNT_BASE/$name already mounted"
44 return 45 return
45 fi 46 fi
46 47
@@ -53,7 +54,7 @@ automount_systemd() {
53 grep "^[[:space:]]*$tmp" /etc/fstab && return 54 grep "^[[:space:]]*$tmp" /etc/fstab && return
54 done 55 done
55 56
56 [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name" 57 [ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name"
57 58
58 MOUNT="$MOUNT -o silent" 59 MOUNT="$MOUNT -o silent"
59 60
@@ -70,12 +71,12 @@ automount_systemd() {
70 ;; 71 ;;
71 esac 72 esac
72 73
73 if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name" 74 if ! $MOUNT --no-block -t auto $DEVNAME "$MOUNT_BASE/$name"
74 then 75 then
75 #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" 76 #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!"
76 rm_dir "/run/media/$name" 77 rm_dir "$MOUNT_BASE/$name"
77 else 78 else
78 logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" 79 logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful"
79 touch "/tmp/.automount-$name" 80 touch "/tmp/.automount-$name"
80 fi 81 fi
81} 82}
@@ -93,7 +94,7 @@ automount() {
93 # configured in fstab 94 # configured in fstab
94 grep -q "^$DEVNAME " /proc/mounts && return 95 grep -q "^$DEVNAME " /proc/mounts && return
95 96
96 ! test -d "/run/media/$name" && mkdir -p "/run/media/$name" 97 ! test -d "$MOUNT_BASE/$name" && mkdir -p "$MOUNT_BASE/$name"
97 # Silent util-linux's version of mounting auto 98 # Silent util-linux's version of mounting auto
98 if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ; 99 if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
99 then 100 then
@@ -113,12 +114,12 @@ automount() {
113 ;; 114 ;;
114 esac 115 esac
115 116
116 if ! $MOUNT -t auto $DEVNAME "/run/media/$name" 117 if ! $MOUNT -t auto $DEVNAME "$MOUNT_BASE/$name"
117 then 118 then
118 #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!" 119 #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!"
119 rm_dir "/run/media/$name" 120 rm_dir "$MOUNT_BASE/$name"
120 else 121 else
121 logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful" 122 logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful"
122 touch "/tmp/.automount-$name" 123 touch "/tmp/.automount-$name"
123 fi 124 fi
124} 125}
@@ -157,5 +158,5 @@ if [ "$ACTION" = "remove" ] || [ "$ACTION" = "change" ] && [ -x "$UMOUNT" ] && [
157 158
158 # Remove empty directories from auto-mounter 159 # Remove empty directories from auto-mounter
159 name="`basename "$DEVNAME"`" 160 name="`basename "$DEVNAME"`"
160 test -e "/tmp/.automount-$name" && rm_dir "/run/media/$name" 161 test -e "/tmp/.automount-$name" && rm_dir "$MOUNT_BASE/$name"
161fi 162fi