mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 13:44:24 +00:00
26 lines
676 B
Bash
Executable File
26 lines
676 B
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
: ${DEVICE:?not set}
|
|
: ${LABEL:?not set}
|
|
|
|
: "${MOUNT_OPTIONS:=compress-force=zstd}"
|
|
: "${MOUNT_POINT:=/mnt/$LABEL}"
|
|
|
|
[[ $EUID -eq 0 ]] || (echo "Please rerun this script with root privileges" && exit 1)
|
|
[[ -f "$DEVICE" ]] || echo "${DEVICE} not found"
|
|
|
|
cryptsetup luksFormat "$DEVICE"
|
|
cryptsetup open "$DEVICE" "$LABEL"
|
|
|
|
mkfs.btrfs --label "$LABEL" "/dev/mapper/${LABEL}"
|
|
mkdir -p "$MOUNT_POINT"
|
|
mount -t btrfs -o "$MOUNT_OPTIONS" "/dev/mapper/${LABEL}" "$MOUNT_POINT"
|
|
|
|
btrfs subvolume create "$MOUNT_POINT/.snapshots"
|
|
btrfs subvolume create "$MOUNT_POINT/data"
|
|
|
|
chown "$USER":"$USER" "$MOUNT_POINT/data"
|
|
|
|
umount "/mnt/${LABEL}"
|
|
cryptsetup close "$DEVICE"
|