mount.sh: automount cdrom device even if no ID_FS_TYPE available
authorChen Qi <Qi.Chen@windriver.com>
Tue, 10 Sep 2013 13:27:55 +0000 (21:27 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 10 Sep 2013 21:58:33 +0000 (22:58 +0100)
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]

(From OE-Core rev: 2df21a3b27543df912a3ce05bef2415fae13cb7c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/udev/udev-extraconf/mount.sh

index 327cfc6..cb57e47 100644 (file)
@@ -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