summaryrefslogtreecommitdiff
path: root/mini
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2024-01-10 18:58:31 +0100
committerChristoph Cullmann <cullmann@kde.org>2024-01-10 18:58:31 +0100
commitc37e8dd8be218579aabcfb4019ea99b58d9960ac (patch)
tree029ae73cc62824a654269f15fa7509ebd8072a57 /mini
parentab59cc9d4b936183ab834c03a8c09f97725fe49f (diff)
bcachefs install scripty
Diffstat (limited to 'mini')
-rw-r--r--mini/install.txt57
1 files changed, 10 insertions, 47 deletions
diff --git a/mini/install.txt b/mini/install.txt
index adcac60..bb0944a 100644
--- a/mini/install.txt
+++ b/mini/install.txt
@@ -19,7 +19,8 @@ gdisk -l $DISK
# create partitions
parted $DISK -- mklabel gpt
sgdisk -n 1:0:+1024M -c 1:"EFI System Partition" -t 1:EF00 $DISK
-sgdisk -n 2:0:0 -c 2:"Linux" -t 2:8e00 $DISK
+sgdisk -n 2:0:+256G -c 2:"nix" -t 2:8e00 $DISK
+sgdisk -n 3:0:0 -c 3:"data" -t 3:8e00 $DISK
parted $DISK -- set 1 boot on
sleep 5
@@ -30,33 +31,9 @@ cat /proc/partitions
# boot partition
mkfs.fat -F 32 -n EFIBOOT $DISK-part1
-# create the crypto containers
-cryptsetup luksFormat --sector-size 4096 --batch-mode --verify-passphrase $DISK-part2
-
-sleep 5
-
-# open them, set right options persistently
-cryptsetup luksOpen --allow-discards --perf-no_read_workqueue --perf-no_write_workqueue --persistent $DISK-part2 crypt-system
-
-sleep 5
-lsblk --fs
-
-# create btrfs with fast & strong checksumming and fast mounting
-mkfs.btrfs -f --csum xxhash --features block-group-tree /dev/mapper/crypt-system
-
-sleep 5
-btrfs filesystem show
-
-# create all the volumes
-mount /dev/mapper/crypt-system /mnt
-btrfs subvolume create /mnt/data
-btrfs subvolume create /mnt/nix
-
-sleep 5
-btrfs subvolume list /mnt
-
-# umount again, we will only use explicit subvolumes
-umount /mnt
+# create encrypted bcachefs
+bcachefs format --block_size=4096 --errors=ro --metadata_checksum=xxhash --data_checksum=xxhash --compression=lz4 --wide_macs --acl --encrypted --fs_label=nix --discard -f $DISK-part2
+bcachefs format --block_size=4096 --errors=ro --metadata_checksum=xxhash --data_checksum=xxhash --compression=lz4 --wide_macs --acl --encrypted --fs_label=data --discard -f $DISK-part3
# prepare install
mount -t tmpfs none /mnt
@@ -67,9 +44,9 @@ mkdir -p /mnt/{data,nix,home,boot,root,etc/nixos}
# mount the ESP
mount $DISK-part1 /mnt/boot
-# mount volumes
-mount -o subvol=data,noatime,nodiratime /dev/mapper/crypt-system /mnt/data
-mount -o subvol=nix,noatime,nodiratime /dev/mapper/crypt-system /mnt/nix
+# mount bcachefs stuff
+mount -o noatime,nodiratime $DISK-part2 /mnt/nix
+mount -o noatime,nodiratime $DISK-part3 /mnt/data
# bind mount persistent stuff to data
mkdir -p /mnt/{data/home,data/root,data/nixos/$HOST}
@@ -114,19 +91,5 @@ wipefs -a $DD
sleep 5
-# create the crypto containers
-cryptsetup luksFormat --batch-mode --verify-passphrase $DD
-
-sleep 5
-
-# open them, set right options persistently
-cryptsetup luksOpen --allow-discards --perf-no_read_workqueue --perf-no_write_workqueue --persistent $DD crypt-vms
-
-sleep 5
-lsblk --fs
-
-# create btrfs with fast & strong checksumming and fast mounting
-mkfs.btrfs -f --csum xxhash --features block-group-tree /dev/mapper/crypt-vms
-
-sleep 5
-btrfs filesystem show
+# create encrypted bcachefs
+bcachefs format --block_size=4096 --errors=ro --metadata_checksum=xxhash --data_checksum=xxhash --compression=lz4 --wide_macs --acl --encrypted --fs_label=vms --discard -f $DD