From: California Sullivan Date: Wed, 13 Jul 2016 00:41:58 +0000 (-0700) Subject: initrdscripts/init-install*: Select install target instead of looping through X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~24943 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e68774f684543fd75250e56ea88a5e0cb0a2dd0a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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]. Signed-off-by: California Sullivan Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh index d58826a2409..f564f4e2d6a 100644 --- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh +++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh @@ -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 diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh index c5623eeb267..72ce92b9640 100644 --- a/meta/recipes-core/initrdscripts/files/init-install.sh +++ b/meta/recipes-core/initrdscripts/files/init-install.sh @@ -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