Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH V3] mkefidisk: Create interactive menu for the script
@ 2015-09-08 21:45 Bruno Bottazzini
  2015-09-08 21:45 ` [PATCH] " Bruno Bottazzini
  2015-09-09 21:37 ` [PATCH V3] " Saul Wold
  0 siblings, 2 replies; 3+ messages in thread
From: Bruno Bottazzini @ 2015-09-08 21:45 UTC (permalink / raw)
  To: openembedded-core

Differences from v2:
- Removing unecessary \n as Saul Wold has suggested.

Differences from v1:
- Now it will show only unmounted devices as Saul Wold has suggested
- Commit message changed as Saul Wold has suggested

Bruno Bottazzini (1):
  mkefidisk: Create interactive menu for the script

 scripts/contrib/mkefidisk.sh | 63 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 58 insertions(+), 5 deletions(-)

-- 
2.5.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] mkefidisk: Create interactive menu for the script
  2015-09-08 21:45 [PATCH V3] mkefidisk: Create interactive menu for the script Bruno Bottazzini
@ 2015-09-08 21:45 ` Bruno Bottazzini
  2015-09-09 21:37 ` [PATCH V3] " Saul Wold
  1 sibling, 0 replies; 3+ messages in thread
From: Bruno Bottazzini @ 2015-09-08 21:45 UTC (permalink / raw)
  To: openembedded-core

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@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
-- 
2.5.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V3] mkefidisk: Create interactive menu for the script
  2015-09-08 21:45 [PATCH V3] mkefidisk: Create interactive menu for the script Bruno Bottazzini
  2015-09-08 21:45 ` [PATCH] " Bruno Bottazzini
@ 2015-09-09 21:37 ` Saul Wold
  1 sibling, 0 replies; 3+ messages in thread
From: Saul Wold @ 2015-09-09 21:37 UTC (permalink / raw)
  To: Bruno Bottazzini, openembedded-core

On 09/08/2015 02:45 PM, Bruno Bottazzini wrote:
> Differences from v2:
> - Removing unecessary \n as Saul Wold has suggested.
>
> Differences from v1:
> - Now it will show only unmounted devices as Saul Wold has suggested
> - Commit message changed as Saul Wold has suggested
>
> Bruno Bottazzini (1):
>    mkefidisk: Create interactive menu for the script
>
>   scripts/contrib/mkefidisk.sh | 63 ++++++++++++++++++++++++++++++++++++++++----
>   1 file changed, 58 insertions(+), 5 deletions(-)
>
I think this still does not address my concern about showing disks that 
are currently mounted and allows for easier overwriting of root or other 
disks.

Sau!



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-09 21:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-08 21:45 [PATCH V3] mkefidisk: Create interactive menu for the script Bruno Bottazzini
2015-09-08 21:45 ` [PATCH] " Bruno Bottazzini
2015-09-09 21:37 ` [PATCH V3] " Saul Wold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox