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

Adding xx20 boards into CI (x220, T420) #873

Closed
tlaurion opened this issue Oct 27, 2020 · 13 comments
Closed

Adding xx20 boards into CI (x220, T420) #873

tlaurion opened this issue Oct 27, 2020 · 13 comments

Comments

@tlaurion
Copy link
Collaborator

tlaurion commented Oct 27, 2020

Quick reflexion to launch debate for xx20 boards owners/enthusiasts:
@SebastianMcMillan @techge @eganonoa @shamen123 @Thrilleratplay

If the instructions of installation were specifying to
flashrom -p ch341_a -c XXXXXXXX --ifd BIOS -w heads.rom

  • Wouldn't it be possible to produce valid externally/internally flashable roms which just doesn't touch ME/GBE and respect origin IFD board?

  • Then, without releasing blobs based repositories (no actual blobs, under blobs dir), have instructions showing how to unlock IFD, reduce ME, expend BIOS region on original ROM and then have another x220 board, which produces ROMs for that larger BIOS region, permitting other tools to merge in? Instructions would need to be updated, of course. But i'm thinking of something like 3 boards per actual platform or something similar to, for example:

  • x220-neutered (having CBFS for BIOS region maximized, taking into consideration that ME is cleaned and IFD corresponding to CBFS region defined in coreboot-xx20.config)

  • x220-deactivated (the user having deactivated ME, while not having neutered it, CBFS region of coreboot matching stock IFD, with ME not being neutered)

  • x220-external-flash (with blobs in, similar to Add xx30-maximized and xx30-hotp-maximized boards (11.5mb flashable BIOS regions, reproducible me.bin and generated gbe.bin and totally externally and internally flashable roms) #703)

Asking the question to xx20 boards testers cause this board is not enough tested and consequently of the past merged commits that passed to all other boards, I believe that those boards might become less and less supported (and not even building per users) if at least regressions are not at least validated by CIs. This is undesired:

Time to change our approaches. Otherwise we will have to fixate boards to use a specific versions of modules in board configs, since upgrading them is becoming more and more difficult, each version of a module upgrade normally increasing in size. (coreboot, kernel, gpg2, etc)

The next approach, if no-one joins in, will probably be to fixate modules version to last known working version prior of pushing changes upstream. That would mean, for example, that the xx20 would be stuck to old versions of everything.

@snmcmillan
Copy link
Contributor

snmcmillan commented Oct 27, 2020 via email

@Thrilleratplay
Copy link
Contributor

Thrilleratplay commented Oct 27, 2020

@tlaurion

Wouldn't it be possible to produce valid externally/internally flashable roms which just doesn't touch ME/GBE and respect origin IFD board?

Externally, no. There is only one 8mb rom chip and will need to contain the ME/IFD/GBE partitions to flash externally. Internally, perhaps with the -p internal:ich_spi_mode=hwseq flag merged in #871 but I have yet to test this. The main issue with using the -c XXXXXXXX flag is that user needs to remember which chip it is each time they update. I didn't know that had changed for the x220 and will try it out later with coreboot.

With additional scripts/modules, a solution similar to #703 could be implemented. The GBE is the same for both models. While it would be a lot of work and testing to get to this point, the X220,T420,T520, X230, T430, T530 could all generate 8mb externally flashable versions heads. For the models that have 12MB, they can be flashed internally to take advantage of the remaining 4mb with extra features.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Oct 27, 2020

@SebastianMcMillan : so only:

x220-neutered (having CBFS for BIOS region maximized, taking into consideration that ME is cleaned and IFD corresponding to CBFS region defined in coreboot-xx20.config)

This would still require modifications on xx20 instructions so that all users know what they have to do to have a xx20 board, where CI could create flashable ROMS only for that BIOS region, where it would fail if the regions mismatches.

@tlaurion
Copy link
Collaborator Author

@SebastianMcMillan : I edited OP.

@snmcmillan
Copy link
Contributor

snmcmillan commented Oct 27, 2020 via email

@tlaurion
Copy link
Collaborator Author

@SebastianMcMillan this is linked to #870 (comment)

@tlaurion
Copy link
Collaborator Author

Also, I just noticed #871 being made. I know for a fact those changes were made a while back and merged in, as my X220 has the flashrom options with ich hwseq enabled. Which commit reverted that? Edit: when flashrom 1.2 support was added, X220 flashrom options got changed and had that reverted. I added that specifically since it prevented the issue with different flash chips needing the -c flag.

Yeah. Seems like a regression was added https://github.com/osresearch/heads/blame/e3519f2ecd8e396d92905317ac5151e590388b02/boards/x220/x220.config#L39 thinking it was not required anymore.

@tlaurion
Copy link
Collaborator Author

First step is #877
Where gbe could then be generated, and where ME could be downloaded and extracted, so only a dead mainboard ifd should be provided by community to be dropped in github per xx20 blobs dir.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Nov 8, 2020

We might have a problem
corna/me_cleaner#343

@tlaurion
Copy link
Collaborator Author

tlaurion commented Nov 9, 2020

Won't happen until #877

@tlaurion
Copy link
Collaborator Author

@Thrilleratplay Clarified xx30 board config with explanations and proper seperations of modules with explanations under b981004

@Thrilleratplay
Copy link
Contributor

@tlaurion Sorry, I meant the direction the entire PR was going. However, that was incredibly useful. The comments and missing functionality from the xx20 boards has been merged under #912,

@tlaurion
Copy link
Collaborator Author

fixed under maximized xx20 boards

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

No branches or pull requests

3 participants