diff options
Diffstat (limited to 'external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi')
5 files changed, 158 insertions, 0 deletions
diff --git a/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch new file mode 100644 index 00000000..8a216cd4 --- /dev/null +++ b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/configure_oe_fixup.patch @@ -0,0 +1,27 @@ +Upstream-Status: OE specific +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -84,9 +84,6 @@ AC_ARG_WITH([efi-lds], + AS_HELP_STRING([--with-efi-lds=LDS_PATH],[Path to gnu-efi lds file.]), + [], + [with_efi_lds="/usr/lib/elf_${ARCH}_efi.lds"]) +-AC_CHECK_FILE(["${with_efi_lds}"], +- [], +- [AC_MSG_ERROR([Missing file: ${with_efi_lds}.])]) + EXTRA_LDFLAGS="-L /usr/lib -L /usr/lib64 -Wl,--script=${with_efi_lds}" + + # path to object file from gnu-efi +@@ -94,9 +91,6 @@ AC_ARG_WITH([efi-crt0], + AS_HELP_STRING([--with-efi-crt0=OBJ_PATH],[Path to gnu-efi crt0 object file.]), + [], + [with_efi_crt0="/usr/lib/crt0-efi-${ARCH}.o"]) +-AC_CHECK_FILE(["${with_efi_crt0}"], +- [], +- [AC_MSG_ERROR([Missing ${with_efi_crt0} file.])]) + EXTRA_LDLIBS="${with_efi_crt0}" + + # check for efi and gnuefi libraries diff --git a/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/fix_header_file.patch b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/fix_header_file.patch new file mode 100644 index 00000000..fc730e14 --- /dev/null +++ b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/fix_header_file.patch @@ -0,0 +1,25 @@ +Error building for i386 target in cross env + +#include <efi/x86_64/efibind.h> + +ARCH is host arch, not target arch + +Upstream-Status: Submitted + +Signed-off-by: Armin Kuster <akuster808@gmail.com> +Index: git/src/uefi-types.h +=================================================================== +--- git.orig/src/uefi-types.h ++++ git/src/uefi-types.h +@@ -3,9 +3,9 @@ + #define UEFI_TYPES_H + + #ifndef EDK2_BUILD +-#if ARCH == x86_64 ++#if defined(__x86_64__) + #include <efi/x86_64/efibind.h> +-#elif ARCH == ia32 ++#elif defined(__i386__) + #include <efi/ia32/efibind.h> + #else + #error "Unsupported ARCH." diff --git a/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/tpm2-get-caps-fixed.patch b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/tpm2-get-caps-fixed.patch new file mode 100644 index 00000000..bc70913e --- /dev/null +++ b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/files/tpm2-get-caps-fixed.patch @@ -0,0 +1,23 @@ +Fix defined to match tpm2-tools 4.1.1 + +Upstream-Status: Submitted https://github.com/tpm2-software/tpm2-tcti-uefi/pull/81 +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +Index: git/example/tpm2-get-caps-fixed.c +=================================================================== +--- git.orig/example/tpm2-get-caps-fixed.c ++++ git/example/tpm2-get-caps-fixed.c +@@ -140,11 +140,11 @@ dump_tpm_properties_fixed (TPMS_TAGGED_P + Print (L"TPM2_PT_INPUT_BUFFER:\n" + " value: 0x%X\n", value); + break; +- case TPM2_PT_HR_TRANSIENT_MIN: ++ case TPM2_PT_TPM2_HR_TRANSIENT_MIN: + Print (L"TPM2_PT_TPM2_HR_TRANSIENT_MIN:\n" + " value: 0x%X\n", value); + break; +- case TPM2_PT_HR_PERSISTENT_MIN: ++ case TPM2_PT_TPM2_HR_PERSISTENT_MIN: + Print (L"TPM2_PT_TPM2_HR_PERSISTENT_MIN:\n" + " value: 0x%X\n", value); + break; diff --git a/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch new file mode 100644 index 00000000..b3f22872 --- /dev/null +++ b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch @@ -0,0 +1,38 @@ +From b74837184cfdefb45e48f3fdc974fc67691fc861 Mon Sep 17 00:00:00 2001 +From: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> +Date: Wed, 3 Jul 2019 19:16:35 +0300 +Subject: [PATCH] configure.ac: stop inserting host directories into compile + path + +Do not insert /usr/lib and /usr/lib64 into library search path. + +Upstream-Status: OE specific +Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac ++++ git/configure.ac +@@ -70,10 +70,6 @@ EXTRA_CFLAGS+="-I${with_efi_includedir} + # compiler flags / search path + CFLAGS_TMP="$CFLAGS" + CFLAGS="$CFLAGS $EXTRA_CFLAGS" +-AC_CHECK_HEADERS([efi.h efilib.h], +- [], +- [AC_MSG_ERROR([Missing gnu-efi headers.])], +- [#include <efi.h>]) + CFLAGS="$CFLAGS_TMP" + + # path to linker script from gnu-efi +@@ -81,7 +77,7 @@ AC_ARG_WITH([efi-lds], + AS_HELP_STRING([--with-efi-lds=LDS_PATH],[Path to gnu-efi lds file.]), + [], + [with_efi_lds="/usr/lib/elf_${ARCH}_efi.lds"]) +-EXTRA_LDFLAGS="-L /usr/lib -L /usr/lib64 -Wl,--script=${with_efi_lds}" ++EXTRA_LDFLAGS="-Wl,--script=${with_efi_lds}" + + # path to object file from gnu-efi + AC_ARG_WITH([efi-crt0], diff --git a/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb new file mode 100644 index 00000000..67b36b78 --- /dev/null +++ b/external/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb @@ -0,0 +1,45 @@ +SUMMARY = "TCTI module for use with TSS2 libraries in UEFI environment" +SECTION = "security/tpm" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da" +DEPENDS = "libtss2-dev libtss2-mu-dev gnu-efi-native gnu-efi pkgconfig autoconf-archive-native" + +SRC_URI = "git://github.com/tpm2-software/tpm2-tcti-uefi.git \ + file://configure_oe_fixup.patch \ + file://0001-configure.ac-stop-inserting-host-directories-into-co.patch \ + file://tpm2-get-caps-fixed.patch \ + file://fix_header_file.patch \ + " +SRCREV = "0241b08f069f0fdb3612f5c1b938144dbe9be811" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EFIDIR ?= "/EFI/BOOT" + +EFI_ARCH_x86 = "ia32" +EFI_ARCH_x86-64 = "x86_64" + +CFLAGS_append = " -I${STAGING_INCDIR}/efi -I${STAGING_INCDIR}/efi/${EFI_ARCH}" + +EXTRA_OECONF_append = " \ + --with-efi-includedir=${STAGING_INCDIR} \ + --with-efi-crt0=${STAGING_LIBDIR}/crt0-efi-${EFI_ARCH}.o \ + --with-efi-lds=${STAGING_LIBDIR}/elf_${EFI_ARCH}_efi.lds \ +" + +do_compile_append() { + oe_runmake example +} + +do_install_append() { + install -d "${D}${EFIDIR}" + install -m 0755 "${B}"/example/*.efi "${D}${EFIDIR}" +} + +COMPATIBLE_HOST = "(i.86|x86_64).*-linux" + +FILES_${PN} += "${EFIDIR}" + +RDEPENDS_${PN} = "gnu-efi libtss2-mu" |