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

xx20/xx30: Reduce coreboot configuration duplicates + label legacy boards correctly #1301

Conversation

tlaurion
Copy link
Collaborator

@tlaurion tlaurion commented Jan 31, 2023

Currently based on #967 and #1298 (which is also based on #967)

Basically, only the last 3 commits of this PR are from this PR.


  • Remove coreboot configurations duplicates (no need for coreboot-*-hotp boards)
  • Clearly label legacy boards (xx30-flash/xx30-hotp-verification -> xx30-legacy-flash/xx30-hotp-legacy)

Remove coreboot configurations duplicates (no need for coreboot-*-hotp boards)

Thanks to @SergiiDmytruk, commit fa8e884 permitted to decouple each Heads board config to also have an associated coreboot config which pointed to per board CONFIG_PAYLOAD_FILE and CONFIG_LINUX_INITRD.

Since the introduction of @BOARD_BUILD_DIR@, a lot of coreboot configurations were duplicates of each other.

This PR removes them.


Clearly label legacy boards

This PR removes confusion possibility of legacy vs maximized boards.

As a matter of fact, only t430/x230 have legacy board configurations
Reminder : legacy boards do not require users to neuter ME or unlock IFD. As a consequence, legacy boards coreboot's configurations (CBFS_SIZE) are way more limited in payload size, since they cannot take advantage of ME freed space from ME and assign it to BIOS region. Also, to be able to take advantage of ME freed space, ME region needs to be unlocked as well as the IFD descriptor. This is practical to some who wants to use 1vyrain weaponized exploits to flash Heads. That would be 1vyrain flash the 4mb image, and that is as of this PR the xx30-legacy-flash board configurations.

Once flashed, those legacy board configurations are different then maximized board configurations.
Board's configuration CONFIG_FLASHROM_OPTIONS statement instructs flashrom to only flash IFD's defined BIOS region, not touching the IFD itself, neither ME nor GBE regions (as opposed to maximized board configurations what overwrite the whole SPI flash chip content, which expects IFD/ME/GBE regions to be unlocked).
As a result, legacy and maximized coreboot configurations differ in CBFS_SIZE, except t420 and x220 boards that have not been moved/renamed, since they expect the end user to provide the IFD and ME.bin as of today, while maximized counterpart are provided which can download+extract/generate them from the blobs/xx20 available scripts.

@tlaurion tlaurion force-pushed the reduce_coreboot_configuration_duplicates-label_legacy_boards_correctly branch from 48390dd to 12175c3 Compare February 9, 2023 17:36
@tlaurion tlaurion force-pushed the reduce_coreboot_configuration_duplicates-label_legacy_boards_correctly branch from 12175c3 to 0112763 Compare February 9, 2023 17:52
@tlaurion
Copy link
Collaborator Author

tlaurion commented Feb 9, 2023

Ok xx20/xx30 board owners! The last two PR were important merges, more specifically #1298 to give Heads some room for fast development and faster merging (as the name says, xx20 and xx30 gained quite a lot of SPI space!)

I would love at least one xx20 and one xx30 (other then x230 which I own) to be tested:

Please report!


@jan23: #1298 merged PR will permit legacy boards to most probably reintegrate fbwhiptail support as well into t430-hotp-verification (now named t430-htop-legacy) EDIT: sorry. Talked too quick. There is not more space available under legacy boards. So whiptail it is and is related to #1293 for possible additional space, and #1121 ot have those board still having possibility to have same kernel updates and additional modules.

Please be aware (and approve) board names changes.
For what concerns Nitrokey, this means t430-hotp-verification-> t430-hotp-legacy, t430-flash-> t430-legacy-flash, x230-flash-> x230-legacy-flash and x230-hotp-verification->x230-hotp-legacy (and old redundant coreboot configs being deleted)

tlaurion added a commit to tlaurion/heads that referenced this pull request Feb 10, 2023
@tlaurion
Copy link
Collaborator Author

tlaurion commented Feb 10, 2023

I would be interested in hearing which board configurations you use? (xx20-hotp-maximized? xx20 with manual blobs extraction script under blobs/x220 blobs/t420 ?)

Context: I got scared of pushing changes that could break your configurations, but theoritically validated that master changes should not. This was discussed under #1310

I'm asking because I do not know what to currently do with x220 and t420 board configurations. They are not really maximized boards (they do not flash the whole SPI upon upgrade) but they are not legacy boards either (ME is neutered and freed space is passed to bios region and matched inside of IFD per layout.txt inside of the extract scripts).
Recommendations on how to rename those t420/x220 boards? As of now, they stay there but I tend to forget about them. And as today they do not fit in the other boards legacy/maximized categories either. I am not even sure they are even used today since maximized boards counterparts exist.... Let me know!

@techge?

@techge
Copy link
Contributor

techge commented Feb 10, 2023

As mentioned some time before, I am not using any heads system anymore (currently, that is), as I needed to finally switch to a newer (not heads compatible) laptop... sadly...

@tlaurion
Copy link
Collaborator Author

tlaurion commented Feb 10, 2023

Haaaaaaa. Which explains why you are not tagged under x220 anymore.

@techge
Copy link
Contributor

techge commented Feb 10, 2023

I only recall to have used some kind of maximized-hotp version for the x220...

@natterangell
Copy link
Contributor

t420-hotp-maximized. The first time I flashed heads I compiled manually and used extract script, the flashed externally. Every update since has been CircleCI roms, flashed from heads.

@srgrint
Copy link
Contributor

srgrint commented Feb 10, 2023

I have only ever used x220-maximized. Also used self compiled initially with manually extracted blobs from stock rom. For testing purposes, I have used the versions from CircleCI.

@tlaurion tlaurion merged commit ffd8ab9 into linuxboot:master Feb 15, 2023
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.

4 participants