initrdscripts/init-install*: Select install target instead of looping through

Its not immediately apparent that more than one install target could be
available. With this change we list the available devices up front then
prompt the user for which one to use, reducing confusion.

Fixes [YOCTO #9919].

(From OE-Core rev: e68774f684543fd75250e56ea88a5e0cb0a2dd0a)

Signed-off-by: California Sullivan <california.l.sullivan@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:
California Sullivan 2016-07-12 17:41:58 -07:00 committed by Richard Purdie
parent 8da54b401d
commit 031c2f6ced
2 changed files with 28 additions and 16 deletions

View File

@ -78,17 +78,23 @@ for hdname in $hdnamelist; do
cat /sys/block/$hdname/device/uevent
fi
echo
# Get user choice
while true; do
echo -n "Do you want to install this image there? [y/n] "
read answer
if [ "$answer" = "y" -o "$answer" = "n" ]; then
done
# Get user choice
while true; do
echo "Please select an install target or press n to exit ($hdnamelist ): "
read answer
if [ "$answer" = "n" ]; then
echo "Installation manually aborted."
exit 1
fi
for hdname in $hdnamelist; do
if [ "$answer" = "$hdname" ]; then
TARGET_DEVICE_NAME=$answer
break
fi
echo "Please answer y or n"
done
if [ "$answer" = "y" ]; then
TARGET_DEVICE_NAME=$hdname
if [ -n "$TARGET_DEVICE_NAME" ]; then
break
fi
done

View File

@ -72,17 +72,23 @@ for hdname in $hdnamelist; do
cat /sys/block/$hdname/device/uevent
fi
echo
# Get user choice
while true; do
echo -n "Do you want to install this image there? [y/n] "
read answer
if [ "$answer" = "y" -o "$answer" = "n" ]; then
done
# Get user choice
while true; do
echo "Please select an install target or press n to exit ($hdnamelist ): "
read answer
if [ "$answer" = "n" ]; then
echo "Installation manually aborted."
exit 1
fi
for hdname in $hdnamelist; do
if [ "$answer" = "$hdname" ]; then
TARGET_DEVICE_NAME=$answer
break
fi
echo "Please answer y or n"
done
if [ "$answer" = "y" ]; then
TARGET_DEVICE_NAME=$hdname
if [ -n "$TARGET_DEVICE_NAME" ]; then
break
fi
done