X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Fpartition.DEFAULT;h=81475f2055d48533b8cff7799caadd28f0c61ea8;hb=e6da963744f05fc92ba515f1544fbbc0773f4d2f;hp=0dbc3769d3388219e49143253f79c19a9bc97c7b;hpb=9ff459d81a21b8154340752d20288104c50b798c;p=automated-distro-installer diff --git a/fai/config/hooks/partition.DEFAULT b/fai/config/hooks/partition.DEFAULT index 0dbc376..81475f2 100755 --- a/fai/config/hooks/partition.DEFAULT +++ b/fai/config/hooks/partition.DEFAULT @@ -10,11 +10,12 @@ skiptask partition || ! type skiptask # for running not in fai #### begin configuration +partition=false # change to true to force a full wipe bootn=3 rootn=1 swapn=2 bios_grubn=4 -boot_mib=750 +boot_mib=1500 lastn=$bios_grubn if ifclass VM; then @@ -57,7 +58,6 @@ devs=(${letters[@]/#//dev/${d}}) crypt_devs=(${letters[@]/#//dev/mapper/crypt_dev_${d}}) first_boot_dev=${devs[0]}$bootn -partition=true # hardcoded for now # somewhat crude detection of whether to partition for dev in ${devs[@]}; do @@ -72,8 +72,6 @@ for dev in ${devs[@]}; do done done -#partition=true # for temporarily override - # keyfiles generated like: # head -c 2048 /dev/urandom | od | s dd of=/q/root/luks/host-demohost luks_dir=${LUKS_DIR:-/var/lib/fai/config/distro-install-common/luks} @@ -98,7 +96,7 @@ swap_mib=$(( $(grep ^MemTotal: /proc/meminfo | \ # Otherwise we would pass in -0 for the end argument for the last partition. disk_mib=$(( $(parted -m ${devs[0]} unit MiB print | \ sed -nr "s#^${devs[0]}:([0-9]+).*#\1#p") - 1)) -root_end=$(( disk_mib - swap_mib - boot_mib )) +root_end=$(( disk_mib - swap_mib - boot_mib / ${#devs[@]} )) swap_end=$(( root_end + swap_mib)) mkdir -p /tmp/fai @@ -174,22 +172,23 @@ cd /mnt for x in q home_$DISTRO root_$DISTRO; do btrfs subvolume list . | grep "$x$" >/dev/null || btrfs subvolume create $x done +mkdir -p /mnt/root_$DISTRO/boot for x in root/a q/a; do mkdir -p $x chown 1000:1000 $x chmod 755 $x done -btrfs subvolume set-default \ - $(btrfs subvolume list . | grep "root_$DISTRO$" | awk '{print $2}') . -chattr -Rf +C root +# could set default like this, but no reason to. +# btrfs subvolume set-default \ +# $(btrfs subvolume list . | grep "root_$DISTRO$" | awk '{print $2}') . +chattr -Rf +C root_$DISTRO cd / umount /mnt -mount $first_boot_dev /mnt +mount -o subvolid=0 $first_boot_dev /mnt cd /mnt +btrfs subvolume set-default 0 /mnt [[ ! -e /mnt/boot_$DISTRO ]] || btrfs subvolume delete /mnt/boot_$DISTRO btrfs subvolume create boot_$DISTRO -btrfs subvolume set-default \ - $(btrfs subvolume list . | grep "boot_$DISTRO$" | awk '{print $2}') . cd / umount /mnt ## end create subvols ##