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

NV56TU code does not build (reported in DM by Theirry) #1139

Open
pietrushnic opened this issue Nov 14, 2024 · 21 comments
Open

NV56TU code does not build (reported in DM by Theirry) #1139

pietrushnic opened this issue Nov 14, 2024 · 21 comments
Assignees
Labels
bug Something isn't working firmware needs review novacustom_v56_mtl NovaCustom V56 Series

Comments

@pietrushnic
Copy link

Component

Dasharo firmware

Device

NovaCustom V56 14th Gen

Dasharo version

v0.9.0

Dasharo Tools Suite version

No response

Test case ID

No response

Brief summary

Commit reference config points to bad FSP paths, no recipe to build EC

How reproducible

I'm unsure; I'm just reporting what Thierry sent me in DM. I assume it should 100%.

linuxboot/heads#1835

How to reproduce

Try to build https://docs.dasharo.com/variants/novacustom_v560tu/releases/#v090-2024-07-18

Expected behavior

Dasharo (coreboot+UEFI) builds correctly based on the provided information in the release.

Actual behavior

No sure, no logs, no error messages received. Someone has to try to reproduce that and confirm this is valid.I'm not sure. No logs, no error messages were

Screenshots

No response

Additional context

It blocks Heads development. From Thierry:

  • reference config does not point to proper FSP header and other paths are wrong (untested?)
  • FMP will need to be redefined since there is no contiguous free space in firmware (we need 7.5mb for payload in CBFS, and all other free space), never had to write up/modify FMP before where ifd in tree cannot be parsed with ifdtool
  • ec is not built by Heads, need code there under modules/coreboot as contribution (patch)

I see linuxboot/heads#1846 changing used coreboot fork commit to accomodate same kind of issues discovered by mkopec.

Solutions you've tried

No response

@tlaurion
Copy link

tlaurion commented Nov 14, 2024

To validate this, defconfig needs to be expended into ooldconfig. Here I can only refer to what is under defconfig of ref config at
https://github.com/Dasharo/coreboot/blob/316f964cb0f892ad4fe985b16c598f1e5ed8fe61/configs/config.novacustom_v560tu

TLDR: code, paths + reference config needs to build under Heads and then Heads features tested on my side under linuxboot/heads#1835

@tlaurion

This comment was marked as off-topic.

@macpijan
Copy link
Contributor

@mkopec is it already resolved in: linuxboot/heads#1846 ?
Can you please clarify what was the problem here?

@mkopec
Copy link
Member

mkopec commented Nov 19, 2024

FSP paths

Needed to change path from novacustom-blobs (private) to dasharo-blobs (public). The FSPs themselves are the same.

EC firmware

Probably need to add a new step in CI, but this is the first release, so I'm not sure if EC FW needs to be included

CBFS_SIZE + IFD/FIT tables need to work with CBFS >= 8MB so payload can be stitched in.

Not sure about this one, so far I've managed to build coreboot with LPSS UART for debugging. coreboot logs end with jumping to payload, but nothing happens afterwards (on console or on screen)

@tlaurion
Copy link

tlaurion commented Nov 20, 2024

linuxboot/heads#1846 (comment)

@mkopec

mkc: seems like kernel 6.7+ is bare minimal for meteor lake, with efifb fixes having landed under 6.8+?

Also, if you pass serial to kernel boot options under coreboot config, you should get logs of the kernel?

At https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$bVtsV3M_sz0MroFsDkXRGQ3ow7OhumKqtAllchkAyKs?via=matrix.org&via=nitro.chat&via=envs.net

@macpijan
Copy link
Contributor

macpijan commented Dec 3, 2024

@mkopec I think you have not responded to me previous message in full. Can we please point to repo revision which can be built by all users? We are getting another reports via Matrix.

@macpijan
Copy link
Contributor

macpijan commented Dec 3, 2024

We need clear information on what's the problem here and link / inform in the documentation which tags cannot be build, and whether there are some workarounds we want propose.

@tlaurion
Copy link

tlaurion commented Dec 3, 2024

We need clear information on what's the problem here and link / inform in the documentation which tags cannot be build, and whether there are some workarounds we want propose.

Its simply missing linuxboot/heads#1846 (comment) so collaboration that happened there is merged into dasharo, builds ans I can continue my collaboration under v560tu to do the same thing I did for V540TU, but own a v560tu so should land faster from my side since I will be able to test and unbrick if it builds and doesn't cause a brick.

I still have no news on EC being built and integrated into coreboot stitched rom to self sync ec, since that wasn't part of V540TU AFAIK.

@mkopec
Copy link
Member

mkopec commented Dec 4, 2024

@macpijan I fixed the build issue for Heads, but for UEFI it's a different matter, because there we depend on the Intel GOP driver which AIUI cannot be published standalone, unincorporated into a complete firmware image

@Algebro7
Copy link

Has there been any progress on resolving this issue for UEFI? The public facing docs still say that it's possible to build it, and without being able to do so there is no way to verify the integrity of the firmware. Thanks!

@mkopec
Copy link
Member

mkopec commented Dec 13, 2024

@Algebro7 We have a new build system, please check out https://github.com/Dasharo/fwbuild and let us know if it works for you :)

This release was quite problematic due to blobs and their licensing, this system works around these issues

@Algebro7
Copy link

Nice! I see a FWBUILD for the v540 in there, will that work for the v560?

@mkopec
Copy link
Member

mkopec commented Dec 13, 2024

@Algebro7 Please check again, I just pushed V560TU too

@Algebro7
Copy link

Alright, it built, will try flashing it later. BTW, what is this blob here? https://github.com/Dasharo/fwbuild/blob/main/v560tu/uefi/v0.9.0/bios/FWBUILD#L35

@mkopec
Copy link
Member

mkopec commented Dec 14, 2024

That is the intel gigabit ethernet driver, it's needed for network boot support. It may only be redistributed when integrated into a full firmware binary, so we had to add this workaround

@Algebro7
Copy link

Thanks! I tried flashing the ec rom from DTS today and it's failing with the following errors:

# flashrom -p ite_ec:boardmismatch=force,romsize=128K -w novacustom_v560tu_ec.rom
ITE EC programmer not (yet) supported on this device
Proceeding anyway because user forced us to
Failed to read EC project
Failed to read EC version
Flash Part ID: 00 00 00
Found ENE flash chip "KB9012 (EDI)" (128 kB)
Found Programmer flash chip "Opaque flash chip" (128 kB, Programmer-specific) on ite_ec.
Reading old flash chip contents... Flash read failed @ 0x0
FAILED.

Any idea what's up with that? There were no errors/warnings in the build process.

@mkopec
Copy link
Member

mkopec commented Dec 16, 2024

If you already have Dasharo EC installed you can use dasharo_ectool flash to update your EC firmware.

@Algebro7
Copy link

And how can I troubleshoot if I don't? I don't necessarily trust the firmware that was pre-flashed on this device so I'd like to make sure it's possible "start fresh".

@mkopec
Copy link
Member

mkopec commented Dec 16, 2024

If you had Clevo proprietary EC firmware, then you would use flashrom -p ite_ec like you tried here: #1139 (comment)

The flashing protocol is different depending on which EC firmware you have. While Clevo EC firmware is running, you need to use flashrom, but while Dasharo EC is running, you would need to use dasharo_ectool.

@Algebro7
Copy link

Ah OK, thanks for the explanation. dasharo_ectool seems to have worked fine :)

@tlaurion
Copy link

tlaurion commented Dec 19, 2024

From linuxboot/heads#1846 (comment)

@mkopec 3f8a0df is booting into heads for me!!!!

Booting to Heads from power button press to Heads takes 35 seconds for you too mkopec?

Logs gathered, will try to see why powering up to load payload - > selfboot jump takes 33 seconds (and why kernel log (dmesg) says 3 seconds which is heads part before being finalizing loading usb controllers drivers...)

v650tu-cbmem_c_me-excerpt.txt
v650tu-dmesg.txt
v650tu-cbmem_1.txt
v650tu-cbmem_t.txt

So 3f8a0df builds and boots. Not done yet, but this ticket can be closed. That commit builds, but end users stock on bootsplash for 30 seconds. This is linuxboot/heads#1846 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working firmware needs review novacustom_v56_mtl NovaCustom V56 Series
Projects
None yet
Development

No branches or pull requests

5 participants