# https://wiki.archlinux.org/index.php/GRUB
bios_grubn=5
lastn=$bios_grubn
-boot_mib=4000
+boot_mib=10000
##### end configuration
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[@]} )
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
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
}
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
$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`)