diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2022-01-25 10:17:08 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2022-01-25 10:17:08 -0300 |
commit | f2c646e88e4e67683f32c6ee4ddd18915e0194c6 (patch) | |
tree | 073d0ce5827681d242698db569be0c32c3e7847c /share/hydractl | |
parent | 670e5f74788413597d43ddd041c4271fe419f97b (diff) | |
download | hydra-f2c646e88e4e67683f32c6ee4ddd18915e0194c6.tar.gz hydra-f2c646e88e4e67683f32c6ee4ddd18915e0194c6.tar.bz2 |
Fix: provision: UEFI/BIOS cleanup
Diffstat (limited to 'share/hydractl')
-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))" |