summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Affonso Xavier de Morais2014-08-28 17:28:51 +0200
committerMichael Pereira Neves2014-10-28 14:14:50 +0100
commita31d00dd550522b829e263477cb2b5d2a481be44 (patch)
treecf5f86ee643bc4288c8203502f55b94359f7b2a3
parent[partitioner] SLX_DELETE_PARTITION_TABLE='no' working for GPT partition table... (diff)
downloadtm-scripts-a31d00dd550522b829e263477cb2b5d2a481be44.tar.gz
tm-scripts-a31d00dd550522b829e263477cb2b5d2a481be44.tar.xz
tm-scripts-a31d00dd550522b829e263477cb2b5d2a481be44.zip
[partitioner] progress bar added on creation of new partitions.
-rwxr-xr-xserver/modules/partitioner/opt/openslx/scripts/partitioner83
1 files changed, 43 insertions, 40 deletions
diff --git a/server/modules/partitioner/opt/openslx/scripts/partitioner b/server/modules/partitioner/opt/openslx/scripts/partitioner
index 8eaf48a7..14f47389 100755
--- a/server/modules/partitioner/opt/openslx/scripts/partitioner
+++ b/server/modules/partitioner/opt/openslx/scripts/partitioner
@@ -93,7 +93,7 @@ for PARTITION in $SLX_PARTITION_TABLE; do
if [ -n $3 ]; then
PARTTBL["$SLX_CHOOSEN_DISK$COUNTER/mountpoint"]=$3
fi
- if [ -n $4 ]; then
+ if [ -n "$4" ]; then
PARTTBL["$SLX_CHOOSEN_DISK$COUNTER/bootable"]=1
else
PARTTBL["$SLX_CHOOSEN_DISK$COUNTER/bootable"]=0
@@ -194,28 +194,24 @@ if [ $SLX_DELETE_PARTITION_TABLE = "yes" ]; then
START=$(($START+1*1024*1024/$SECTORSIZE))
fi
done
- sfdisk -q -f /dev/$SLX_CHOOSEN_DISK < /tmp/partitiontable.tmp > /dev/null
+ sfdisk -q -f /dev/$SLX_CHOOSEN_DISK < /tmp/partitiontable.tmp > /dev/null 2> /dev/null
# rm -f /tmp/partitiontable.tmp
#------
- DIALOGSTR="New partitions created:\n\n"
if [ $SLX_PARTITION_TYPE = 'GPT' ]; then
# create the command (CMD) that will convert the MSDOS type to GPT, change the unique GUIDs and set the bootable flags.
- CMD="sgdisk -g /dev/$SLX_CHOOSEN_DISK"
+ DIALOGSTR="Creating Partitions...\n\n"
+ echo "0" | dialog --gauge "$DIALOGSTR" 0 0 0
+ sgdisk /dev/$SLX_CHOOSEN_DISK -g >/dev/null 2>/dev/null
for (( i = 1; i < $COUNTER; i++ )); do
if [ $i -ne 4 ]; then
+ # dialog --msgbox "$DIALOGSTR" 0 0
if [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" != "82" ] && [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" != "83" ]; then
- CMD=$CMD" -t "$i":"${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}"000000-0000-0000-0000-000000000000"
- CMD=$CMD" -c "$i":\""${PARTTBL["$SLX_CHOOSEN_DISK$i/mountpoint"]}"\""
+ sgdisk /dev/$SLX_CHOOSEN_DISK -t $i:${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}000000-0000-0000-0000-000000000000\
+ sgdisk /dev/$SLX_CHOOSEN_DISK -c $i:\"${PARTTBL["$SLX_CHOOSEN_DISK$i/mountpoint"]}\" >/dev/null 2>/dev/null
fi
if [ ${PARTTBL["$SLX_CHOOSEN_DISK$i/bootable"]} -eq 1 ]; then
- CMD=$CMD" -A "$i":set:2"
+ sgdisk /dev/$SLX_CHOOSEN_DISK -A $i:set:2 >/dev/null 2>/dev/null
fi
- fi
- done
- CMD=$CMD" > /dev/null 2> /dev/null"
- $CMD
- for (( i = 1; i < $COUNTER; i++ )); do
- if [ $i -ne 4 ]; then
SIZE=$((${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}*1024*1024*1024))
ID=${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}
MOUNTPOINT=${PARTTBL["$SLX_CHOOSEN_DISK$i/mountpoint"]}
@@ -228,6 +224,7 @@ if [ $SLX_DELETE_PARTITION_TABLE = "yes" ]; then
DIALOGSTR=$DIALOGSTR" GUID: "$ID"000000-0000-0000-0000-000000000000\n"
fi
DIALOGSTR=$DIALOGSTR" Size: "$SIZE" Bytes ("${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}" GB)\n"
+ echo $(( $i*100/($COUNTER-1) )) | dialog --gauge "$DIALOGSTR" 0 0 0
fi
done
else
@@ -254,7 +251,7 @@ if [ $SLX_DELETE_PARTITION_TABLE = "yes" ]; then
elif [ $(sfdisk -d /dev/$SLX_CHOOSEN_DISK 2> /dev/null | grep $SLX_CHOOSEN_DISK'1' | tr -s ' ' | cut -d ' ' -f7 | cut -d '=' -f2) = 'ee' ]; then
# finding existent partitions in GPT
echo 'GPT'
- NONEXISTENT_PARTITIONS="false"
+ NONEXISTENT_PARTITIONS=0
for (( i = 1; i < $COUNTER; i++ )); do
if [ $i -ne 4 ]; then
for PART in $PARTS; do
@@ -272,7 +269,7 @@ elif [ $(sfdisk -d /dev/$SLX_CHOOSEN_DISK 2> /dev/null | grep $SLX_CHOOSEN_DISK'
fi
done
if [[ ${PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]} = "0" ]]; then
- NONEXISTENT_PARTITIONS="true"
+ NONEXISTENT_PARTITIONS=$(($NONEXISTENT_PARTITIONS+1))
fi
fi
done
@@ -281,7 +278,7 @@ elif [ $(sfdisk -d /dev/$SLX_CHOOSEN_DISK 2> /dev/null | grep $SLX_CHOOSEN_DISK'
dialog --msgbox "ERROR: Insufficient free space in disk /dev/$SLX_CHOOSEN_DISK." 6 40
exit 1
fi
- if [[ $NONEXISTENT_PARTITIONS = "false" ]]; then
+ if [[ $NONEXISTENT_PARTITIONS -eq 0 ]]; then
DIALOGSTR="All your requested partitions already exists.\n\n"
DIALOGSTR=$DIALOGSTR"Partition ID\n"
for (( i = 1; i < $COUNTER; i++ )); do
@@ -290,33 +287,39 @@ elif [ $(sfdisk -d /dev/$SLX_CHOOSEN_DISK 2> /dev/null | grep $SLX_CHOOSEN_DISK'
fi
done
else
- DIALOGSTR="New partitions created:\n\n"
+ DIALOGSTR="Creating partitions...\n\n"
+ echo "0" | dialog --gauge "$DIALOGSTR" 0 0 0
+ CREATED=0
for (( i = 1; i < $COUNTER; i++ )); do
j=1
- if [[ "${PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]}" = "0" ]]; then
- sgdisk /dev/$SLX_CHOOSEN_DISK -n $j:0:+${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}G 2> /dev/null > /dev/null
- while [[ $? -eq 4 ]]; do
- j=$(($j+1))
- sgdisk /dev/$SLX_CHOOSEN_DISK -n $j:0:+${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}G 2> /dev/null > /dev/null
- done
- PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]=$SLX_CHOOSEN_DISK$j
- SIZE=$((${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}*1024*1024*1024))
- ID=${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}
- MOUNTPOINT=${PARTTBL["$SLX_CHOOSEN_DISK$i/mountpoint"]}
- DIALOGSTR=$DIALOGSTR$MOUNTPOINT" (/dev/"${PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]}")\n"
- if [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" = "82" ]; then
- DIALOGSTR=$DIALOGSTR" GUID: 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F\n"
- elif [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" = "83" ]; then
- DIALOGSTR=$DIALOGSTR" GUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4\n"
- else
- sgdisk /dev/$SLX_CHOOSEN_DISK -t $j:$ID"000000-0000-0000-0000-000000000000" -c $j:$MOUNTPOINT
- DIALOGSTR=$DIALOGSTR" GUID: "$ID"000000-0000-0000-0000-000000000000\n"
+ if [[ $i -ne 4 ]]; then
+ if [[ "${PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]}" = "0" ]]; then
+ sgdisk /dev/$SLX_CHOOSEN_DISK -n $j:0:+${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}G 2> /dev/null > /dev/null
+ while [[ $? -eq 4 ]]; do
+ j=$(($j+1))
+ sgdisk /dev/$SLX_CHOOSEN_DISK -n $j:0:+${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}G 2> /dev/null > /dev/null
+ done
+ PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]=$SLX_CHOOSEN_DISK$j
+ SIZE=$((${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}*1024*1024*1024))
+ ID=${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}
+ MOUNTPOINT=${PARTTBL["$SLX_CHOOSEN_DISK$i/mountpoint"]}
+ DIALOGSTR=$DIALOGSTR$MOUNTPOINT" (/dev/"${PARTTBL["$SLX_CHOOSEN_DISK$i/exists"]}")\n"
+ if [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" = "82" ]; then
+ DIALOGSTR=$DIALOGSTR" GUID: 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F\n"
+ elif [ "${PARTTBL["$SLX_CHOOSEN_DISK$i/id"]}" = "83" ]; then
+ DIALOGSTR=$DIALOGSTR" GUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4\n"
+ else
+ sgdisk /dev/$SLX_CHOOSEN_DISK -t $j:$ID"000000-0000-0000-0000-000000000000" -c $j:$MOUNTPOINT >/dev/null 2>/dev/null
+ DIALOGSTR=$DIALOGSTR" GUID: "$ID"000000-0000-0000-0000-000000000000\n"
+ fi
+ DIALOGSTR=$DIALOGSTR" Size: "$SIZE" Bytes ("${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}" GB)\n"
+ CREATED=$(($CREATED+1))
+ echo $(( $CREATED*100/($NONEXISTENT_PARTITIONS) )) | dialog --gauge "$DIALOGSTR" 0 0 0
+ fi
+ if [ ${PARTTBL["$SLX_CHOOSEN_DISK$i/bootable"]} -eq 1 ]; then
+ sgdisk /dev/$SLX_CHOOSEN_DISK -A $j:set:2 >/dev/null 2>/deb/null
fi
- DIALOGSTR=$DIALOGSTR" Size: "$SIZE" Bytes ("${PARTTBL["$SLX_CHOOSEN_DISK$i/size"]}" GB)\n"
fi
- if [ ${PARTTBL["$SLX_CHOOSEN_DISK$i/bootable"]} -eq 1 ]; then
- sgdisk /dev/$SLX_CHOOSEN_DISK -A $j:set:2
- fi
done
fi
else
@@ -344,5 +347,5 @@ else
exit 1
fi
fi
-
+DIALOGSTR=${DIALOGSTR/Creating Partitions.../New partitions created:}
dialog --msgbox "$DIALOGSTR" 0 0 \ No newline at end of file