various fixes, data subvols changed, mostly handled elsewhere now
[automated-distro-installer] / fai / config / hooks / partition.DEFAULT
index 46887e9712d1aa558fb08bcab3be976a4fce6723..f81c6af7d5914398ef976f0916afb06b604866e8 100755 (executable)
@@ -31,12 +31,17 @@ rootn=1
 swapn=2
 bootn=3
 # ext partition so grub can write persistent variables,
-# so it can do a one time boot.
+# so it can do a one time boot. grub can't write to
+# btrfs or any cow fs because it's more
+# more complicated to do and they don't want to.
 grub_extn=4
 # bios boot partition,
 # https://wiki.archlinux.org/index.php/GRUB
 bios_grubn=5
 lastn=$bios_grubn
+# this is larger than needed for several /boot subvols,
+# becuase I keep a minimal debian install on it, for
+# recovery needs, and for doing pxe-kexec.
 boot_mib=10000
 
 
@@ -358,21 +363,17 @@ if [[ $DISTRO != debianstable_bootstrap ]]; then
     cd /mnt
 
     btrfs subvolume create root_$DISTRO
-    [[ -e q ]] || btrfs subvolume create q
-    chown root:1000 q
+    [[ -e nocow ]] || btrfs subvolume create nocow
+    chown root:1000 nocow
+    chattr +C nocow
 
     mkdir -p /mnt/root_$DISTRO/boot
-    for x in q/a q/i; do
-        mkdir -p $x
-        chown 1000:1000 $x
-        chmod 755 $x
-    done
-    # could set default like this, but no reason to.
+    # could set default subvol like this, but no reason to.
     # btrfs subvolume set-default \
         #       $(btrfs subvolume list . | grep "root_$DISTRO$" | awk '{print $2}') .
 
     # no cow on the root filesystem. it's setup is fully scripted,
-    # (immutable in buzzwords). if it messes up, we will just recreated it,
+    # if it's messed up, we will just recreated it,
     # and we can get better perf with this.
     # I can't remember exactly why, but this is preferable to mounting with
     # -o nodatacow, I think because subvolumes inherit that.
@@ -385,7 +386,7 @@ mount -o subvolid=0 $first_boot_dev /mnt
 cd /mnt
 btrfs subvolume set-default 0 /mnt # already default, just ensuring it.
 
-# for libreboot systems.
+# for libreboot systems. grub2 only reads from subvolid=0
 mkdir -p /mnt/grub2
 cp $FAI/distro-install-common/libreboot_grub.cfg /mnt/grub2
 
@@ -417,14 +418,13 @@ BOOT_DEVICE="${short_devs[@]}"
 ROOT_PARTITION=$first_boot_dev
 EOF
 else
-    # note, the mount point /a seems to get automatically created somewhere
+    # note, fai creates the mountpoints like /nocow
     cat > /tmp/fai/fstab <<EOF
 $first_root_crypt  /  btrfs  noatime,subvol=root_$DISTRO  0 0
-$first_root_crypt  /q  btrfs  noatime,subvol=q  0 0
-/q/a  /a  none  bind  0 0
+$first_root_crypt  /nocow  btrfs  noatime,subvol=nocow  0 0
+$first_root_crypt  /mnt/root  btrfs  noatime,subvolid=0  0 0
 $first_boot_dev  /boot  btrfs  noatime,subvol=$boot_vol  0 0
 EOF
-
     swaps=()
     for dev in ${devs[@]}; do
         swaps+=(`swap-cryptname`)