2024-06-14 18:11:25 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -euxo pipefail
|
|
|
|
|
|
|
|
blkdev="/dev/vdb"
|
2024-06-30 13:54:26 +03:00
|
|
|
blkdev2="/dev/vdc"
|
2024-06-22 17:50:39 +03:00
|
|
|
mnt=$(mktemp -d)
|
2024-06-14 18:11:25 +03:00
|
|
|
pw=$(genpass)
|
|
|
|
uuid=$(uuidgen)
|
|
|
|
|
|
|
|
# link user and session keyrings so that the key can be found by the kernel
|
|
|
|
keyctl link @u @s
|
|
|
|
|
|
|
|
sfdisk "$blkdev" <<EOF
|
|
|
|
label: gpt
|
|
|
|
type=linux, size=1G
|
|
|
|
type=linux, size=1G
|
|
|
|
type=linux
|
|
|
|
EOF
|
|
|
|
|
|
|
|
udevadm settle
|
|
|
|
|
|
|
|
echo "$pw" | bcachefs format \
|
|
|
|
--verbose \
|
|
|
|
--encrypted \
|
|
|
|
--replicas=2 \
|
|
|
|
--uuid "$uuid" \
|
|
|
|
--fs_label test-fs \
|
2024-06-30 13:54:26 +03:00
|
|
|
"${blkdev}"{1,2}
|
2024-06-14 18:11:25 +03:00
|
|
|
|
|
|
|
udevadm settle
|
|
|
|
|
2024-06-27 17:30:15 +03:00
|
|
|
echo "$pw" | bcachefs mount "UUID=$uuid" "$mnt"
|
2024-06-14 18:11:25 +03:00
|
|
|
|
2024-06-30 13:54:26 +03:00
|
|
|
bcachefs device add "$mnt" "${blkdev}3"
|
|
|
|
bcachefs device add "$mnt" "$blkdev2"
|
|
|
|
|
|
|
|
udevadm settle
|
|
|
|
|
|
|
|
blkid
|
|
|
|
|
2024-06-14 18:11:25 +03:00
|
|
|
keyctl search @u user "bcachefs:$uuid"
|
2024-06-24 21:12:26 +03:00
|
|
|
|
|
|
|
umount "$mnt"
|
|
|
|
|
2024-06-30 13:54:26 +03:00
|
|
|
bcachefs mount "UUID=$uuid" "$mnt"
|