2021-03-15 17:09:32 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# remove any prior TPM contents
|
|
|
|
rm -f NVChip h*.bin *.permall
|
|
|
|
if [ -x "${SWTPM}" ]; then
|
2023-10-04 11:30:33 +02:00
|
|
|
${SWTPM} socket --tpm2 --daemon \
|
|
|
|
--pid file=swtpm.pid \
|
|
|
|
--server type=tcp,port=2321 \
|
|
|
|
--ctrl type=tcp,port=2322 --tpmstate dir=`pwd`
|
|
|
|
pid=$(cat swtpm.pid)
|
2021-03-15 17:09:32 +01:00
|
|
|
else
|
|
|
|
${TPMSERVER} > /dev/null 2>&1 &
|
2023-10-04 11:30:33 +02:00
|
|
|
pid=$!
|
2021-03-15 17:09:32 +01:00
|
|
|
fi
|
|
|
|
##
|
|
|
|
# This powers on the tpm and starts it
|
|
|
|
# then we derive the RSA version of the storage seed and
|
|
|
|
# store it permanently at handle 81000001 and flush the transient
|
|
|
|
##
|
|
|
|
a=0; while [ $a -lt 10 ]; do
|
|
|
|
if [ -x "${SWTPM_IOCTL}" ]; then
|
|
|
|
${SWTPM_IOCTL} --tcp 127.0.0.1:2322 -i > /dev/null 2>&1
|
|
|
|
else
|
|
|
|
tsspowerup > /dev/null 2>&1
|
|
|
|
fi
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
sleep 1
|
|
|
|
a=$[$a+1]
|
|
|
|
done
|
|
|
|
if [ $a -eq 10 ]; then
|
|
|
|
echo "Waited 10s for tpm_server to come up; exiting"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
tssstartup || exit 1
|
|
|
|
echo -n $pid
|