runqemu: avoid image file name mismatches

Giving anything with -image in it as bootparams or in qemuparams (for
example, an additional -drive parameter with an image file or an
"-initrd .../core-image-minimal-initramfs-qemux86.cpio.gz") caused
runqemu to treat these parameters as names of the rootfs image file.

Matching *-image) after checking the current argument for more
specific cases like bootparams and qemuparams avoids this
misinterpretation of the command line parameters.

(From OE-Core rev: 29e0aaa7345ca823bb4af2d4a870e98ac75e04e7)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Patrick Ohly 2015-09-09 17:12:05 +02:00 committed by Richard Purdie
parent c2165c9741
commit 2a05181d98
1 changed files with 16 additions and 16 deletions

View File

@ -118,22 +118,6 @@ while true; do
[ -z "$FSTYPE" -o "$FSTYPE" = "$arg" ] && FSTYPE=$arg || \
error "conflicting FSTYPE types [$FSTYPE] and [$arg]"
;;
*-image*)
[ -z "$ROOTFS" ] || \
error "conflicting ROOTFS args [$ROOTFS] and [$arg]"
if [ -f "$arg" ]; then
process_filename $arg
elif [ -d "$arg" ]; then
# Handle the case where the nfsroot dir has -image-
# in the pathname
echo "Assuming $arg is an nfs rootfs"
FSTYPE=nfs
ROOTFS=$arg
else
ROOTFS=$arg
LAZY_ROOTFS="true"
fi
;;
"ramfs")
FSTYPE=cpio.gz
RAMFS=true
@ -192,6 +176,22 @@ while true; do
"publicvnc")
SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -vnc 0.0.0.0:0"
;;
*-image*)
[ -z "$ROOTFS" ] || \
error "conflicting ROOTFS args [$ROOTFS] and [$arg]"
if [ -f "$arg" ]; then
process_filename $arg
elif [ -d "$arg" ]; then
# Handle the case where the nfsroot dir has -image-
# in the pathname
echo "Assuming $arg is an nfs rootfs"
FSTYPE=nfs
ROOTFS=$arg
else
ROOTFS=$arg
LAZY_ROOTFS="true"
fi
;;
"") break ;;
*)
# A directory name is an nfs rootfs