summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2011-09-09 02:59:27 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-09 18:42:05 +0100
commit9c740e042500545b09b1079be4978498d7c32a0f (patch)
treece834163471bc04da15cb9049af6a58ed046f4a1 /scripts
parentc505815742328a5bfe4bd3d3eff5e671c1be222c (diff)
downloadast2050-yocto-poky-9c740e042500545b09b1079be4978498d7c32a0f.zip
ast2050-yocto-poky-9c740e042500545b09b1079be4978498d7c32a0f.tar.gz
runqemu: improve auto-detection of rootfs filenames
This refactors the way rootfs filenames are auto-detected when you run the runqemu script without an explicit rootfs filename argument. It allows the script to use rootfs files generated by hob, and when there are mutliple rootfs files to choose from, it will pick the most recently created one. Fixes [YOCTO #1437]. (From OE-Core rev: 094453f443ed592d814dfb4182a0a02f0a2552e4) Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu35
1 files changed, 15 insertions, 20 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 364fa1c..0f943b5 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -239,31 +239,24 @@ machine2=`echo $MACHINE | tr 'a-z' 'A-Z' | sed 's/-/_/'`
# Defaults used when these vars need to be inferred
QEMUX86_DEFAULT_KERNEL=bzImage-qemux86.bin
QEMUX86_DEFAULT_FSTYPE=ext3
-QEMUX86_DEFAULT_ROOTFS="core-image-sato-sdk core-image-sato core-image-lsb core-image-basic core-image-minimal"
QEMUX86_64_DEFAULT_KERNEL=bzImage-qemux86-64.bin
QEMUX86_64_DEFAULT_FSTYPE=ext3
-QEMUX86_64_DEFAULT_ROOTFS="core-image-sato-sdk core-image-sato core-image-lsb core-image-basic core-image-minimal"
QEMUARM_DEFAULT_KERNEL=zImage-qemuarm.bin
QEMUARM_DEFAULT_FSTYPE=ext3
-QEMUARM_DEFAULT_ROOTFS="core-image-sato-sdk core-image-sato core-image-lsb core-image-basic core-image-minimal"
QEMUMIPS_DEFAULT_KERNEL=vmlinux-qemumips.bin
QEMUMIPS_DEFAULT_FSTYPE=ext3
-QEMUMIPS_DEFAULT_ROOTFS="core-image-sato-sdk core-image-sato core-image-lsb core-image-basic core-image-minimal"
QEMUPPC_DEFAULT_KERNEL=zImage-qemuppc.bin
QEMUPPC_DEFAULT_FSTYPE=ext3
-QEMUPPC_DEFAULT_ROOTFS="core-image-sato-sdk core-image-sato core-image-lsb core-image-basic core-image-minimal"
AKITA_DEFAULT_KERNEL=zImage-akita.bin
AKITA_DEFAULT_FSTYPE=jffs2
-AKITA_DEFAULT_ROOTFS="core-image-sato"
SPITZ_DEFAULT_KERNEL=zImage-spitz.bin
SPITZ_DEFAULT_FSTYPE=ext3
-SPITZ_DEFAULT_ROOTFS="core-image-sato"
setup_tmpdir() {
if [ -z "$TMPDIR" ]; then
@@ -300,26 +293,28 @@ setup_sysroot() {
fi
}
-# Locate a rootfs image based on defaults defined above
+# Locate a rootfs image to boot which matches our expected
+# machine and fstype.
findimage() {
where=$1
machine=$2
extension=$3
- names=$4
- for name in $names; do
- fullname=$where/$name-$machine.$extension
- if [ -e "$fullname" ]; then
- ROOTFS=$fullname
+ # Sort rootfs candidates by modification time - the most
+ # recently created one is the one we most likely want to boot.
+ filenames=`ls -t $where/*core-image*$machine.$extension 2>/dev/null | xargs`
+ for name in $filenames; do
+ if [[ "$name" =~ core-image-sato-sdk ||
+ "$name" =~ core-image-sato ||
+ "$name" =~ core-image-lsb ||
+ "$name" =~ core-image-basic ||
+ "$name" =~ core-image-minimal ]]; then
+ ROOTFS=$name
return
- fi
- done
-
- echo "Couldn't find image in $where. Attempted image names were:"
- for name in $names; do
- echo $name-$machine.$extension
+ fi
done
+ echo "Couldn't find a $machine rootfs image in $where."
exit 1
}
@@ -376,7 +371,7 @@ if [ -z "$ROOTFS" ]; then
setup_tmpdir
T=$TMPDIR/deploy/images
eval rootfs_list=\$${machine2}_DEFAULT_ROOTFS
- findimage $T $MACHINE $FSTYPE "$rootfs_list"
+ findimage $T $MACHINE $FSTYPE
if [ -z "$ROOTFS" ]; then
echo "Error: Unable to determine default rootfs for MACHINE [$MACHINE]"
OpenPOWER on IntegriCloud