2 # This file is part of dracut.
3 # SPDX-License-Identifier: GPL-2.0-or-later
5 # Prerequisite check(s) for module.
8 # Return 255 to only include the module, if another module requires it.
13 # Module dependency requirements.
16 # This module has external dependency on other module(s).
17 echo systemd-sysusers systemd-udev
18 # Return 0 to include the dependent module(s) in the initramfs.
23 # Install kernel module(s).
25 instmods
'=drivers/char/tpm'
28 # Install the required file(s) and directories for the module in the initramfs.
32 "$sysusers"/tpm2-tss.conf \
33 "$tmpfilesdir"/tpm2-tss-fapi.conf \
34 "$udevrulesdir"/60-tpm-udev.rules \
35 tpm2_pcrread tpm2_pcrextend tpm2_createprimary tpm2_createpolicy \
36 tpm2_create tpm2_load tpm2_unseal tpm2
38 # Install library file(s)
39 _arch
=${DRACUT_ARCH:-$(uname -m)}
41 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-esys.so.*" \
42 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-fapi.so.*" \
43 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-mu.so.*" \
44 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-rc.so.*" \
45 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-sys.so.*" \
46 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-tcti-cmd.so.*" \
47 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-tcti-device.so.*" \
48 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-tcti-mssim.so.*" \
49 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-tcti-swtpm.so.*" \
50 {"tls/$_arch/",tls
/,"$_arch/",}"libtss2-tctildr.so.*" \
51 {"tls/$_arch/",tls
/,"$_arch/",}"libcryptsetup.so.*" \
52 {"tls/$_arch/",tls
/,"$_arch/",}"libcurl.so.*" \
53 {"tls/$_arch/",tls
/,"$_arch/",}"libjson-c.so.*"
55 # Install the hosts local user configurations if enabled.
56 if [[ $hostonly ]]; then
58 "$udevrulesdir"/60-tpm-udev.rules \
59 /etc
/tpm2-tss
/fapi-config.json \
60 "/etc/tpm2-tss/fapi-profiles/*.json"