poky-qemu: fix for handling full path to rootfs
authorScott Garman <scott.a.garman@intel.com>
Mon, 11 Oct 2010 20:12:51 +0000 (13:12 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 11 Oct 2010 21:24:23 +0000 (22:24 +0100)
This fixes [BUGID #427]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
scripts/poky-qemu

index 4ce9e31..66e7a29 100755 (executable)
@@ -74,8 +74,12 @@ while [ $i -le $# ]; do
             ;;
         *-image-*)
             if [ -z "$ROOTFS" ]; then
-                ROOTFS=$arg
-                LAZY_ROOTFS="true"
+                if [ -e "$arg" ]; then
+                    ROOTFS=$arg
+                else
+                    ROOTFS=$arg
+                    LAZY_ROOTFS="true"
+                fi
             else
                 echo "Error: conflicting ROOTFS args [$ROOTFS] and [$arg]"
                 usage
@@ -159,6 +163,19 @@ fi
 machine2=`echo $MACHINE | tr 'a-z' 'A-Z' | sed 's/-/_/'`
 # MACHINE is now set for all cases
 
+if [[ -e "$ROOTFS" && -z "$FSTYPE" ]]; then
+    # Extract the filename extension
+    EXT=`echo $ROOTFS | awk -F . '{ print \$NF }'`
+    if [[ "x$EXT" == "xext2" || "x$EXT" == "xext3" || 
+          "x$EXT" == "xjffs2" ]]; then
+        FSTYPE=$EXT
+    else
+        echo "Note: Unable to determine filesystem extension for $ROOTFS"
+        echo "We will use the default FSTYPE for $MACHINE"
+        # ...which is done further below...
+    fi
+fi
+
 # Defaults used when these vars need to be inferred
 QEMUX86_DEFAULT_KERNEL=bzImage-qemux86.bin
 QEMUX86_DEFAULT_FSTYPE=ext3