Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] mdev: Add auto-mounting support for USB and SD card
@ 2011-08-27  4:26 Jean-Christophe PLAGNIOL-VILLARD
  2011-08-27 13:13 ` Gustavo Zacarias
  0 siblings, 1 reply; 3+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-08-27  4:26 UTC (permalink / raw)
  To: buildroot

this will mount the device in /media as
/media/${MDEV}

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
 fs/skeleton/etc/fstab        |    1 +
 package/busybox/automount.sh |   33 +++++++++++++++++++++++++++++++++
 package/busybox/busybox.mk   |    3 +++
 package/busybox/mdev.conf    |    4 ++++
 4 files changed, 41 insertions(+), 0 deletions(-)
 create mode 100644 fs/skeleton/media/.empty
 create mode 100644 package/busybox/automount.sh

diff --git a/fs/skeleton/etc/fstab b/fs/skeleton/etc/fstab
index a2f56ff..821287a 100644
--- a/fs/skeleton/etc/fstab
+++ b/fs/skeleton/etc/fstab
@@ -6,4 +6,5 @@ proc		/proc	       proc     defaults	  0	 0
 devpts		/dev/pts       devpts   defaults,gid=5,mode=620	  0	 0
 tmpfs           /dev/shm       tmpfs    mode=0777         0      0
 tmpfs           /tmp           tmpfs    defaults          0      0
+tmpfs           /media         tmpfs    defaults          0      0
 sysfs		/sys	       sysfs    defaults	  0	 0
diff --git a/fs/skeleton/media/.empty b/fs/skeleton/media/.empty
new file mode 100644
index 0000000..e69de29
diff --git a/package/busybox/automount.sh b/package/busybox/automount.sh
new file mode 100644
index 0000000..adaa37c
--- /dev/null
+++ b/package/busybox/automount.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+destdir=/media
+
+eumount()
+{
+	if grep -qs "^/dev/$1 " /proc/mounts ; then
+		umount "${destdir}/$1";
+	fi
+
+	[ -d "${destdir}/$1" ] && rmdir "${destdir}/$1"
+}
+
+emount()
+{
+	mkdir -p "${destdir}/$1" || exit 1
+
+	if ! mount -t auto -o sync "/dev/$1" "${destdir}/$1"; then
+		# failed to mount, clean up mountpoint
+		rmdir "${destdir}/$1"
+		exit 1
+	fi
+}
+
+case "${ACTION}" in
+add|"")
+	eumount ${MDEV}
+	emount ${MDEV}
+	;;
+remove)
+	eumount ${MDEV}
+	;;
+esac
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 1782a73..f0d61f3 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -37,6 +37,9 @@ define BUSYBOX_INSTALL_MDEV_CONF
 	[ -f $(TARGET_DIR)/etc/mdev.conf ] || \
 		install -D -m 0644 package/busybox/mdev.conf \
 			$(TARGET_DIR)/etc/mdev.conf
+	[ -f $(TARGET_DIR)/etc/automount.sh ] || \
+		install -D -m 0644 package/busybox/automount.sh \
+			$(TARGET_DIR)/lib/mdev/automount.sh
 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
index 247c0ed..298249c 100644
--- a/package/busybox/mdev.conf
+++ b/package/busybox/mdev.conf
@@ -33,3 +33,7 @@ event[0-9]+	root:root 640 =input/
 mice		root:root 640 =input/
 mouse[0-9]	root:root 640 =input/
 ts[0-9]		root:root 600 =input/
+
+# block devices
+sd[a-z][0-9]*		root:root 0660 */lib/mdev/automount.sh
+mmcblk[0-9]p[0-9]	root:root 0660 */lib/mdev/automount.sh
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-08-28  8:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-27  4:26 [Buildroot] [PATCH] mdev: Add auto-mounting support for USB and SD card Jean-Christophe PLAGNIOL-VILLARD
2011-08-27 13:13 ` Gustavo Zacarias
2011-08-28  8:45   ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox