Patchwork [1/1] mount.sh: automount cdrom device even if no ID_FS_TYPE available

login
register
mail settings
Submitter Qi.Chen@windriver.com
Date Sept. 10, 2013, 1:27 p.m.
Message ID <e15dc0911656d4fe44025e71ed3b6763841b05db.1378819627.git.Qi.Chen@windriver.com>
Download mbox | patch
Permalink /patch/57757/
State Accepted
Commit 2df21a3b27543df912a3ce05bef2415fae13cb7c
Headers show

Comments

Qi.Chen@windriver.com - Sept. 10, 2013, 1:27 p.m.
From: Chen Qi <Qi.Chen@windriver.com>

This script was modified to check whether $ID_FS_TYPE is empty before
automount, however, for cdrom devices on qemu, the ID_FS_TYPE is not
set, yet the device should be mounted. Otherwise, when booting an iso
image with runqemu, the boot process hangs at 'waiting for removable
media'.

This patch fixes this problem by first checking whether the block device
is a cdrom.

[YOCTO #4487]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/recipes-core/udev/udev-extraconf/mount.sh |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Patch

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 327cfc6..cb57e47 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -58,7 +58,11 @@  rm_dir() {
 	fi
 }
 
-if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" ]; then
+# No ID_FS_TYPE for cdrom device, yet it should be mounted
+name="`basename "$DEVNAME"`"
+[ -e /sys/block/$name/device/media ] && media_type=`cat /sys/block/$name/device/media`
+
+if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" -o "$media_type" = "cdrom" ]; then
 	if [ -x "$PMOUNT" ]; then
 		$PMOUNT $DEVNAME 2> /dev/null
 	elif [ -x $MOUNT ]; then