READONLY_SET_='false'
ADDITIONAL_MOUNT_ARGS_=""
BATCH_MODE_="--batch-mode"
+PV_=/usr/bin/pv
###
### __FUNCTIONS
{
type_="$1" # could be donothing or init
ret_=0
+ local ddcmd_="dd if=/dev/zero of=$DM_PATH_ bs=1M &>/dev/null"
+ if [[ -x "$PV_" && $verbose_ -ge 3 ]] ; then
+ ddcmd_="dd if=/dev/zero bs=1M 2>/dev/null | $PV_ | dd of=$DM_PATH_ bs=1M &>/dev/null"
+ fi
args_="$VERIFY_PW_ $BATCH_MODE_ --key-size $CIPHER_SIZE_ --cipher $CIPHER_ --iter-time $ITERATION_TIME_ $ADDITIONAL_CRYPTSETUP_ARGS_"
#args_=`echo "$args_" |tr -s ' '`
if [[ $type_ == 'init' && $OPTIMIZED_MODE_SET_ == 'true' ]]; then
echo "finishing optimised initialisation (this could take some time)"
# FIXME
- execute "dd if=/dev/zero of=$DM_PATH_ bs=1M &>/dev/null" # || \
+ execute "$ddcmd_" # || \
# warn "could not finish optimised initialisation properly"
ret_=$?
# cutted out because of no space left on device error :(
dm_path_=`echo $dm_path_ |awk '{print $1}'` || die "could not get devicemapper name for $tmp_"
dprint "dm_path_=\"$dm_path_\""
+ # check for symlinks
+ unset tmp_dm_path_
+ for dmapper in /dev/mapper/grml-crypt* ; do
+ link=$(readlink -f "$dmapper")
+ dprint "looping device mapper devices, dmapper=$dmapper => link=$link"
+ if [ "$link" = "$dm_path_" ] ; then
+ tmp_dm_path_="$dmapper"
+ fi
+ done
+
+ if [ -n "$tmp_dm_path_" ] ; then
+ dm_path_="$tmp_dm_path_"
+ unset tmp_dm_path_
+ fi
+
dm_name_="${dm_path_##*/}"
dprint "dm_name_=\"$dm_name_\""
IS_IMAGE_='false'
ret_=0
init_='init'
+ local ddcmd_
if (( $SIZE_ < 3 )); then
die "the minimum size of an encrypted luks partition should be 2"
elif [[ $ENTROPY_SOURCE_ != '/dev/zero' ]]; then
# default mode
echo "SECURE mode (taking $ENTROPY_SOURCE_ as source, this could take some time)"
- execute "dd if=$ENTROPY_SOURCE_ of=$TARGET_ bs=1M &>/dev/null" #||\
+ ddcmd_="dd if=$ENTROPY_SOURCE_ of=$TARGET_ bs=1M &>/dev/null"
+ if [[ -x "$PV_" && $verbose_ -ge 3 ]] ; then
+ ddcmd_="dd if=$ENTROPY_SOURCE_ bs=1M 2>/dev/null | $PV_ | dd of=$TARGET_ bs=1M &>/dev/null"
+ fi
+ execute "$ddcmd_" #||\
# skipped because "no space left on device" from dd
# die "could not initialise $TARGET_ with $ENTROPY_SOURCE_"
else