#!/bin/bash set -e set -x start=1 part_size=5120 parted --script $1 \ mklabel gpt \ mkpart primary ${start}MiB $(($part_size + $start))MiB \ mkpart primary $(($part_size + $start))MiB $(($part_size*2 + $start))MiB \ mkpart primary $(($part_size*2 + $start))MiB $(($part_size*3 + $start))MiB \ mkpart primary $(($part_size*3 + $start))MiB $(($part_size*4 + $start))MiB \ mkpart primary $(($part_size*4 + $start))MiB $(($part_size*5 + $start))MiB \ mkpart primary $(($part_size*5 + $start))MiB $(($part_size*6 + $start))MiB parted $1 unit MiB print free fs_types=( ext4 btrfs xfs ) prefix=usb2 keyfile="${prefix}luks.key" echo -e "test" > "${keyfile}" for _i in "${!fs_types[@]}" do wipefs -a "${1}$(($_i + 1))" mkfs.${fs_types[$_i]} "${1}$(($_i + 1))" -L "${prefix}${fs_types[$_i]}" done for i in {4..6} do cryptsetup -v --sector-size=4096 luksFormat "${1}${i}" "${keyfile}" done prefix=usb2luks for i in {4..6} do cryptsetup open --type luks "${1}${i}" "${prefix}-$(basename ${1})$i" --key-file="${keyfile}" done for _i in "${!fs_types[@]}" do mkfs.${fs_types[$_i]} /dev/mapper/"${prefix}-$(basename ${1})$(($_i + 4))" -L "${prefix}${fs_types[$_i]}" done