summaryrefslogtreecommitdiff
path: root/scripts/runqemu
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/runqemu')
-rwxr-xr-xscripts/runqemu35
1 files changed, 15 insertions, 20 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 364fa1cb14..0f943b5fec 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]"