diff --git a/man/freedombone-keydrive.1.gz b/man/freedombone-keydrive.1.gz index fce2a053..4ddbf545 100644 Binary files a/man/freedombone-keydrive.1.gz and b/man/freedombone-keydrive.1.gz differ diff --git a/src/freedombone-keydrive b/src/freedombone-keydrive index 5beb87ca..54e6c225 100755 --- a/src/freedombone-keydrive +++ b/src/freedombone-keydrive @@ -35,10 +35,11 @@ KEY_FRAGMENTS=3 FRAGMENTS_DIR=$USB_MOUNT/.gnupg_fragments MY_USERNAME=$USER MASTER_DRIVE="no" +FORMAT="no" function show_help { echo '' - echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments]' + echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments] --format [yes/no]' echo '' exit 0 } @@ -67,6 +68,10 @@ case $key in shift KEY_FRAGMENTS=$1 ;; + -f|--format) + shift + FORMAT="yes" + ;; *) # unknown option ;; @@ -97,6 +102,29 @@ if [ -f /dev/mapper/encrypted_usb ]; then rm -rf /dev/mapper/encrypted_usb fi cryptsetup luksClose encrypted_usb + +# optionally format the drive +if [[ $FORMAT == "yes" ]]; then + echo "Formatting ${USB_DRIVE::-1} as LUKS" + cryptsetup -y -v luksFormat ${USB_DRIVE::-1} + if [ ! "$?" = "0" ]; then + exit 36823 + fi + cryptsetup luksOpen ${USB_DRIVE::-1} encrypted_usb + if [ ! "$?" = "0" ]; then + exit 37232 + fi + mkfs.ext4 /dev/mapper/encrypted_usb + if [ ! "$?" = "0" ]; then + exit 73218 + fi + cryptsetup luksClose encrypted_usb + if [ -f /dev/mapper/encrypted_usb ]; then + rm -rf /dev/mapper/encrypted_usb + fi + echo 'Format completed' +fi + cryptsetup luksOpen $USB_DRIVE encrypted_usb if [ "$?" = "0" ]; then USB_DRIVE=/dev/mapper/encrypted_usb