/usr/share/initramfs-tools/hooks/cryptopensc is in cryptsetup 2:2.0.2-1ubuntu1.
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 61 62 63 64 65 | #!/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
copy_exec /lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/libgcc_s.so.1
copy_exec /lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/libusb-1.0.so.0
copy_exec /lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/libusb-1.0.so.0.1.0
copy_exec /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/libpcsclite.so.1
cp -r /usr/lib/pcsc ${DESTDIR}/usr/lib
cp /etc/reader.conf ${DESTDIR}/etc || true
cp /etc/libccid_Info.plist ${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
|