iankelling.org
/
git
/
automated-distro-installer
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
various fixes
[automated-distro-installer]
/
fai
/
config
/
hooks
/
partition.DEFAULT
diff --git
a/fai/config/hooks/partition.DEFAULT
b/fai/config/hooks/partition.DEFAULT
index 46887e9712d1aa558fb08bcab3be976a4fce6723..2db69b348b33f8f8e2c99c66112056f443f54b89 100755
(executable)
--- a/
fai/config/hooks/partition.DEFAULT
+++ b/
fai/config/hooks/partition.DEFAULT
@@
-31,12
+31,17
@@
rootn=1
swapn=2
bootn=3
# ext partition so grub can write persistent variables,
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
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
boot_mib=10000
@@
-64,9
+69,7
@@
bootdev() { add-part $@ $bootn; }
rootdev() { add-part $@ $rootn; }
swapdev() { add-part $@ $swapn; }
grub_extdev() { add-part $@ $grub_extn; }
rootdev() { add-part $@ $rootn; }
swapdev() { add-part $@ $swapn; }
grub_extdev() { add-part $@ $grub_extn; }
-# Commented because it's not used, but left because it
-# finishes the pattern and if we ever do need to use it, it's here.
-#bios_grubdev() { add-part $@ $bios_grubn; }
+bios_grubdev() { add-part $@ $bios_grubn; }
crypt-dev() { echo /dev/mapper/crypt_dev_${1##*/}; }
crypt-name() { echo crypt_dev_${1##*/}; }
crypt-dev() { echo /dev/mapper/crypt_dev_${1##*/}; }
crypt-name() { echo crypt_dev_${1##*/}; }
@@
-110,8
+113,8
@@
fi
for dev in ${short_devs[@]}; do
if $partition; then break; fi
y=$(readlink -f $dev)
for dev in ${short_devs[@]}; do
if $partition; then break; fi
y=$(readlink -f $dev)
-
x
=($y[0-9])
- [[ ${#
x
[@]} == "${lastn}" ]] || partition=true
+
arr
=($y[0-9])
+ [[ ${#
arr
[@]} == "${lastn}" ]] || partition=true
for (( i=1; i <= lastn; i++ )); do
[[ -e ${dev}$i ]] || partition=true
done
for (( i=1; i <= lastn; i++ )); do
[[ -e ${dev}$i ]] || partition=true
done
@@
-185,15
+188,15
@@
fi
if [[ ! $DISTRO ]]; then
if [[ ! $DISTRO ]]; then
- if ifclass STABLE_BOOTSTRAP; then
+ if ifclass
VOL_
STABLE_BOOTSTRAP; then
DISTRO=debianstable_bootstrap
DISTRO=debianstable_bootstrap
- elif ifclass
STRETCH64
; then
+ elif ifclass
VOL_STRETCH
; then
DISTRO=debiantesting
DISTRO=debiantesting
- elif ifclass STABLE; then
+ elif ifclass
VOL_
STABLE; then
DISTRO=debianstable
DISTRO=debianstable
- elif ifclass
XENIAL64
; then
+ elif ifclass
VOL_XENIAL
; then
DISTRO=ubuntuxenial
DISTRO=ubuntuxenial
- elif ifclass
BELENOS64
; then
+ elif ifclass
VOL_BELENOS
; then
DISTRO=trisquelbelenos
else
echo "PARTITIONER ERROR: no distro class/var set" >&2
DISTRO=trisquelbelenos
else
echo "PARTITIONER ERROR: no distro class/var set" >&2
@@
-358,21
+361,14
@@
if [[ $DISTRO != debianstable_bootstrap ]]; then
cd /mnt
btrfs subvolume create root_$DISTRO
cd /mnt
btrfs subvolume create root_$DISTRO
- [[ -e q ]] || btrfs subvolume create q
- chown root:1000 q
mkdir -p /mnt/root_$DISTRO/boot
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,
# 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.
# 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
+381,7
@@
mount -o subvolid=0 $first_boot_dev /mnt
cd /mnt
btrfs subvolume set-default 0 /mnt # already default, just ensuring it.
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
mkdir -p /mnt/grub2
cp $FAI/distro-install-common/libreboot_grub.cfg /mnt/grub2
@@
-417,14
+413,12
@@
BOOT_DEVICE="${short_devs[@]}"
ROOT_PARTITION=$first_boot_dev
EOF
else
ROOT_PARTITION=$first_boot_dev
EOF
else
- # note,
the mount point /a seems to get automatically created somew
here
+ # note,
fai creates the mountpoints listed
here
cat > /tmp/fai/fstab <<EOF
$first_root_crypt / btrfs noatime,subvol=root_$DISTRO 0 0
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 /mnt/root btrfs noatime,subvolid=0 0 0
$first_boot_dev /boot btrfs noatime,subvol=$boot_vol 0 0
EOF
$first_boot_dev /boot btrfs noatime,subvol=$boot_vol 0 0
EOF
-
swaps=()
for dev in ${devs[@]}; do
swaps+=(`swap-cryptname`)
swaps=()
for dev in ${devs[@]}; do
swaps+=(`swap-cryptname`)