diff options
Diffstat (limited to 'packages/altboot/files/altboot.func')
-rw-r--r-- | packages/altboot/files/altboot.func | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/packages/altboot/files/altboot.func b/packages/altboot/files/altboot.func index c6af50a008..4389ff4ff8 100644 --- a/packages/altboot/files/altboot.func +++ b/packages/altboot/files/altboot.func @@ -1,6 +1,7 @@ #! /bin/sh # This function checks for the presence of a real filesystem and loop-images on the target # $1 = folder of rootfs, $2 = runlevel (defaults to 5) +# $2 = name of calling module check_target() { # Check if there is a /sbin/init or /sbin/init.sysvinit on the card if test -x $1/sbin/init -o -x $1/$REAL_INIT @@ -31,11 +32,24 @@ check_target() { while test -z "$ans" do echo -n "Your choice: " - read junk < /dev/tty1 + + if test "$AUTOBOOT" != "yes" + then + read junk < /dev/tty1 + else + if test -e /etc/.altboot-$2-real-or-loop.last + then + junk="`cat /etc/.altboot-$2-real-or-loop.last`" + test -z "$junk" && read junk < /dev/tty1 || echo "$junk (autoboot)" + else + read junk < /dev/tty1 + fi + fi if test "$junk" = 1 -o "$junk" = 2 then ans="$junk" + echo "$junk" > /etc/.altboot-$2-real-or-loop.last fi done @@ -62,7 +76,7 @@ check_target() { # This function pivot_root's into a real filesystem calling $newrootfs/sbin/init # $1 = The new rootfs pivot_realfs() { - test -z "$2" && RL="5" || RL="$2" + #test -z "$2" && RL="5" || RL="$2" mkdir -p $1/media/ROM || die "mkdir -p $1/media/ROM failed" mount -o remount,ro / >/dev/null 2>&1 @@ -73,7 +87,7 @@ pivot_realfs() { # This function loop-mounts an image-file and pivot_root's into it # $1: The new rootfs pivot_image() { - test -z "$2" && RL="5" || RL="$2" + #test -z "$2" && RL="5" || RL="$2" cd $1/$IMAGE_PATH # Check for rootfs images on the card @@ -95,7 +109,18 @@ pivot_image() { while test -z "$IMAGE_NAME" do echo -en "Please choose one of the above: " - read junk < /dev/tty1 + if test "$AUTOBOOT" != "yes" + then + read junk < /dev/tty1 + else + if test -e /etc/.altboot-loopimage.last + then + junk="`cat /etc/.altboot-loopimage.last`" + test -z "$junk" && read junk < /dev/tty1 || echo "$junk (autoboot)" + else + read junk < /dev/tty1 + fi + fi x=0 for file in `ls *rootfs.bin` @@ -103,7 +128,8 @@ pivot_image() { let x=$x+1 if test "$x" = "$junk" then - IMAGE_NAME="$file" + IMAGE_NAME="$file" + echo "$junk" > /etc/.altboot-loopimage.last fi done done |