From 9177d8b0c0e180e748791b09a449f6a0bcfa4739 Mon Sep 17 00:00:00 2001 From: Richard Brown Date: Sat, 15 Jun 2024 19:34:04 +0200 Subject: [PATCH] crypt: resize partitions before encrypting them. minor bugfixes --- usr/lib/tik/modules/post/10-encrypt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/usr/lib/tik/modules/post/10-encrypt b/usr/lib/tik/modules/post/10-encrypt index ebd8e0d..bee0901 100644 --- a/usr/lib/tik/modules/post/10-encrypt +++ b/usr/lib/tik/modules/post/10-encrypt @@ -27,24 +27,34 @@ encrypt_disk() { fi prun /usr/bin/mkdir ${mig_dir}/mnt prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt + prun /usr/bin/systemd-repart --pretty 0 --root ${mig_dir}/mnt --dry-run=0 ${probedpart} + prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} ${mig_dir}/mnt/var + prun /lib/systemd/systemd-growfs ${mig_dir}/mnt/var + prun /usr/bin/umount ${mig_dir}/mnt/var prun /usr/sbin/btrfs filesystem resize -32m /mnt prun /usr/bin/umount ${mig_dir}/mnt prun /usr/sbin/cryptsetup reencrypt --force-password --encrypt --reduce-device-size 32m ${probedpart} cr_root <<<"$key" echo '{"type":"systemd-recovery","keyslots":["0"]}' | prun /usr/sbin/cryptsetup token import "${probedpart}" prun /usr/sbin/btrfs rescue fix-device-size /dev/mapper/cr_root prun /usr/bin/mount -o compress=zstd:1 /dev/mapper/cr_root ${mig_dir}/mnt - prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} ${mig_dir}/mnt/var + prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var /dev/mapper/cr_root ${mig_dir}/mnt/var etcmountcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | sed 's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc ${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t overlay overlay -o/') eval prun "$etcmountcmd" echo "cr_root ${probedpart} none x-initrd.attach" | prun tee ${mig_dir}/mnt/etc/crypttab probe_partitions $TIK_INSTALL_DEVICE "vfat" "/EFI/systemd/shim.efi" prun /usr/bin/mount ${probedpart} ${mig_dir}/mnt/boot/efi + prun /usr/bin/mount -o compress=zstd:1,subvol=/@/.snapshots /dev/mapper/cr_root ${mig_dir}/mnt/.snapshots + prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/run" + prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/tmp" + for i in proc dev sys; do + prun /usr/bin/mount --bind "/$i" "${mig_dir}/mnt/$i" + done prun /usr/bin/chroot ${mig_dir}/mnt <