[oe-commits] Bruno Bottazzini : mkefidisk: Create interactive menu for the script
git at git.openembedded.org
git at git.openembedded.org
Wed Sep 9 21:58:28 UTC 2015
Module: openembedded-core.git
Branch: master-next
Commit: 08509a6e5453065778dba27abdaf6427994f4b0e
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=08509a6e5453065778dba27abdaf6427994f4b0e
Author: Bruno Bottazzini <bruno.bottazzini at intel.com>
Date: Tue Sep 8 18:45:21 2015 -0300
mkefidisk: Create interactive menu for the script
If it is passed only the image parameter, it will show some interactive
options to help to conclude the script.
With this patch it will detect devices available in the machine, asking
to choose what it is wanted to be flashed.
it will suggest the target device. If it is a SD card the suggestion
is /dev/mmcblk0. If it is a pendrive it will suggest to use /dev/sda.
Signed-off-by: Bruno Bottazzini <bruno.bottazzini at intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
scripts/contrib/mkefidisk.sh | 63 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 58 insertions(+), 5 deletions(-)
diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh
index 55f72b0..f3ae377 100755
--- a/scripts/contrib/mkefidisk.sh
+++ b/scripts/contrib/mkefidisk.sh
@@ -152,8 +152,55 @@ unmount() {
# Parse and validate arguments
#
if [ $# -lt 3 ] || [ $# -gt 4 ]; then
- usage
- exit 1
+ if [ $# -eq 1 ]; then
+ AVAILABLE_DISK=`lsblk | grep "disk" | cut -f 1 -d " "`
+ X=0
+ for disk in `echo $AVAILABLE_DISK`; do
+ mounted=`blkid -o list | grep "/dev/$disk" | grep "not mounted"`
+ if [ -n "$mounted" ]; then
+ UNMOUNTED_AVAILABLES="$UNMOUNTED_AVAILABLES /dev/$disk"
+ info "$X - /dev/$disk"
+ X=`expr $X + 1`
+ fi
+ done
+ if [ $X -eq 0 ]; then
+ die "No unmounted device found."
+ fi
+ read -p "Choose unmounted device number: " DISK_NUMBER
+ X=0
+ for line in `echo $UNMOUNTED_AVAILABLES`; do
+ if [ $DISK_NUMBER -eq $X ]; then
+ DISK_TO_BE_FLASHED=$line
+ break
+ else
+ X=`expr $X + 1`
+ fi
+ done
+ if [ -z "$DISK_TO_BE_FLASHED" ]; then
+ die "Option \"$DISK_NUMBER\" is invalid. Choose a valid option"
+ else
+ if [ -z `echo $DISK_TO_BE_FLASHED | grep "mmc"` ]; then
+ TARGET_TO_BE_BOOT="/dev/sda"
+ else
+ TARGET_TO_BE_BOOT="/dev/mmcblk0"
+ fi
+ fi
+ echo ""
+ echo "Choose a name of the device that will be boot from"
+ echo -n "Recommended name is: "
+ info "$TARGET_TO_BE_BOOT"
+ read -p "Is target device okay? [y/N]: " RESPONSE
+ if [ "$RESPONSE" != "y" ]; then
+ read -p "Choose target device name: " TARGET_TO_BE_BOOT
+ fi
+ echo ""
+ if [ -z "$TARGET_TO_BE_BOOT" ]; then
+ die "Error: choose a valid target name"
+ fi
+ else
+ usage
+ exit 1
+ fi
fi
if [ "$1" = "-v" ]; then
@@ -162,9 +209,15 @@ if [ "$1" = "-v" ]; then
shift
fi
-DEVICE=$1
-HDDIMG=$2
-TARGET_DEVICE=$3
+if [ -z "$AVAILABLE_DISK" ]; then
+ DEVICE=$1
+ HDDIMG=$2
+ TARGET_DEVICE=$3
+else
+ DEVICE=$DISK_TO_BE_FLASHED
+ HDDIMG=$1
+ TARGET_DEVICE=$TARGET_TO_BE_BOOT
+fi
LINK=$(readlink $DEVICE)
if [ $? -eq 0 ]; then
More information about the Openembedded-commits
mailing list