boards: Add Star Labs Heads targets - #2164
Conversation
Pin release 26.07.1 and apply the build and SMM lockdown prerequisites. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Add the shared Linux, update and Intel settings used by physical Star Labs boards. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Add the Lite ADL board configuration and CI target. Signed-off-by: Sean Rhodes <sean@starlabs.systems>
|
~Addresses StarLabsLtd/firmware#104. Thanks for your contribution @Sean-StarLabs Will try to review toroughly in next coming days but plate quite full right now. Looks good at first glance! Meanwhile, would be nice if you added the checklist that can be found at https://github.com/linuxboot/heads-wiki/edit/master/Development/Porting.md and suggest changes there for things you see unfit. |
|
Also think/suggest changes you would want to see at https://osresearch.net/Vendors/ (edit this page on github link at bottom of the page) As well as documenting the same way under https://osresearch.net/Flashing-guides I will collaborate in those PR as we go! |
|
@Sean-StarLabs Love your work here, LGTM. Checklist needs completion, of course. Also seen as part of work addressing #2159 that you pushed fixes coreboot side. Tracking with great interest. You might want to take a look at #2165 and linuxboot/heads-wiki#221 Do you have a timeline for testing? |
|
@Sean-StarLabs you might want to add your GPIO work under label https://review.coreboot.org/q/topic:%22intel_gpio_lock%22 |
Meanwhile, you can add related unmerged patches needed for your port to be applied to coreboot fork (as you did under patches/coreboot-starlabs_2607) for TPM GPIO reset vuln, if merging upstream stalls and prevents you from going forward (or point modules/coreboot to commits confirmed working on your side). |
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
|
@Sean-StarLabs You saw https://app.circleci.com/pipelines/github/linuxboot/heads/1394/workflows/0d81f5d0-83fb-4af2-9df5-56797eeb7fb8/jobs/52499 ? |
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
daaa439 to
faa0a50
Compare
|
@Sean-StarLabs anything needed on my side? |
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
|
On 67cace7 Unless needed (msi platforms needed to have a punched hole to support recovery from proprietary tools), instead of using flashprog and read the whole spi to get cbfs content: it is advised to reduce cbfs region within the 16mb memory limit after which cbfs (flashtools/cbfs.c) would need some love to read as expected cbfs region> 16mb |
Otherwise issue to fix to keep >16mb cbfs region is osresearch/flashtools#10 Didn't prioritize this since msi platform is community port with few known users. If choosing to keep >16mb or not fix cbfs.c from pointed issue, you probably observed longer boot time since flashprog is slow at backup rom to extract cbfs from early cbfs-init.sh, which is a bug to be fixed, not to be used extensively in new boards:this is why I suggest reducing cbfs size in coreboot config. 3mdeb/dasharo+heads got dropped upstream for the msi platforms, workstations +dGPU didn't receive enough love to facilite proper UX with either oprom measure+extraction (borrowing seabios code), requiring both iGPU + dGPU so dual monitor setup as workaround, to say the least, subefficient. Are you on matrix? Dm me if you will :) Hope you enabled debug logging in local builds, so you can get the Debug + TRACE_FUNC output to get a quick grasp of what is happening under the hood and ease your porting process. Should not be hard since other platforms of same family exist, outside of coreboot upstream required fixes which you seem to have already grasped (either coreboot module pinned commit or patches/coreboot-* fork applied incrementally in alphanumeric order). I see great ROI here, please contact. |
Add Heads support for the Star Labs target set, continuing the original StarLite Mk V PR as a patch-per-board series.
Scope
starlabs_qemustarlabs_starbook_mtlstarlabs_starbook_adlstarlabs_starbook_adl_nstarlabs_starbook_rplstarlabs_starbook_tglstarlabs_labtop_cmlstarlabs_labtop_kblanalysis targetstarlabs_adl_horizonstarlabs_byte_adlstarlabs_byte_twlstarlabs_byte_cezannestarlabs_starbook_cezannestarlabs_lite_glkanalysis targetstarlabs_lite_glkranalysis targetstarlabs_starfighter_mtlstarlabs_starfighter_rplInitial installation and recovery require board-appropriate external recovery access. For StarLite Mk V, the current recovery reference remains:
https://support.starlabs.systems/hc/star-labs/articles/starlite-mk-v-installingrecovering-firmware-with-external-programmer
The related vendor, porting and flashing documentation is under review in linuxboot/heads-wiki#222. The flashing page remains unpublished until this port is merged and hardware-tested.
Validation
Signed-off-by: Sean Rhodes <sean@starlabs.systems>.make -s BOARD=<target> echo_modulespassed for every Star Labs target in this PR, includingstarlabs_lite_adl.git diff --check ... -- . ':(exclude)patches/**'.Lite ADL porting checklist
flashprog -p internalreports the flash unlocked beforelock_chip.lock_chipapplies PR0.flashprog -p internalreports the flash locked afterwards.