init-live: default to initrd shell if image isn't found
Adds "debugshell" command line parameter for live/install images. If the init live fails to find and mount a root-fs image, dumps to a shell after timeout so that the developer can figure what's wrong. Timeout defaults to 30 seconds, but it can be changed as param argument. Prior art in Ubuntu. Also, leaving a system stale isn't good form. (From OE-Core rev: 6f99e530822ac32f32615590e22a9758ac210e84) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ccc394e7c6
commit
ed5d870c70
|
@ -45,7 +45,13 @@ read_args() {
|
|||
console_params=$arg
|
||||
else
|
||||
console_params="$console_params $arg"
|
||||
fi
|
||||
fi ;;
|
||||
debugshell*)
|
||||
if [ -z "$optarg" ]; then
|
||||
shelltimeout=30
|
||||
else
|
||||
shelltimeout=$optarg
|
||||
fi
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
@ -75,6 +81,7 @@ early_setup
|
|||
read_args
|
||||
|
||||
echo "Waiting for removable media..."
|
||||
C=0
|
||||
while true
|
||||
do
|
||||
for i in `ls /media 2>/dev/null`; do
|
||||
|
@ -90,6 +97,19 @@ do
|
|||
if [ "$found" = "yes" ]; then
|
||||
break;
|
||||
fi
|
||||
# don't wait for more than $shelltimeout seconds, if it's set
|
||||
if [ -n "$shelltimeout" ]; then
|
||||
echo -n " " $(( $shelltimeout - $C ))
|
||||
if [ $C -ge $shelltimeout ]; then
|
||||
echo "..."
|
||||
echo "Mounted filesystems"
|
||||
mount | grep media
|
||||
echo "Available block devices"
|
||||
ls /dev/sd*
|
||||
fatal "Cannot find rootfs.img file in /media/* , dropping to a shell "
|
||||
fi
|
||||
C=$(( C + 1 ))
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
|
|
Loading…
Reference in New Issue