heads icon indicating copy to clipboard operation
heads copied to clipboard

WiP: current kgpe-d16 boards against dasharo/coreboot (kgpe-d16 dasharo release 0.4)

Open tlaurion opened this issue 2 years ago • 18 comments

  • Pointing dasharo-coreboot to commit 6edf2d06df3d5c28f1ddfb1705e076a0694df5a5 (fix submodules auth problem)

Dasharo 0.4 release notes: https://docs.dasharo.com/variants/asus_kgpe_d16/releases/

Changed

ACPI cleanup
Added missing PCI bridge initialization

Fixed

[KGPE-D16 can not boot with a GPU connected](https://github.com/Dasharo/dasharo-issues/issues/48)
[Configs for platforms without TPM](https://github.com/Dasharo/dasharo-issues/issues/62)
[Bugs in DQS timing (kudos to Mike Rothfuss)](https://github.com/Dasharo/coreboot/pull/116)

Known issues

[Booting from recovery doesn't work](https://github.com/Dasharo/dasharo-issues/issues/66)
[Fan controller gets stuck at 100%](https://github.com/Dasharo/dasharo-issues/issues/169)
[FreeBSD serial output is broken](https://github.com/Dasharo/dasharo-issues/issues/170)
[Linux kernel panic on booting USB media](https://github.com/Dasharo/dasharo-issues/issues/171)
[Builds are not reproducible](https://github.com/Dasharo/dasharo-issues/issues/189)

tlaurion avatar Jan 31 '23 21:01 tlaurion

Hopefully, weird build race conditions that were related to coreboot 4.11 on CircleCI's debian-11 docker will not be present and 2dac5c1 should build at https://app.circleci.com/pipelines/github/tlaurion/heads/1430/workflows/6a5af379-e3df-4f15-aabc-8a906b247abe/jobs/15930

Note that the following compilation options were required to be passed to that version of coreboot (4.16+?) https://github.com/osresearch/heads/pull/1303/files#diff-18936189b28399cf48703d0c1ec1df33e57c559de2a12f4438be00e6813bdb68R46: EXTRA_FLAGS := -fdebug-prefix-map=$(pwd)=heads -gno-record-gcc-switches -Wno-error=packed-not-aligned -Wno-error=address-of-packed-member -Wno-error=null-dereference

tlaurion avatar Jan 31 '23 23:01 tlaurion

Attemtping to build from CI for all KGPE-d16 variants already existing

tlaurion avatar Feb 15 '23 18:02 tlaurion

Copying coreboot config changes across boards (linux command line differs, we cannot use a single coreboot config across all boards, but needs to be revisited).

tlaurion avatar Feb 15 '23 19:02 tlaurion

UART_FOR_CONSOLE vanished in current PR. To revisit and check against personal branches, rebase on master and force push so that roms are produced for now UNTESTED_kgpe-d16* variants.

Todo:

  • [ ] verify branch https://github.com/tlaurion/heads/tree/dasharo_flashrom_test_ast1100_internal_optional_for_kgpe-d16_mst_otherwise_510_bumped
  • [x] verify that ASPEED is supported from dasharo side

tlaurion avatar Jul 24 '23 23:07 tlaurion

commit cherry-picked and applied on top of master + added nvme inside of linux kernel configs.

tlaurion avatar Aug 18 '23 13:08 tlaurion

Expecting IASL tarball dowload to fail as for all other past versions and forks which didn't fix. Will prepare patch and add seperately

tlaurion avatar Aug 18 '23 14:08 tlaurion

Expecting IASL tarball dowload to fail as for all other past versions and forks which didn't fix. Will prepare patch and add seperately

yep. it points to

buildgcc:42:IASL_VERSION=20210331
buildgcc:60:IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix2-${IASL_VERSION}.tar.gz"

tlaurion avatar Aug 18 '23 14:08 tlaurion

Note: this cannot be built on top of debian-12 as this is . CircleCI uses a debian-11 docker as a base, which is expected to be able to build ~4.16 on which dasharo/coreboot fork for kgpe-d16 is based on.

tlaurion avatar Aug 18 '23 16:08 tlaurion

Previous commit changes IASL url to point to intel.... Couldn't find a mirror for that. Looking ofrward for upstream fixing this once and for all with mirrors integrated to retry somewhere else when they fail and have actual mirror of that stuff.

Same should apply for all things into https://github.com/osresearch/heads/issues/1198

tlaurion avatar Aug 18 '23 17:08 tlaurion

UART_FOR_CONSOLE vanished in current PR.

  • 0 is physical port
  • 1 is virtual (SOL)

Maybe we should create another board that doesn't imply ASBv4 (no BMC at all).

Note that dasharo kgpe-d16 config is at https://github.com/Dasharo/coreboot/blob/cef95aaa3168722c62e63a92c803a733b81f2531/configs/config.asus_kgpe_d16_16M_vboot_tpm12

tlaurion avatar Aug 19 '23 13:08 tlaurion

Ok. Reviewed dasharo upstream based defconfig and adapting for server and workstation, saving in oldconfig format in tree. Took current Heads CBFS and ROM size (10mb, should be adjusted to have 16mb-coreboot size to have maximized CBFS region later on, lots of unused space under rom as ofd now)

Workstation: UART=0 (Serial console), native linear gfxinit enabled + bootsplash Server: UART=1 (SOL, BMC serial), native txt no bootsplash and output to BMC+console

tlaurion avatar Aug 21 '23 21:08 tlaurion

UART_FOR_CONSOLE vanished in current PR. To revisit and check against personal branches, rebase on master and force push so that roms are produced for now UNTESTED_kgpe-d16* variants.

Todo:

* [ ]  verify branch https://github.com/tlaurion/heads/tree/dasharo_flashrom_test_ast1100_internal_optional_for_kgpe-d16_mst_otherwise_510_bumped

* [x]  verify that ASPEED is supported from dasharo side

UART=0 is local serial console. This was not activated and debugging was expected to happen over BMC serial console. Now changed so workstation doesn't expect a BMC at all as of now.

UART=1 is SOL (so BMC)

tlaurion avatar Aug 21 '23 21:08 tlaurion

Instructions to test CircleCI builds https://forum.qubes-os.org/t/heads-needs-testers-with-external-programmers/19564/3?u=insurgo

tlaurion avatar Aug 22 '23 00:08 tlaurion

Just to clarify, I am running #1303 UNTESTED_kgpe-d16_workstation-usb_keyboard and with an AMD GPU it wasn't booting properly or even showing the HEADS splash screen. Installing an Nvidia GPU with no other changes and everything is working as expected.

Originally posted by @build-cool91 in https://github.com/osresearch/heads/issues/1395#issuecomment-1730197258

tlaurion avatar Sep 22 '23 17:09 tlaurion

Just to clarify, I am running #1303 UNTESTED_kgpe-d16_workstation-usb_keyboard and with an AMD GPU it wasn't booting properly or even showing the HEADS splash screen. Installing an Nvidia GPU with no other changes and everything is working as expected.

Originally posted by @build-cool91 in https://github.com/osresearch/heads/issues/1395#issuecomment-1730197258

Let's remember that Nvidia and amd dgpu not requiring firmware blobs packed under initrd are consequently expected to work over current PR

tlaurion avatar Sep 22 '23 17:09 tlaurion

Just to clarify, I am running #1303 UNTESTED_kgpe-d16_workstation-usb_keyboard and with an AMD GPU it wasn't booting properly or even showing the HEADS splash screen. Installing an Nvidia GPU with no other changes and everything is working as expected.

Originally posted by @build-cool91 in https://github.com/osresearch/heads/issues/1395#issuecomment-1730197258

Let's remember that Nvidia and AMD dgpu not requiring firmware blobs packed under initrd are consequently expected to work under current PR, where additional work would be needed to include needed dgpu firmware blobs or try to attempt generic efifb/simpledrm approach.

I'm thinking of renaming board configs so that Workstation states blobless_dgpu or something. @build-cool91 : thoughts?

tlaurion avatar Sep 22 '23 17:09 tlaurion

Yeah I think the rename would make sense, in my case at least it was only an older Nvidia card that worked...but could also mean that older AMD cards would be fine - not sure.

build-cool91 avatar Sep 22 '23 18:09 build-cool91

kgpe-d16 moved as unmaintained board under #1604

tlaurion avatar Mar 25 '24 20:03 tlaurion