Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] A few minor usability fixes for mkefidisk.sh
@ 2015-04-21 13:01 Paul Eggleton
  2015-04-21 13:01 ` [PATCH 1/3] mkefidisk.sh: use script mode when running parted Paul Eggleton
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Paul Eggleton @ 2015-04-21 13:01 UTC (permalink / raw)
  To: openembedded-core; +Cc: Darren Hart

The following changes since commit 166f2587468ae71988c610858aad3f7ef67eccba:

  bison: don't depend on help2man (2015-04-21 11:29:30 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/mkefidisk
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/mkefidisk

Paul Eggleton (3):
  mkefidisk.sh: use script mode when running parted
  mkefidisk.sh: fix hanging on non-writeable device
  mkefidisk.sh: be more explicit with device error

 scripts/contrib/mkefidisk.sh | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

-- 
2.1.0



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

* [PATCH 1/3] mkefidisk.sh: use script mode when running parted
  2015-04-21 13:01 [PATCH 0/3] A few minor usability fixes for mkefidisk.sh Paul Eggleton
@ 2015-04-21 13:01 ` Paul Eggleton
  2015-04-21 13:01 ` [PATCH 2/3] mkefidisk.sh: fix hanging on non-writeable device Paul Eggleton
  2015-04-21 13:01 ` [PATCH 3/3] mkefidisk.sh: be more explicit with device error Paul Eggleton
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Eggleton @ 2015-04-21 13:01 UTC (permalink / raw)
  To: openembedded-core; +Cc: Darren Hart

This avoids parted showing prompts and thus effectively hanging the
script in in the case of initially malformed disks.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/contrib/mkefidisk.sh | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh
index b96b7d4..74cf40d 100755
--- a/scripts/contrib/mkefidisk.sh
+++ b/scripts/contrib/mkefidisk.sh
@@ -218,11 +218,11 @@ mkdir $BOOTFS_MNT || die "Failed to create $BOOTFS_MNT"
 #
 # Partition $DEVICE
 #
-DEVICE_SIZE=$(parted $DEVICE unit mb print | grep ^Disk | cut -d" " -f 3 | sed -e "s/MB//")
+DEVICE_SIZE=$(parted -s $DEVICE unit mb print | grep ^Disk | cut -d" " -f 3 | sed -e "s/MB//")
 # If the device size is not reported there may not be a valid label
 if [ "$DEVICE_SIZE" = "" ] ; then
-	parted $DEVICE mklabel msdos || die "Failed to create MSDOS partition table"
-	DEVICE_SIZE=$(parted $DEVICE unit mb print | grep ^Disk | cut -d" " -f 3 | sed -e "s/MB//")
+	parted -s $DEVICE mklabel msdos || die "Failed to create MSDOS partition table"
+	DEVICE_SIZE=$(parted -s $DEVICE unit mb print | grep ^Disk | cut -d" " -f 3 | sed -e "s/MB//")
 fi
 SWAP_SIZE=$((DEVICE_SIZE*SWAP_RATIO/100))
 ROOTFS_SIZE=$((DEVICE_SIZE-BOOT_SIZE-SWAP_SIZE))
@@ -262,22 +262,22 @@ debug "Deleting partition table on $DEVICE"
 dd if=/dev/zero of=$DEVICE bs=512 count=2 >$OUT 2>&1 || die "Failed to zero beginning of $DEVICE"
 
 debug "Creating new partition table (MSDOS) on $DEVICE"
-parted $DEVICE mklabel msdos >$OUT 2>&1 || die "Failed to create MSDOS partition table"
+parted -s $DEVICE mklabel msdos >$OUT 2>&1 || die "Failed to create MSDOS partition table"
 
 debug "Creating boot partition on $BOOTFS"
-parted $DEVICE mkpart primary 0% $BOOT_SIZE >$OUT 2>&1 || die "Failed to create BOOT partition"
+parted -s $DEVICE mkpart primary 0% $BOOT_SIZE >$OUT 2>&1 || die "Failed to create BOOT partition"
 
 debug "Enabling boot flag on $BOOTFS"
-parted $DEVICE set 1 boot on >$OUT 2>&1 || die "Failed to enable boot flag"
+parted -s $DEVICE set 1 boot on >$OUT 2>&1 || die "Failed to enable boot flag"
 
 debug "Creating ROOTFS partition on $ROOTFS"
-parted $DEVICE mkpart primary $ROOTFS_START $ROOTFS_END >$OUT 2>&1 || die "Failed to create ROOTFS partition"
+parted -s $DEVICE mkpart primary $ROOTFS_START $ROOTFS_END >$OUT 2>&1 || die "Failed to create ROOTFS partition"
 
 debug "Creating swap partition on $SWAP"
-parted $DEVICE mkpart primary $SWAP_START 100% >$OUT 2>&1 || die "Failed to create SWAP partition"
+parted -s $DEVICE mkpart primary $SWAP_START 100% >$OUT 2>&1 || die "Failed to create SWAP partition"
 
 if [ $DEBUG -eq 1 ]; then
-	parted $DEVICE print
+	parted -s $DEVICE print
 fi
 
 
-- 
2.1.0



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

* [PATCH 2/3] mkefidisk.sh: fix hanging on non-writeable device
  2015-04-21 13:01 [PATCH 0/3] A few minor usability fixes for mkefidisk.sh Paul Eggleton
  2015-04-21 13:01 ` [PATCH 1/3] mkefidisk.sh: use script mode when running parted Paul Eggleton
@ 2015-04-21 13:01 ` Paul Eggleton
  2015-04-21 13:01 ` [PATCH 3/3] mkefidisk.sh: be more explicit with device error Paul Eggleton
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Eggleton @ 2015-04-21 13:01 UTC (permalink / raw)
  To: openembedded-core; +Cc: Darren Hart

If cleanup() is called early on, as happens when the device isn't
writeable, then none of the mount point variables are set; thus the
script was calling grep with only one argument and appeared to hang
since it was waiting for input on stdin.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/contrib/mkefidisk.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh
index 74cf40d..d6bc965 100755
--- a/scripts/contrib/mkefidisk.sh
+++ b/scripts/contrib/mkefidisk.sh
@@ -136,6 +136,9 @@ unmount_device() {
 }
 
 unmount() {
+	if [ "$1" = "" ] ; then
+		return 0
+	fi
 	grep -q $1 /proc/mounts
 	if [ $? -eq 0 ]; then
 		debug "Unmounting $1"
-- 
2.1.0



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

* [PATCH 3/3] mkefidisk.sh: be more explicit with device error
  2015-04-21 13:01 [PATCH 0/3] A few minor usability fixes for mkefidisk.sh Paul Eggleton
  2015-04-21 13:01 ` [PATCH 1/3] mkefidisk.sh: use script mode when running parted Paul Eggleton
  2015-04-21 13:01 ` [PATCH 2/3] mkefidisk.sh: fix hanging on non-writeable device Paul Eggleton
@ 2015-04-21 13:01 ` Paul Eggleton
  2 siblings, 0 replies; 4+ messages in thread
From: Paul Eggleton @ 2015-04-21 13:01 UTC (permalink / raw)
  To: openembedded-core; +Cc: Darren Hart

* Specify whether the device can't be found or can't be written to
* Give a hint to use sudo

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/contrib/mkefidisk.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh
index d6bc965..55f72b0 100755
--- a/scripts/contrib/mkefidisk.sh
+++ b/scripts/contrib/mkefidisk.sh
@@ -173,7 +173,11 @@ fi
 
 if [ ! -w "$DEVICE" ]; then
 	usage
-	die "Device $DEVICE does not exist or is not writable"
+	if [ ! -e "${DEVICE}" ] ; then
+		die "Device $DEVICE cannot be found"
+	else
+		die "Device $DEVICE is not writable (need to run under sudo?)"
+	fi
 fi
 
 if [ ! -e "$HDDIMG" ]; then
-- 
2.1.0



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

end of thread, other threads:[~2015-04-21 13:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-21 13:01 [PATCH 0/3] A few minor usability fixes for mkefidisk.sh Paul Eggleton
2015-04-21 13:01 ` [PATCH 1/3] mkefidisk.sh: use script mode when running parted Paul Eggleton
2015-04-21 13:01 ` [PATCH 2/3] mkefidisk.sh: fix hanging on non-writeable device Paul Eggleton
2015-04-21 13:01 ` [PATCH 3/3] mkefidisk.sh: be more explicit with device error Paul Eggleton

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