Bug 3811

Summary: Added auto-mount for USB and SD Card (mdev) (for 2011.05)
Product: buildroot Reporter: Tobi <tkazmierczak>
Component: OtherAssignee: unassigned
Status: RESOLVED WONTFIX    
Severity: enhancement CC: buildroot
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Host: Target:
Build:

Description Tobi 2011-06-01 13:28:36 UTC
Works great for me :)

diff --git a/package/busybox/S10mdev b/package/busybox/S10mdev
index d2643d0..47c46f5 100644
--- a/package/busybox/S10mdev
+++ b/package/busybox/S10mdev
@@ -6,6 +6,7 @@
 case "$1" in
   start)
 	echo "Starting mdev..."
+	/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
 	/sbin/mdev -s
 	;;
   stop)
diff --git a/package/busybox/automount.sh b/package/busybox/automount.sh
new file mode 100755
index 0000000..5ae2b97
--- /dev/null
+++ b/package/busybox/automount.sh
@@ -0,0 +1,34 @@
+#! /bin/sh
+
+if [ "$1" == "" ]; then
+        exit 1
+fi
+
+mounted=`mount | grep $1 | wc -l`
+
+# mounted, assume we umount
+if [ $mounted -ge 1 ]; then
+        if ! umount "/dev/$1"; then
+                exit 1
+        fi
+
+        if ! rmdir "/media/$1"; then
+                exit 1
+        fi
+# not mounted, lets mount under /media
+else
+        if ! mkdir -p "/media/$1"; then
+                exit 1
+        fi
+
+        if ! mount -o sync "/dev/$1" "/media/$1"; then
+                # failed to mount, clean up mountpoint
+                if ! rmdir "/media/$1"; then
+                        exit 1
+                fi
+                exit 1
+        fi
+fi
+
+exit 0
+
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 711d11b..bbe5c39 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -32,6 +32,8 @@ endif
 ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)
 define BUSYBOX_INSTALL_MDEV_SCRIPT
 	install -m 0755 package/busybox/S10mdev $(TARGET_DIR)/etc/init.d
+	install -m 0755 package/busybox/mdev.conf $(TARGET_DIR)/etc
+	install -m 0755 package/busybox/automount.sh $(TARGET_DIR)/sbin
 endef
 define BUSYBOX_SET_MDEV
 	$(call KCONFIG_ENABLE_OPT,CONFIG_MDEV,$(BUSYBOX_BUILD_CONFIG))
diff --git a/package/busybox/mdev.conf b/package/busybox/mdev.conf
new file mode 100644
index 0000000..08d915c
--- /dev/null
+++ b/package/busybox/mdev.conf
@@ -0,0 +1,2 @@
+sd[a-z][0-9]* 0:0 0660 *(/sbin/automount.sh $MDEV)
+mmcblk[0-9]p[0-9] 0:0 0660 *(/sbin/automount.sh $MDEV)
Comment 1 Thomas De Schampheleire 2014-02-08 20:53:25 UTC
In my opinion, this script/proposal is very project-specific and does not need to be part of mainline buildroot. What is the opinion of other buildroot developers?

If you agree, I would propose to close this bug as Resolved/Wontfix.
Comment 2 Thomas De Schampheleire 2014-02-10 17:56:42 UTC
Other buildroot developers agree that this patch is very project specific and should not be applied to mainline buildroot.

Please consider using a post-build script or rootfs overlay to achieve the same effect. See the buildroot manual for more information:
http://buildroot.uclibc.org/downloads/manual/manual.html#_customization