Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

tlaurion
Copy link
Collaborator

@tlaurion tlaurion commented Jan 31, 2023

  • 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 tlaurion marked this pull request as draft January 31, 2023 21:55
@tlaurion tlaurion force-pushed the kgpe-d16_dasharo_test branch 2 times, most recently from 88a5f01 to 2dac5c1 Compare January 31, 2023 23:36
@tlaurion
Copy link
Collaborator Author

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 tlaurion changed the title WiP: build kgpe-d16_server-whiptail against dasharo/coreboot WiP: build kgpe-d16_server-whiptail against dasharo/coreboot (kgpe-d16 dasharo release 0.4) Jan 31, 2023
@tlaurion
Copy link
Collaborator Author

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

@tlaurion
Copy link
Collaborator Author

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 tlaurion force-pushed the kgpe-d16_dasharo_test branch 2 times, most recently from c182cb8 to cd82066 Compare February 15, 2023 19:55
@tlaurion tlaurion changed the title WiP: build kgpe-d16_server-whiptail against dasharo/coreboot (kgpe-d16 dasharo release 0.4) WiP: current kgpe-d16 boards against dasharo/coreboot (kgpe-d16 dasharo release 0.4) Jun 16, 2023
@tlaurion
Copy link
Collaborator Author

tlaurion commented Jul 24, 2023

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:

@tlaurion
Copy link
Collaborator Author

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

@tlaurion
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

tlaurion commented Aug 18, 2023

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.

…inux configs

- coreboot kgpe-d16: WiP attempt to fix ISAL url with patch and coreboot failing crossgcc build with EXTRA_PARAMS overriden in
- CircleCI: fix names for kgpe-d16: they are part of UNTESTED boards as of now
@tlaurion
Copy link
Collaborator Author

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 #1198

@tlaurion
Copy link
Collaborator Author

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

…f95aaa3168722c62e63a92c803a733b81f2531/configs/config.asus_kgpe_d16_16M_vboot_tpm12 as base, and specialize for workstation (UART=0: serial console and proper port, bootsplash and linear framebuffer) and server (UART=1: SOL, no bootplash and text console). Next step would be to reuse EFIFB if we do not break anything here. Should permit debugging on workstation (serial console) and server (BMC SOL).
@tlaurion
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

@tlaurion
Copy link
Collaborator Author

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 #1395 (comment)

@tlaurion
Copy link
Collaborator Author

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 #1395 (comment)

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

@tlaurion
Copy link
Collaborator Author

tlaurion commented Sep 22, 2023

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 #1395 (comment)

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?

@build-cool91
Copy link

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.

@tlaurion
Copy link
Collaborator Author

kgpe-d16 moved as unmaintained board under #1604

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants