Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 16, 2025

The documentation contained extensive references to "Legacy vs Maximized boards" that are no longer relevant and were confusing newcomers. Since all current Heads boards now use what was previously called the "maximized" approach, this distinction has become obsolete.

Changes Made

Prerequisites.md:

  • Replaced the lengthy "Legacy vs Maximized boards" section with a concise "Board Architecture Overview"
  • Clearly states that all current boards use modern architecture with deactivated ME and unlocked IFD
  • Corrected ME statement to clarify that neutering is only possible on older platforms (up to Ivy Bridge), while newer platforms use HAP bits or other deactivation methods
  • Replaced problematic collapsible section with clean link to dedicated historical page

Upgrading.md:

  • Simplified the migration section and replaced collapsible content with link to dedicated historical page
  • Updated verification steps to focus on current vs. very old firmware rather than legacy vs. maximized
  • Updated flash tool references to use flashprog for newer firmware (2025+) with fallback to flashrom for older versions
  • Maintained important safety warnings while reducing complexity

Development/Porting.md:

  • Fixed broken link reference to the removed Prerequisites section
  • Updated technical language to reflect current board architecture

Building-Heads documentation:

  • Updated p8z77-m_pro-tpm1.maximized.md and x230-maximized.md
  • Removed confusing "as opposed to legacy boards" comparisons

About/Historical-Legacy-Migration.md (New):

  • Created dedicated page for all historical legacy board information
  • Includes complete legacy board details, migration steps, and technical information
  • Properly formatted with table of contents and clear section headers
  • Resolves formatting issues that occurred with collapsible sections
  • Updated flash tool references to reflect flashrom→flashprog transition

configuring-keys.md:

  • Updated flash tool completion references to be generic about which tool is used based on firmware version

Impact

This change eliminates confusion for newcomers by:

  • Clearly communicating that all current boards use unified, modern architecture
  • Removing references to non-existent "legacy" board variants
  • Preserving historical context in a dedicated, properly formatted page for edge cases where users might be upgrading from very old firmware
  • Fixing technical inaccuracies about ME handling across different Intel platform generations
  • Ensuring accurate flash tool references for both current (flashprog) and older (flashrom) firmware versions

The documentation now accurately reflects the current state of the Heads repository where all supported boards use the approach that was previously distinguished as "maximized," with platform-appropriate ME deactivation methods and correct flash tool references.

Fixes #204.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@Copilot Copilot AI changed the title [WIP] Remove/move legacy boards out of prerequisites to not confuse newcomers Remove outdated legacy vs maximized board documentation Sep 16, 2025
@Copilot Copilot AI requested a review from tlaurion September 16, 2025 18:10
Some history first on the historical x230-flash and x230 boards that initially created the Heads project.

Heads was initially developped on the x230 board (first xx30 board supported).
**Note**: All current Heads boards use a modern architecture where the Intel Management Engine (ME) is neutered and the Intel Flash Descriptor (IFD) is unlocked. The historical distinction between "Legacy" and "Maximized" boards is no longer relevant as of 2024, since all supported boards now use the approach that was previously called "maximized."
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Untrue. Not all boards provide neutered ME which is only possible (up to now) up to Ivy bridge (Intel 3rd gen). Maybe you should digest and make sense of linuxboot/heads#692 which details blob level for each chipset revision and ME requirements,

It is true to say that all Heads boards produced rom artifact is whole and valid, and also true to say that packed ME blobs at build is deactivated. Not all rom produced are neutered since its impossible from skylake on. Getting into the details of HAP bits and all is irrelevant here, unless you can synthetize nicely linuxboot/heads#692 content and make sense of it to be useful here, which would be nice but not necessary. Just don't say false things please.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed the technical inaccuracy regarding ME neutering. Updated the statement to clarify that ME neutering is only possible on older Intel platforms (up to Ivy Bridge), while newer platforms (Skylake and later) use HAP bits or other deactivation methods. The documentation now correctly reflects platform-specific ME handling capabilities. Commit: b724ec8

Copy link
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot nearly perfect! please address review!

Copy link
Contributor Author

Copilot AI commented Sep 16, 2025

@copilot nearly perfect! please address review!

Thank you for the feedback! I've addressed both the technical accuracy issue regarding ME neutering (now clarifies platform-specific capabilities) and the formatting problems in the collapsible sections. The documentation should now render properly and be technically correct. Commit: b724ec8

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/linuxboot/heads/issues/692
    • Triggering command: curl -s REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@tlaurion
Copy link
Collaborator

tlaurion commented Sep 16, 2025

@copilot unfortunately your collapsible sections text are still screwed up. Maybe create another page and not make this content collapsible?

Copy link
Contributor Author

Copilot AI commented Sep 16, 2025

@copilot unfortunately your collapsible sections text are still screwed up. Maybe create another page and not make this content collapsible?

Resolved the formatting issues by creating a separate page as suggested. Created /About/Historical-Legacy-Migration.md with all the historical content in proper markdown formatting, and replaced the problematic collapsible sections with clean links to the new page. This eliminates the HTML rendering issues while preserving all historical information. Commit: 4f67e52

@Copilot Copilot AI changed the title Remove outdated legacy vs maximized board documentation Remove outdated legacy vs maximized board documentation and create dedicated historical page Sep 16, 2025
Copilot finished work on behalf of tlaurion September 16, 2025 19:35
@tlaurion
Copy link
Collaborator

@copilot

Updating#verify-upgradeability-paths-of-the-firmware

flashrom was replaced by flashprog inside Heads tools since linuxboot/heads#1769 was merged. Consequently, instructions in documentation referring to maximized/legacy/upgraddability testing should also state that "flashrom" might not exist within Heads, in which case "flashprog" should exist instead, depending of how old the firmware version is.

2025+ firmware will have flashprog internally, where reasons can be found in merged PR.

Copy link
Contributor Author

Copilot AI commented Sep 16, 2025

@copilot

Updating#verify-upgradeability-paths-of-the-firmware
...

Updated the documentation to reflect the flashrom→flashprog transition. The verify-upgradeability-paths-of-the-firmware section now uses flashprog by default with a note that older firmware (pre-2025) should use flashrom if flashprog is not available. Also updated manual flashing instructions and historical migration examples to mention both tools based on firmware version. Commit: e8aa986

@Copilot Copilot AI changed the title Remove outdated legacy vs maximized board documentation and create dedicated historical page Remove outdated legacy vs maximized board documentation and update flash tool references Sep 16, 2025
@tlaurion tlaurion marked this pull request as ready for review September 16, 2025 20:21
Copy link
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Will ask community!

@tlaurion tlaurion merged commit ff8afcd into master Sep 18, 2025
1 check passed
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.

Remove/move legacy boards out of prerequisites to not confuse newcomers
2 participants