heads icon indicating copy to clipboard operation
heads copied to clipboard

PoC : D16 - Bump kernel 6.1.8 + coreboot to fam15h (justmike80386) branch

Open tlaurion opened this issue 1 year ago • 4 comments

WARNING: No measured boot is occurring until patches 0001, 0020 and 0021 are ported over


Based on #1803 + switching to fam15h's coreboot fork (without patches/coreboot-4.11 patches)

Discussion leading to this PR around https://matrix.to/#/!OkpUfvLEYpLyALVvaW:dodoid.com/$4ydLUMFeRvt9eQLOK_Us3v8yFC9JekLAGG0ly5w02_I?via=dodoid.com&via=matrix.org&via=envs.net (for those already part of d16 club -> fam15h matrix room)


CI Pipeline for 46783ee at https://app.circleci.com/pipelines/github/tlaurion/heads/2881/workflows/dc549dd9-b036-4e7b-96c7-579cbc999eb8

(Github slow at receiving CircleCI API calls once builds lauched prior of PR created)

tlaurion avatar Oct 08 '24 15:10 tlaurion

With patches 0001, 0020 and 0021 copied over (not ported from patches/coreboot-4.11)

Local logs (CircleCI will provide same for that branch containing those patches, not here):

tail /home/user/heads/build/x86/log/coreboot-fam15h.log
-----
  return tlcl_extend(pcr_num, hash, NULL);
                              ^~~~
src/security/tpm/tss/tcg-1.2/tss.c:345:45: note: expected 'uint16_t' {aka 'short unsigned int'} but argument is of type 'const uint8_t *' {aka 'const unsigned char *'}
 uint32_t tlcl_extend(int pcr_num,  uint16_t algorithm,
                                    ~~~~~~~~~^~~~~~~~~
src/security/tpm/tss/tcg-1.2/tss.c:385:9: error: too few arguments to function 'tlcl_extend'
  return tlcl_extend(pcr_num, hash, NULL);
         ^~~~~~~~~~~
src/security/tpm/tss/tcg-1.2/tss.c:345:10: note: declared here
 uint32_t tlcl_extend(int pcr_num,  uint16_t algorithm,
          ^~~~~~~~~~~
src/security/tpm/tss/tcg-1.2/tss.c:386:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
src/security/tpm/tss/tcg-1.2/tss.c: At top level:
cc1: error: unrecognized command line option '-Wno-address-of-packed-member' [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:370: UNMAINTAINED_kgpe-d16_workstation/romstage/security/tpm/tss/tcg-1.2/tss.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/user/heads/build/x86/coreboot-fam15h'
make: *** [Makefile:563: /home/user/heads/build/x86/coreboot-fam15h/UNMAINTAINED_kgpe-d16_workstation/.build] Error 1

Patches welcome.

Ideally:

  • Patches from dasharo (bootblock instead of romstage measured boot) would replace the patches/coreboot-4.11 patches currently missing)

Other branch with 4.11 measured boot in romstage patches in at https://app.circleci.com/pipelines/github/tlaurion/heads/2882/workflows/b16fb6a4-5aa8-4dc5-a8f3-87f8031b815c, will fail and logs will be observable there for those interested in moving things forward.

As said in OP: the desirable patches are not those from https://github.com/tlaurion/heads/commit/9b8257cd1b1f7c22b0b49ae9b3786d53d7f273a0 but backporting Dasharo ~4.15 (commit based between 4.14-4.15 from their branch) patches to 4.11 so measured boot is in bootblock.


Please comment here and/or provide needed patches.

Thank you.

tlaurion avatar Oct 08 '24 16:10 tlaurion

613931c saves coreboot config changes for all 4 boards flavors, and expose changes using that branch.

Saved with docker run -e DISPLAY=$DISPLAY --network host --rm -ti -v $(pwd):$(pwd) -w $(pwd) tlaurion/heads-dev-env:latest -- make BOARD=UNMAINTAINED_kgpe-d16_workstation-usb_keyboard coreboot.modify_and_save_oldconfig_in_place

While changing BOARD=xyz for the 4 variants in tree

tlaurion avatar Oct 08 '24 17:10 tlaurion

29732a0 moves Viking HCL in board configs where they should have landed, not in coreboot configs which are wiped when modified...

tlaurion avatar Oct 08 '24 17:10 tlaurion

  • Re-ownership works (TPM, USB Security dongle provisioning of in smartcard keys, injecting public key in flashrom backup, flashrom flashing of cbfs injected keyring + trustdb).
  • Signing /boot works
  • boot options- show boot options-> define default boot + TPM Disk Unlock Key works
  • PR0 works

Will add HOTP variants

tlaurion avatar Oct 09 '24 18:10 tlaurion

I was able to compile d16_15h_coreboot_fork without any problems with measured boot enabled through menuconfig

works without any issue so far

arhabd avatar Feb 13 '25 13:02 arhabd

Superseeded by https://github.com/linuxboot/heads/pull/1910

tlaurion avatar Feb 13 '25 17:02 tlaurion