dasharo-issues icon indicating copy to clipboard operation
dasharo-issues copied to clipboard

QEMU Q35 (coreboot+UEFI) - coreboot part

Open krystian-hebel opened this issue 1 year ago • 1 comments

Dasharo version (if applicable)

n/a

Dasharo variant (if applicable)

qemu_q35

Affected component(s) or functionality (if applicable)

(coreboot+UEFI) configuration and missing pieces of code

Brief summary

This task gathers results from analysis of building and running (coreboot+UEFI) on QEMU Q35 in form of list of what needs to be addressed in coreboot to make it viable. Analysis stopped right after it was possible to boot into UEFI shell, so the list may be incomplete if critical deficiencies are discovered during tests.

Additional context

  • [ ] Update coreboot so it includes https://review.coreboot.org/c/coreboot/+/77385
  • [ ] Create config file that uses Q35 with our edk2 fork as a payload (may require additional options like UDK_202005_BINDING and EDK2_BOOTSPLASH_FILE)
  • [x] Change #if !CONFIG(SOC_AMD_COMMON) in src/vendorcode/dasharo/options.c to #if CONFIG(SOC_INTEL_COMMON_BLOCK_CSE) (it's present in two lines)
  • [ ] #827
  • [ ] #828

krystian-hebel avatar May 07 '24 11:05 krystian-hebel

PR changing SOC_AMD_COMMON to something more sane: https://github.com/Dasharo/coreboot/pull/508

krystian-hebel avatar May 17 '24 11:05 krystian-hebel

https://github.com/Dasharo/coreboot/tree/dasharo-24.02.1 contains https://review.coreboot.org/c/coreboot/+/77385 and few other convenient changes made upstream. It also contains all of Dasharo features, so it is a good starting point.

I've started integrating all changes under https://github.com/Dasharo/coreboot/pull/511, they may change slightly if patches sent upstream change after review. Config file is included, but it will be different after edk2 gets updated.

krystian-hebel avatar May 24 '24 19:05 krystian-hebel

I've updated https://github.com/Dasharo/coreboot/pull/511, now it should be more or less what final release looks like. I will move them to different branch, since name for this one better fits one of the tasks for Capsule Update, and it is easier to move commits around than change branch name in PR.

I've run some tests to check for obvious issues and to have a comparison before switching to rebased edk2, which I plan to do tomorrow. Nothing unexpected so far, other than https://github.com/Dasharo/dasharo-issues/issues/542#issuecomment-2133955356 and errors caused by lack of OS, which I skipped to save time.

krystian-hebel avatar May 27 '24 19:05 krystian-hebel

Config, script for building and integration of all related changes are in https://github.com/Dasharo/coreboot/pull/514. This should be enough to build working image.

krystian-hebel avatar Jun 04 '24 15:06 krystian-hebel

https://github.com/Dasharo/coreboot/actions/runs/9587955687/attempts/1?pr=514 has the image built by CI. Unless there are critical errors discovered during testing, this has high probability of being the binary that will be released.

EDIT: there will be at least one more rebase...

krystian-hebel avatar Jun 20 '24 11:06 krystian-hebel

Config, script for building and integration of all related changes are in https://github.com/Dasharo/coreboot/pull/514. This should be enough to build working image.

this PR is merged, so closing this issue

BeataZdunczyk avatar Jun 26 '24 14:06 BeataZdunczyk