diff options
| -rwxr-xr-x | scripts/contrib/mkefidisk.sh | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh index af06b4bd5b..c86849d395 100755 --- a/scripts/contrib/mkefidisk.sh +++ b/scripts/contrib/mkefidisk.sh @@ -134,6 +134,11 @@ fi  # Partition $DEVICE  #  DEVICE_SIZE=$(parted $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 +	DEVICE_SIZE=$(parted $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))  ROOTFS_START=$((BOOT_SIZE)) @@ -142,7 +147,7 @@ SWAP_START=$((ROOTFS_END))  # MMC devices use a partition prefix character 'p'  PART_PREFIX="" -if [ ! "${DEVICE#/dev/mmcblk}" = "${DEVICE}" ]; then +if [ ! "${DEVICE#/dev/mmcblk}" = "${DEVICE}" ] || [ ! "${DEVICE#/dev/loop}" = "${DEVICE}" ]; then  	PART_PREFIX="p"  fi  BOOTFS=$DEVICE${PART_PREFIX}1 @@ -197,7 +202,12 @@ unmount_device  #  echo ""  echo "Formatting $BOOTFS as vfat..." -mkfs.vfat $BOOTFS -n "efi" +if [ ! "${DEVICE#/dev/loop}" = "${DEVICE}" ]; then +	mkfs.vfat -I $BOOTFS -n "efi" +else +	mkfs.vfat $BOOTFS -n "efi" + +fi  echo "Formatting $ROOTFS as ext3..."  mkfs.ext3 $ROOTFS -L "root" | 
