DM_PREFIX_="grml-crypt_"
FORCE_='false'
FSCK_='false'
+FSCK_EXTRA_OPTS_=""
ENTROPY_SOURCE_='/dev/urandom'
OPTIMIZED_MODE_SET_='false'
OPTIMIZING_LEVEL_=0
-o optimised initialisation mode (should be as secure as the default but faster)
-y verifies the passphrase by asking for it twice
-f force file overwriting in format mode and/or disable confirmation dialog
- -F only for action start: run fsck before mounting the filesystem. Use fsck's -f option if given twice.
+ -F only for action start: run fsck before mounting the filesystem.
+ Use fsck's -f option if given twice.
+ -X Read next argument as a list of options to pass to fsck:
+ 'grml-crypt -FF -X "-y -T" start /dev/ice' will run fsck with options -y and -T.
-m additional arguments to mount
-v verbose (show what is going on, v++)
-h this help text
ret_=0
if [[ "$MOUNT_POINT_" == "" ]]; then
- MOUNT_POINT_="/mnt/$DM_NAME_"
+ MOUNT_POINT_="/media/$DM_NAME_"
else
# error out if mountpoint was given but doesn't exist
if [ ! -d "$MOUNT_POINT_" ]; then
execute "$CRYPTSETUP_ $cargs_ luksOpen $TARGET_ $DM_NAME_" warn || execute "losetup -d $TARGET_" || \
die "could not luksOpen $TARGET_"
if [[ "$FSCK_" == "true" ]] ; then
- execute "fsck -C $DM_PATH_" || die "fsck failed on $DM_PATH_"
+ execute "fsck $FSCK_EXTRA_OPTS_ -C $DM_PATH_" || die "fsck failed on $DM_PATH_"
elif [[ "$FSCK_" == "trueforce" ]] ; then
- execute "fsck -f -C $DM_PATH_" || die "fsck failed on $DM_PATH_"
+ execute "fsck -f $FSCK_EXTRA_OPTS_ -C $DM_PATH_" || die "fsck failed on $DM_PATH_"
fi
margs_=""
$READONLY_SET_ && margs_='-r'
dprint "device_=\"$device_\""
execute "umount $dm_path_" die "could not unmount $device_"
- if [[ "$MOUNT_POINT_" == "/mnt/$dm_name_" ]]; then
+ if [[ "$MOUNT_POINT_" == "/media/$dm_name_" ]]; then
rmdir "$MOUNT_POINT_"
fi
execute "$CRYPTSETUP_ luksClose $dm_name_" die "could not close $dm_path_"
### __MAIN
###
-while getopts "s:t:rzoyfFm:hvS:C:I:A:" opt; do
+while getopts "s:t:rzoyfFm:hvS:C:I:A:X:" opt; do
case "$opt" in
s) SIZE_="$OPTARG"; SIZE_SET_='true' ;;
t) FSTYPE_="$OPTARG" ;;
FSCK_='true'
fi
;;
+ X) FSCK_EXTRA_OPTS_="$OPTARG" ;;
m) ADDITIONAL_MOUNT_ARGS_="$OPTARG" ;;
h) printUsage; exit ;;
v) let verbose_=$verbose_+1 ;;
fi
TARGET_="$2"
-MKFS_="/sbin/mkfs.$FSTYPE_"
-if [ ! -x "$MKFS_" ]; then
+MKFS_="`which mkfs.$FSTYPE_`"
+if [ $? != "0" ]; then
die "invalid filesystem type \"$FSTYPE_\"" 1
fi