heads/patches
Thierry Laurion 6923fb5e20
Addition of qemu-(fb)whiptail-tpm2(-hotp) boards
-coreboot support of TPM v2.0 (shared config for TPM2 support across all 4 previous variations)
-swtpm set to be launched under TPM v2.0 mode under board config
-Documentation file under each board.md softlinks to qemu-coreboot-fbwhiptail-tpm1.md (which has been generalized)
This is skeleton for TPM v2 integration under Heads

-------------
WiP

TODO:
- libcurl cannot be built as a tpm2-tools dependency as of now not sure why. curl currently needs to be added in board config to be built
- Note: tpm-reset (master and here) needs some review, no handle of no tpm use case. Caller is responsible to not call it otherwise does nothing
- init tries to bind fd and fails currently
- Note: Check if whiptail is different of fbwhiptail in clearing screen. As of now every clear seems to be removed, still whiptail clears previous console output
- When no OS' /boot can be mounted, do not try to TPM reset (will fail)

- seal-hotpkey is not working properly
- setting disk unlock key asks for TPM ownership passphrase (sealing in NV requires ownership, but text is misleading user as if reowning TPM)
  - We should cache input, feed tpm behind the scene and wipe passphrase and state clearly that this is TPM disk unlock kye passphrase.
- primary key from TPM2 is invalid most of the time from kexec-select-boot and verifying global hashes but is setuped correctly at disk unlock key setup
- would be nice to take advantage of bash function tracing to understand where we are for debugging purposes, code takes ash in consideration only
- tpmr says it implements nv calls but actually doesn't. Removing those falsely wrapped functions would help.
  - Implementing them would be better
- REVIEW TODOS IN CODE
- READD CIRCLECI CONFIG

Current state:
- TPM unseal works without disk unlock key and generates TOTP properly (was missing die condition at unseal to not produce always good TOTP even if invalid)
- TPM disk encryption key fails. Hypothesis is that sealing with USB drivers loaded and measures in inconsistent with sealed with/without.
 - TPM disk unsealing happens without USB modules being loaded in non-HOTP setup. This fails.

- Current tests are with fbwhiptail (no clear called so having traces on command line of what happens)
 - Testing with HOTP implementation for sealing/unsealing since that forces USB module loads on each boot to remove this from failing possibilities
2023-03-08 12:45:43 -05:00
..
coreboot-4.8.1 coreboot buildgcc: TEMPORARY HACK: gnu mirrors are failing because of https errors. Falling back to http. 2021-01-03 21:14:50 -05:00
coreboot-4.11 coreboot-4.11: Fix remaining patch to work with git apply 2023-01-04 09:04:19 -05:00
coreboot-4.13 Add x230-maximized-fhd_edp and x230-hotp-maximized-fhd_edp boards 2023-01-31 09:58:43 -05:00
coreboot-4.14 patches/coreboot-4.14: Add patches for Librem mini, 14 2021-10-15 15:11:39 -04:00
coreboot-4.17 patches/coreboot-4.17: Add Librem 4.17 patches 2022-09-12 13:21:59 -06:00
flashrom-b1f858f65b2abd276542650d8cb9e382da258967 Makefile: replace patch with git apply 2022-08-21 14:28:30 -04:00
linux-4.14.62 Enable verbose bootup debugging and ensure that the serial IO base port is configured 2018-09-28 06:25:00 -04:00
linux-4.19.139 Support Multiple Kernel Options (#805) 2020-08-20 19:26:48 -04:00
linux-5.4.69 modules/linux: add support for building with kernel 5.4.69 (#854) 2020-10-25 01:26:08 -04:00
linux-5.5-openpower Add Talos 2 boards 2022-08-31 00:21:28 +03:00
linux-5.10.5 modules/linux: Add support for building against Linux 5.10.5. All patches besides 0000-efi_bds.patch port cleanly. As a result of 0000-efi_bds.patch missing, it is strongly encouraged that no linuxboot boards use Linux 5.10.5 until a proper review has been done. 2021-01-07 19:24:03 +00:00
busybox-1.32.0.patch Fix current builds 2022-04-01 09:47:39 -04:00
cryptsetup2-2.3.3.patch make cryptsetup1/cryptsetup2 optional 2021-01-30 07:28:28 +02:00
cryptsetup-1.7.3.patch make cryptsetup1/cryptsetup2 optional 2021-01-30 07:28:28 +02:00
dropbear-2016.74.patch fix patches to have the correct -p level 2017-09-20 14:26:07 -04:00
gpg2-2.2.10.patch Revert "GPG toolstack upgrade to latest available versions (Fixes Gawk issue)" 2020-05-22 14:55:41 -04:00
gpg2-2.2.21.patch Makefile: replace patch with git apply 2022-08-21 14:28:30 -04:00
gpg-1.4.21.patch force cross_compile=yes for gnupg (issue #299) 2018-01-20 16:56:53 -05:00
kexec-2.0.22.patch kexec: Update to version 2.0.22 (was: 2.0.20) 2021-09-15 10:22:54 -05:00
libassuan-2.5.1.patch Revert "GPG toolstack upgrade to latest available versions (Fixes Gawk issue)" 2020-05-22 14:55:41 -04:00
libassuan-2.5.3.patch WiP: gpg2 2.21 LTS upgrade (gnupg toolstack) (#860) 2020-10-26 10:19:57 -04:00
libgcrypt-1.8.3.patch Revert "GPG toolstack upgrade to latest available versions (Fixes Gawk issue)" 2020-05-22 14:55:41 -04:00
libgcrypt-1.8.6.patch Support targeting PowerPC 64 2022-08-25 20:55:39 +03:00
libgpg-error-1.37.patch Support targeting PowerPC 64 2022-08-25 20:55:39 +03:00
libksba-1.3.5.patch modules: maintain reproducibility by removing rpath 2020-01-16 09:36:42 -08:00
libksba-1.4.0.patch WiP: gpg2 2.21 LTS upgrade (gnupg toolstack) (#860) 2020-10-26 10:19:57 -04:00
lvm2-2.02.168.patch lvm2: turn off buffering, which prevents segfault with new musl (#651) 2020-01-09 13:27:09 +01:00
pciutils-3.5.4.patch build the superiotool, which requires a hack on the pciutils lib/types.h file 2018-03-02 09:37:31 -05:00
tpm2-tools-5.2.patch Addition of qemu-(fb)whiptail-tpm2(-hotp) boards 2023-03-08 12:45:43 -05:00
tpm2-tss-3.2.0.patch Addition of qemu-(fb)whiptail-tpm2(-hotp) boards 2023-03-08 12:45:43 -05:00
util-linux-2.29.2.patch patches/util-linux: patch configure script so that all hardcode_into_libs=yes -> hardcode_into_libs=no 2023-03-07 11:02:17 -05:00