/usr/share/initramfs-tools/hooks/cryptopensc is in cryptsetup 2:1.6.6-5ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/bin/sh
set -e
PREREQ="cryptroot"
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
# Hooks for loading smartcard reading software into the initramfs
# Check whether cryptroot hook has installed decrypt_opensc script
if [ ! -x ${DESTDIR}/lib/cryptsetup/scripts/decrypt_opensc ] ; then
exit 0
fi
# Install cryptroot key files into initramfs
keys=$(sed 's/^\(.*,\|\)key=//; s/,.*//' ${DESTDIR}/conf/conf.d/cryptroot)
if [ "${keys}" != "none" ]; then
if [ -z "${keys}" ]; then
echo $0: Missing key files in ${DESTDIR}/conf/conf.d/cryptroot >&2
cat ${DESTDIR}/conf/conf.d/cryptroot >&2
exit 1
fi
for key in ${keys} ; do
if [ ! -d ${DESTDIR}/$(dirname ${key}) ] ; then
mkdir -p ${DESTDIR}/$(dirname ${key})
fi
cp ${key} ${DESTDIR}/${key}
done
fi
# Install directories needed by smartcard reading daemon, command, and
# key-script
for dir in etc/opensc usr/lib/pcsc var/run tmp ; do
if [ ! -d ${DESTDIR}/${dir} ] ; then mkdir -p ${DESTDIR}/${dir} ; fi
done
# Install pcscd daemon, drivers, conf file, and include libgcc as well since
# pcscd utilizes pthread_cancel
copy_exec /usr/sbin/pcscd
cp -r /usr/lib/pcsc ${DESTDIR}/usr/lib
cp /etc/reader.conf ${DESTDIR}/etc
# Install opensc commands and conf file
copy_exec /usr/bin/opensc-tool
copy_exec /usr/bin/pkcs15-crypt
cp /etc/opensc/opensc.conf ${DESTDIR}/etc/opensc
|