From 27b17f17f2051f8336aa77022135e95404700c54 Mon Sep 17 00:00:00 2001 From: Michael Pereira Neves Date: Thu, 16 Oct 2014 16:32:20 -0300 Subject: [partitioner] Create special boot partition for the bootloader when using GPT --- .../opt/openslx/scripts/systemd-partitioner | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/server/modules/partitioner/opt/openslx/scripts/systemd-partitioner b/server/modules/partitioner/opt/openslx/scripts/systemd-partitioner index f8b7b819..cbc71030 100755 --- a/server/modules/partitioner/opt/openslx/scripts/systemd-partitioner +++ b/server/modules/partitioner/opt/openslx/scripts/systemd-partitioner @@ -255,6 +255,17 @@ partition_disk_gpt() { *) bootable=0 ;; esac + #create boot partition and set boot flag + if [ "$bootable" -eq 1 ]; then + sgdisk /dev/${SLX_CHOOSEN_DISK} -n ${counter}:0:+1M 1>&2 || perror "Error setting size of GPT partition ${SLX_CHOOSEN_DISK}${counter}" + sgdisk /dev/${SLX_CHOOSEN_DISK} -t ${counter}:21686148-6449-6E6F-744E-656564454649 1>&2 || perror "Error setting id ${id} of GPT partition ${SLX_CHOOSEN_DISK}${counter}" + sgdisk /dev/${SLX_CHOOSEN_DISK} -A ${counter}:set:2 1>&2 || perror "Error setting boot flag for GPT partition ${SLX_CHOOSEN_DISK}${counter}" + dialog_string="${dialog_string}Special bootloader partition (/dev/${SLX_CHOOSEN_DISK}${counter})\n" + dialog_string="${dialog_string} GUID: 21686148-6449-6E6F-744E-656564454649\n" + dialog_string="${dialog_string} Size: 1 MB\n" + counter=$(($counter+1)) + fi + #set size of partition sgdisk /dev/${SLX_CHOOSEN_DISK} -n ${counter}:0:+${size}G 1>&2 || perror "Error setting size of GPT partition ${SLX_CHOOSEN_DISK}${counter}" @@ -265,22 +276,17 @@ partition_disk_gpt() { sgdisk /dev/${SLX_CHOOSEN_DISK} -t ${counter}:${id}000000-0000-0000-0000-000000000000 -c ${counter}:\"${mountpoint}\" 1>&2 || perror "Error setting id ${id} of GPT partition ${SLX_CHOOSEN_DISK}${counter}" fi - #set boot flag - if [ "$bootable" -eq 1 ]; then - sgdisk /dev/${SLX_CHOOSEN_DISK} -A ${counter}:set:2 1>&2 || perror "Error setting boot flag for GPT partition ${SLX_CHOOSEN_DISK}${counter}" - fi - #update dialog status [ "$id" = "82" ] && mountpoint="swap" - dialog_string="${dialog_string}${mountpoint} (/dev/"${SLX_CHOOSEN_DISK}${counter}")\n" + dialog_string="${dialog_string}${mountpoint} (/dev/${SLX_CHOOSEN_DISK}${counter})\n" if [ "${id}" = "82" ]; then dialog_string="${dialog_string} GUID: 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F\n" elif [ "${id}" = "83" ]; then dialog_string="${dialog_string} GUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4\n" else - dialog_string="${dialog_string} GUID: "$id"000000-0000-0000-0000-000000000000\n" + dialog_string="${dialog_string} GUID: ${id}000000-0000-0000-0000-000000000000\n" fi - dialog_string="${dialog_string} Size: "$size" GB\n" + dialog_string="${dialog_string} Size: ${size} GB\n" echo $(echo "(100/$part_number)*$counter" | bc) | dialog --title "Partitioner" --stdout --gauge "${dialog_string}" 0 0 0 counter=$(($counter+1)) -- cgit v1.2.3-55-g7522