From ae2257b9934c825a9b80c17c0aaf6c44569e7361 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 00:07:10 -0600 Subject: [PATCH 1/2] Fix BTRFS subvolumes not being created --- 0-preinstall.sh | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index cc49830..e49e256 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -80,6 +80,19 @@ mountallsubvol () { mount -o ${MOUNT_OPTIONS},subvol=@var /dev/mapper/ROOT /mnt/var } +subvolumesetup () { +# create nonroot subvolumes + createsubvolumes +# unmount root to remount with subvolume + umount /mnt +# mount @ subvolume + mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt +# make directories home, .snapshots, var, tmp + mkdir -p /mnt/{home,var,tmp,.snapshots} +# mount subvolumes + mountallsubvol +} + if [[ "${DISK}" =~ "nvme" ]]; then partition2=${DISK}p2 partition3=${DISK}p3 @@ -92,6 +105,7 @@ if [[ "${FS}" == "btrfs" ]]; then mkfs.vfat -F32 -n "EFIBOOT" ${partition2} mkfs.btrfs -L ROOT ${partition3} -f mount -t btrfs ${partition3} /mnt + subvolumesetup elif [[ "${FS}" == "ext4" ]]; then mkfs.vfat -F32 -n "EFIBOOT" ${partition2} mkfs.ext4 -L ROOT ${partition3} @@ -106,26 +120,11 @@ elif [[ "${FS}" == "luks" ]]; then mkfs.btrfs -L ROOT /dev/mapper/ROOT # create subvolumes for btrfs mount -t btrfs /dev/mapper/ROOT /mnt - createsubvolumes - umount /mnt -# mount @ subvolume - mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt -# make directories home, .snapshots, var, tmp - mkdir -p /mnt/{home,var,tmp,.snapshots} -# mount subvolumes - mountallsubvol + subvolumesetup # store uuid of encrypted partition for grub echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf fi -# checking if user selected btrfs -if [[ ${FS} =~ "btrfs" ]]; then -ls /mnt | xargs btrfs subvolume delete -btrfs subvolume create /mnt/@ -umount /mnt -mount -t btrfs -o subvol=@ -L ROOT /mnt -fi - # mount target mkdir /mnt/boot mkdir /mnt/boot/efi From cddc767c3db7339ecb14a68a6c9dc5deee67696c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 00:20:27 -0600 Subject: [PATCH 2/2] Fix /dev/mapper/ROOT not found --- 0-preinstall.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index e49e256..1dc8e5e 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -74,10 +74,10 @@ createsubvolumes () { } mountallsubvol () { - mount -o ${MOUNT_OPTIONS},subvol=@home /dev/mapper/ROOT /mnt/home - mount -o ${MOUNT_OPTIONS},subvol=@tmp /dev/mapper/ROOT /mnt/tmp - mount -o ${MOUNT_OPTIONS},subvol=@.snapshots /dev/mapper/ROOT /mnt/.snapshots - mount -o ${MOUNT_OPTIONS},subvol=@var /dev/mapper/ROOT /mnt/var + mount -o ${MOUNT_OPTIONS},subvol=@home ${partition3} /mnt/home + mount -o ${MOUNT_OPTIONS},subvol=@tmp ${partition3} /mnt/tmp + mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots + mount -o ${MOUNT_OPTIONS},subvol=@var ${partition3} /mnt/var } subvolumesetup () { @@ -86,7 +86,7 @@ subvolumesetup () { # unmount root to remount with subvolume umount /mnt # mount @ subvolume - mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt + mount -o ${MOUNT_OPTIONS},subvol=@ ${partition3} /mnt # make directories home, .snapshots, var, tmp mkdir -p /mnt/{home,var,tmp,.snapshots} # mount subvolumes @@ -117,9 +117,9 @@ elif [[ "${FS}" == "luks" ]]; then # open luks container and ROOT will be place holder echo -n "${LUKS_PASSWORD}" | cryptsetup open ${partition3} ROOT - # now format that container - mkfs.btrfs -L ROOT /dev/mapper/ROOT + mkfs.btrfs -L ROOT ${partition3} # create subvolumes for btrfs - mount -t btrfs /dev/mapper/ROOT /mnt + mount -t btrfs ${partition3} /mnt subvolumesetup # store uuid of encrypted partition for grub echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf