heads
heads copied to clipboard
WiP: current kgpe-d16 boards against dasharo/coreboot (kgpe-d16 dasharo release 0.4)
- 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 initializationFixed
[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)
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
Attemtping to build from CI for all KGPE-d16 variants already existing
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).
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
commit cherry-picked and applied on top of master + added nvme inside of linux kernel configs.
Expecting IASL tarball dowload to fail as for all other past versions and forks which didn't fix. Will prepare patch and add seperately
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"
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.
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
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
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
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)
Instructions to test CircleCI builds https://forum.qubes-os.org/t/heads-needs-testers-with-external-programmers/19564/3?u=insurgo
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
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
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?
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.
kgpe-d16 moved as unmaintained board under #1604