diff options
-rwxr-xr-x | share/hydractl/provision | 46 |
1 files changed, 19 insertions, 27 deletions
diff --git a/share/hydractl/provision b/share/hydractl/provision index b5f23ce..8a15462 100755 --- a/share/hydractl/provision +++ b/share/hydractl/provision @@ -258,14 +258,16 @@ else start="$((($optimal_size + $alignment_offset) / $block_size))" optimal_sector_size="$(($optimal_size / $block_size))" - # Sector size for a 1MB partition, BIOS mode - bios_grub_size="$(($mebibyte/$block_size))" - bios_grub_end="$(($start + $bios_grub_size - 1))" - - # Sector size for a 300MB partition, UEFI mode - # See https://wiki.archlinux.org/title/Parted#UEFI/GPT_examples - uefi_grub_size="$(($mebibyte/$block_size*300))" - uefi_grub_end="$(($start + $uefi_grub_size - 1))" + if [ "$boot_mode" == "bios" ]; then + # Sector size for a 1MB partition, BIOS mode + grub_size="$(($mebibyte/$block_size))" + grub_end="$(($start + $grub_size - 1))" + else + # Sector size for a 300MB partition, UEFI mode + # See https://wiki.archlinux.org/title/Parted#UEFI/GPT_examples + grub_size="$(($mebibyte/$block_size*300))" + grub_end="$(($start + $grub_size - 1))" + fi # Regular disk partitioning. hydra_sudo_run parted -s -- $device mklabel gpt @@ -276,15 +278,15 @@ else # https://bugs.launchpad.net/ubuntu/+source/parted/+bug/1270203 # https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/ # https://serverfault.com/questions/870594/resize-partition-to-maximum-using-parted-in-non-interactive-mode - #hydra_sudo_run parted -s ---pretend-input-tty -- $device mkpart non-fs ${start}s ${bios_grub_end}s Yes - #hydra_sudo_run parted $device mkpart non-fs ${start}s ${bios_grub_end}s Yes Ignore quit + #hydra_sudo_run parted -s ---pretend-input-tty -- $device mkpart non-fs ${start}s ${grub_end}s Yes + #hydra_sudo_run parted $device mkpart non-fs ${start}s ${grub_end}s Yes Ignore quit #hydra_sudo_run parted -s ---pretend-input-tty $device <<EOF -#mkpart non-fs ${start}s ${bios_grub_end}s +#mkpart non-fs ${start}s ${grub_end}s #Yes #Ignore #quit #EOF - hydra_sudo_run parted -s -- $device mkpart non-fs ${start}s ${bios_grub_end}s + hydra_sudo_run parted -s -- $device mkpart non-fs ${start}s ${grub_end}s # Se GRUB flag hydra_sudo_run parted -s -- $device set 1 bios_grub on @@ -293,7 +295,7 @@ else hydra_install_package dosfstools - hydra_sudo_run parted -s -- $device mkpart fat32 ${start}s ${uefi_grub_end}s + hydra_sudo_run parted -s -- $device mkpart fat32 ${start}s ${grub_end}s hydra_sudo_run parted -s -- $device set 1 esp on hydra_sudo_run parted -s -- $device name 1 ESP hydra_sudo_run mkfs.vfat $esp_device @@ -305,12 +307,8 @@ else if [ "$encrypt" == "y" ]; then # Second partition must also be aligned by a multiple of $optimal_sector_size # So we find the minimum optimal start sector which is after the grub partition - if [ "$boot_mode" == "bios" ]; then - #lvm_start="$(($bios_grub_end + 1))" - lvm_start="`partition_sector_start $start $bios_grub_end $optimal_sector_size`" - else - lvm_start="`partition_sector_start $start $uefi_grub_end $optimal_sector_size`" - fi + #lvm_start="$(($grub_end + 1))" + lvm_start="`partition_sector_start $start $grub_end $optimal_sector_size`" #hydra_sudo_run parted -s -- $device unit MB mkpart ext2 3 -1 hydra_sudo_run parted -s -- $device mkpart ext2 ${lvm_start}s -1 @@ -323,15 +321,9 @@ else syst_device="${device}${partition_separator}2" else # Make a 1024MB boot partition - #boot_start="$(($bios_grub_end + 1))" + #boot_start="$(($grub_end + 1))" boot_size="1024" - - if [ "$boot_mode" == "bios" ]; then - boot_start="`partition_sector_start $start $bios_grub_end $optimal_sector_size`" - else - boot_start="`partition_sector_start $start $uefi_grub_end $optimal_sector_size`" - fi - + boot_start="`partition_sector_start $start $grub_end $optimal_sector_size`" boot_size="$(($boot_size * $mebibyte / $block_size))" boot_end="$(($boot_start + $boot_size -1))" #lvm_start="$($boot_end + 1))" |