diff --git a/part-sdb.sh b/part-sdb.sh new file mode 100644 index 0000000..1d5a5aa --- /dev/null +++ b/part-sdb.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -euo pipefail + +if [[ $# -eq 0 ]]; then + read -rp "Root of or for device: " DEV_ROOT +elif [[ $# -gt 0 ]]; then + while getopts "d:" opt; do + case ${opt} in + d) DEV_ROOT="${OPTARG}";; + *) echo "${opt} is an invalid option.";; + esac + done +fi + +if ! [ -f "${HOME}/Downloads/ventoy.tar.gz" ]; then + wget -O ventoy.tar.gz -P "${HOME}"/Downloads https://github.com/ventoy/Ventoy/releases/download/v1.0.99/ventoy-1.0.99-linux.tar.gz +fi +tar -xvf "${HOME}"/Downloads/ventoy.tar.gz -C "${HOME}"/Downloads/ventoy +rm "${HOME}"/Downloads/ventoy.tar.gz +mapfile -t DEV_SIZES < <(df -h "$DEV_ROOT" | awk '{print $2}') +GB_DEV_SIZE="${DEV_SIZES[-1]%?}" +MB_DEV_SIZE=$(( GB_DEV_SIZE * 1000 )) +VENTOY_LOWER_BOUND=$(( MB_DEV_SIZE - 18034 )) +"${HOME}"/Downloads/ventoy/Ventoy2Disk.sh -igsL Ventoy -r "$VENTOY_LOWER_BOUND" "$DEV_ROOT" +mapfile -t PART_LIST < <(parted "$DEV_ROOT" 'unit s print' | awk '{print $3}') +# parted "${DEV_ROOT}" mklabel gpt +sudo parted "$DEV_ROOT" mkpart TREASURY ntfs "${PART_LIST[-1]}" 76% +sudo parted "$DEV_ROOT" mkpart LAIR btrfs 76% 100% +sudo mkfs.exfat -L treasure "${DEV_ROOT}"3 +sudo cryptsetup luksFormat "${DEV_ROOT}"4 +sudo cryptsetup open "${DEV_ROOT}"4 LAIR +sudo mkfs.btrfs -d single -m DUP -L secrets /dev/mapper/LAIR +sudo cryptsetup close LAIR \ No newline at end of file