added ramtest script
parent
bdaf92537e
commit
4bc5902b27
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script is meant to find ram-errors via the
|
||||
# use of LUKS.
|
||||
# Usage: ./ramtest.sh <numberOfRuns>
|
||||
|
||||
if
|
||||
which pwgen >/dev/null && which dd >/dev/null && which cryptsetup >/dev/null
|
||||
then
|
||||
echo "pwgen, dd and luks available. Continue."
|
||||
else
|
||||
echo "pwgen, dd and/or luks not installed. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n $1 ]] && [[ $1 =~ ^[0-9]+$ ]]
|
||||
then
|
||||
COUNT=$1
|
||||
echo "Number of runs is $COUNT"
|
||||
else
|
||||
echo "Value not a number or no value given"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TMPDIR=$(mktemp -d)
|
||||
echo "Creating temp-dir $TMPDIR"
|
||||
|
||||
PW=$(pwgen 64 -1)
|
||||
PWFILE="$TMPDIR/pw"
|
||||
|
||||
echo $PW > $PWFILE
|
||||
|
||||
echo "Creating temporary image with the size 1000MB"
|
||||
dd if=/dev/urandom of=$TMPDIR/ramtest.img bs=1M count=1000 2>/dev/null
|
||||
|
||||
echo "Formatting image with luks"
|
||||
cryptsetup luksFormat $TMPDIR/ramtest.img < $PWFILE
|
||||
> $TMPDIR/log
|
||||
for i in $(seq 1 $COUNT)
|
||||
do
|
||||
echo "Run number $i of $COUNT"
|
||||
cryptsetup luksOpen --test-passphrase $TMPDIR/ramtest.img < $PWFILE 2>/dev/null
|
||||
RES=$?
|
||||
if [[ $RES -eq 0 ]]
|
||||
then
|
||||
echo "0" >> $TMPDIR/log
|
||||
else
|
||||
echo "1" >> $TMPDIR/log
|
||||
fi
|
||||
unset RES
|
||||
done
|
||||
|
||||
echo -e "\n\
|
||||
Result: \n\
|
||||
Number of runs: $COUNT \n\
|
||||
Successful runs: $(grep ^0$ $TMPDIR/log | wc -l) \n\
|
||||
Unsuccessful runs: $(grep ^1$ $TMPDIR/log | wc -l) \n"
|
||||
|
||||
echo "Removing temp-dir $TMPDIR"
|
||||
rm -Rf $TMPDIR
|
||||
exit 0
|
Loading…
Reference in New Issue