X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Fpartition.DEFAULT;h=46887e9712d1aa558fb08bcab3be976a4fce6723;hp=9905602cab65a4108057e488a06a507a1ca954b5;hb=43480add5b3ab6f4e407065454bd6be1d1fe1870;hpb=bcdb96792264d6cda20e6d2fa176728a67c87862 diff --git a/fai/config/hooks/partition.DEFAULT b/fai/config/hooks/partition.DEFAULT index 9905602..46887e9 100755 --- a/fai/config/hooks/partition.DEFAULT +++ b/fai/config/hooks/partition.DEFAULT @@ -37,7 +37,7 @@ grub_extn=4 # https://wiki.archlinux.org/index.php/GRUB bios_grubn=5 lastn=$bios_grubn -boot_mib=4000 +boot_mib=10000 ##### end configuration @@ -99,7 +99,7 @@ $(cat $disk/queue/rotational)"; exit 1 ;; done # install all ssds, or if there are none, all hdds -if (( ${#ssds[@]} > 0 )); then +if ! ifclass ROTATIONAL && (( ${#ssds[@]} > 0 )); then short_devs=( ${ssds[@]} ) else short_devs=( ${hdds[@]} ) @@ -173,6 +173,17 @@ for dev in ${devs[@]}; do fi done +if ifclass RAID0 || (( ${#boot_devs[@]} < 4 )); then + raid_level=0 +else + raid_level=10 + # need double the space if we are raid 10, and then + # might as well give some extra. + boot_mib=$((boot_mib * 3)) +fi + + + if [[ ! $DISTRO ]]; then if ifclass STABLE_BOOTSTRAP; then DISTRO=debianstable_bootstrap @@ -192,17 +203,10 @@ fi first_boot_dev=${boot_devs[0]} -case ${#boot_devs[@]} in - # need double the space if we are raid 10, and then - # might as well give some extra overhead. - [4-9]*|[1-3]?*) boot_mib=$((boot_mib * 3)) ;; -esac - - bpart() { # btrfs a partition - case ${#@} in - [1-3]) mkfs.btrfs -f $@ ;; - [4-9]*|[1-3]?*) mkfs.btrfs -f -m raid10 -d raid10 $@ ;; + case $raid_level in + 0) mkfs.btrfs -f $@ ;; + 10) mkfs.btrfs -f -m raid10 -d raid10 $@ ;; esac } @@ -240,7 +244,11 @@ done shopt -s nullglob if $partition; then for dev in ${devs[@]}; do - for x in $dev[0-9]; do + # if we repartition to the same as an old partition, + # we don't want any old fses hanging around. + for (( i=1; i <= lastn; i++ )); do + x=$(add-part $dev $i) + [[ -e $x ]] || continue count_down=10 # wipefs has failed, manual run works, google suggests timing issue while ! wipefs -a $x; do @@ -417,14 +425,6 @@ $first_root_crypt /q btrfs noatime,subvol=q 0 0 $first_boot_dev /boot btrfs noatime,subvol=$boot_vol 0 0 EOF - # I will avoid using uuid in the future. the other way of specifying is simpler - if ifclass treetowl; then - cat >> /tmp/fai/fstab <<'EOF' -$first_root_crypt /i btrfs noatime,subvol=i 0 0 -UUID=3f7b31cd-f299-40b4-a86b-7604282e2715 /i btrfs noatime 0 2 -EOF - fi - swaps=() for dev in ${devs[@]}; do swaps+=(`swap-cryptname`)