mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
tpm2: add openssl, tpm2-tools, and tpm2-tss modules
Signed-off-by: Trammell Hudson <hudson@trmm.net>
This commit is contained in:
parent
9395f91d02
commit
4253c4de76
2
Makefile
2
Makefile
@ -491,6 +491,8 @@ bin_modules-$(CONFIG_FBWHIPTAIL) += fbwhiptail
|
||||
bin_modules-$(CONFIG_HOTPKEY) += hotp-verification
|
||||
bin_modules-$(CONFIG_MSRTOOLS) += msrtools
|
||||
bin_modules-$(CONFIG_NKSTORECLI) += nkstorecli
|
||||
bin_modules-$(CONFIG_OPENSSL) += openssl
|
||||
bin_modules-$(CONFIG_TPM2_TOOLS) += tpm2-tools
|
||||
|
||||
$(foreach m, $(bin_modules-y), \
|
||||
$(call map,initrd_bin_add,$(call bins,$m)) \
|
||||
|
36
modules/openssl
Normal file
36
modules/openssl
Normal file
@ -0,0 +1,36 @@
|
||||
# OpenSSL library
|
||||
modules-$(CONFIG_OPENSSL) += openssl
|
||||
|
||||
openssl_version := 1_1_1h
|
||||
openssl_dir := openssl-$(openssl_version)
|
||||
openssl_tar := openssl-$(openssl_version).tar.gz
|
||||
openssl_url := https://github.com/openssl/openssl/archive/OpenSSL_$(openssl_version).tar.gz
|
||||
openssl_hash := d1f723c1f6b6d1eaf26655caa50d2f60d4d33f4b04977b1da63def878f386fcc
|
||||
|
||||
# hack to provide path to libgcc
|
||||
LIBGCC_DIR := $(dir $(shell $(heads_cc) -print-libgcc-file-name))
|
||||
|
||||
openssl_configure := \
|
||||
$(CROSS_TOOLS) \
|
||||
LDFLAGS="-L$(LIBGCC_DIR)" \
|
||||
./Configure \
|
||||
--prefix="/" \
|
||||
linux-x86_64 \
|
||||
|
||||
openssl_target := $(MAKE_JOBS) \
|
||||
build_programs \
|
||||
&& \
|
||||
$(MAKE) \
|
||||
-C "$(build)/$(openssl_dir)" \
|
||||
DESTDIR="$(INSTALL)" \
|
||||
LIBDIR="lib" \
|
||||
install_sw \
|
||||
|
||||
openssl_libraries := \
|
||||
libcrypto.so.1.1 \
|
||||
libssl.so.1.1 \
|
||||
|
||||
openssl_output := \
|
||||
apps/openssl \
|
||||
|
||||
openssl_depends := $(musl_dep)
|
28
modules/tpm2-tools
Normal file
28
modules/tpm2-tools
Normal file
@ -0,0 +1,28 @@
|
||||
# TPM2 tools program
|
||||
modules-$(CONFIG_TPM2_TOOLS) += tpm2-tools
|
||||
|
||||
#tpm2-tools_version := 4.3.0
|
||||
tpm2-tools_version := 78a7681
|
||||
tpm2-tools_repo := https://github.com/tpm2-software/tpm2-tools.git
|
||||
|
||||
tpm2-tools_dir := tpm2-tools-$(tpm2-tools_version)
|
||||
tpm2-tools_tar := tpm2-tools-$(tpm2-tools_version).tar.gz
|
||||
tpm2-tools_url := https://github.com/tpm2-software/tpm2-tools/releases/download/$(tpm2-tools_version)/$(tpm2-tools_tar)
|
||||
tpm2-tools_hash := ae009b3495b44a16faa3d94d41ac9c9d99c71723482efad53c5eea17eeed80fc
|
||||
|
||||
# we have ESYS 3.0, but it doesn't figure that out on its own
|
||||
tpm2-tools_configure := ./bootstrap && ./configure \
|
||||
$(CROSS_TOOLS) \
|
||||
--host i386-elf-linux \
|
||||
--prefix "/" \
|
||||
TSS2_ESYS_3_0_CFLAGS="-I$(INSTALL)/include" \
|
||||
TSS2_ESYS_3_0_LIBS="-ltss2-esys" \
|
||||
|
||||
tpm2-tools_target := $(MAKE_JOBS) \
|
||||
DESTDIR="$(INSTALL)" \
|
||||
$(CROSS_TOOLS) \
|
||||
install \
|
||||
|
||||
tpm2-tools_output := tools/tpm2
|
||||
|
||||
tpm2-tools_depends := tpm2-tss $(musl_dep)
|
39
modules/tpm2-tss
Normal file
39
modules/tpm2-tss
Normal file
@ -0,0 +1,39 @@
|
||||
# TPM2 TSS library
|
||||
modules-$(CONFIG_TPM2_TSS) += tpm2-tss
|
||||
|
||||
tpm2-tss_version := 2.4.3
|
||||
tpm2-tss_dir := tpm2-tss-$(tpm2-tss_version)
|
||||
tpm2-tss_tar := tpm2-tss-$(tpm2-tss_version).tar.gz
|
||||
tpm2-tss_url := https://github.com/tpm2-software/tpm2-tss/releases/download/$(tpm2-tss_version)/$(tpm2-tss_tar)
|
||||
tpm2-tss_hash := e294677f8993234d0adfa191a5cbf9c5b83cc60c724c233e3d631c26712abea0
|
||||
|
||||
tpm2-tss_configure := ./configure \
|
||||
$(CROSS_TOOLS) \
|
||||
--host i386-elf-linux \
|
||||
--prefix "/" \
|
||||
--disable-doxygen-doc \
|
||||
--disable-doxygen-man \
|
||||
--disable-doxygen-rtf \
|
||||
--disable-doxygen-html \
|
||||
--disable-fapi \
|
||||
|
||||
# Run one build to generate the executables with the pre-defined
|
||||
# exec_prefix and datarootdir, then a second make to install the binaries
|
||||
# into our actual target location
|
||||
|
||||
tpm2-tss_target := $(MAKE_JOBS) \
|
||||
DESTDIR="$(INSTALL)" \
|
||||
$(CROSS_TOOLS) \
|
||||
install \
|
||||
|
||||
# tpm2 binary wants to dlopen some libraries, so be sure that
|
||||
# they are available. It would be nice to statically link these.
|
||||
tpm2-tss_libraries := \
|
||||
src/tss2-rc/.libs/libtss2-rc.so.0 \
|
||||
src/tss2-mu/.libs/libtss2-mu.so.0 \
|
||||
src/tss2-sys/.libs/libtss2-sys.so.0 \
|
||||
src/tss2-esys/.libs/libtss2-esys.so.0 \
|
||||
src/tss2-tcti/.libs/libtss2-tctildr.so.0 \
|
||||
src/tss2-tcti/.libs/libtss2-tcti-device.so.0 \
|
||||
|
||||
tpm2-tss_depends := openssl $(musl_dep)
|
21
patches/tpm2-tools.patch
Normal file
21
patches/tpm2-tools.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index c58f0f34..a2bade09 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -93,7 +93,7 @@ tss2_tools = \
|
||||
|
||||
# Bundle all the tools into a single program similar to busybox
|
||||
bin_PROGRAMS += tools/tpm2
|
||||
-tools_tpm2_LDADD = $(LDADD) $(CURL_LIBS)
|
||||
+tools_tpm2_LDADD = $(LDADD)
|
||||
tools_tpm2_CFLAGS = $(AM_CFLAGS) -DTPM2_TOOLS_MAX="$(words $(tpm2_tools))"
|
||||
tools_tpm2_SOURCES = \
|
||||
tools/tpm2_tool.c \
|
||||
@@ -127,7 +127,6 @@ tpm2_tools = \
|
||||
tools/tpm2_encryptdecrypt.c \
|
||||
tools/tpm2_evictcontrol.c \
|
||||
tools/tpm2_flushcontext.c \
|
||||
- tools/tpm2_getekcertificate.c \
|
||||
tools/tpm2_getrandom.c \
|
||||
tools/tpm2_gettime.c \
|
||||
tools/tpm2_hash.c \
|
Loading…
Reference in New Issue
Block a user