]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
feat(pkcs11): introducing the pkcs11 module
authorJóhann B. Guðmundsson <johannbg@gmail.com>
Wed, 29 Dec 2021 13:03:16 +0000 (13:03 +0000)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Wed, 2 Feb 2022 23:14:00 +0000 (23:14 +0000)
This module allows unlocking of an encrypted filesystem using pkcs11.

modules.d/91pkcs11/module-setup.sh [new file with mode: 0755]

diff --git a/modules.d/91pkcs11/module-setup.sh b/modules.d/91pkcs11/module-setup.sh
new file mode 100755 (executable)
index 0000000..547631d
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Prerequisite check(s) for module.
+check() {
+
+    # Return 255 to only include the module, if another module requires it.
+    return 255
+
+}
+
+# Module dependency requirements.
+depends() {
+
+    # This module has external dependency on other module(s).
+    echo systemd-udevd
+    # Return 0 to include the dependent module(s) in the initramfs.
+    return 0
+
+}
+
+# Install the required file(s) and directories for the module in the initramfs.
+install() {
+
+    # Install library file(s)
+    _arch=${DRACUT_ARCH:-$(uname -m)}
+    inst_libdir_file \
+        {"tls/$_arch/",tls/,"$_arch/",}"libtasn1.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libffi.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libp11-kit.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libcryptsetup.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"/cryptsetup/libcryptsetup-token-systemd-pkcs11.so.*"
+
+}