Skip to content
61 changes: 61 additions & 0 deletions .github/workflows/jekyll-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Heads Wiki Jekyll with GitHub Pages

on:
# Runs on pushes targeting the default branch or triggered from main repo in case md files are pushed there
push:
branches: ["master", "problem-resolution"]
Copy link
Author

Choose a reason for hiding this comment

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

We should only deploy to prod from master. For development we might want to run from all branches though?! This could be done with manual runs, but maybe it is not that convenient.


# Allows manual runs
workflow_dispatch:

repository_dispatch:
types: [redeploy-wiki]

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.client_payload.ref }}
Copy link
Author

Choose a reason for hiding this comment

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

Might not need this. Just for testing while it is not yet on master.

# Fetch markdown files maintained in the main repo for rendering as part of the Wiki
- name: Fetch sources from main repo
working-directory: ./Development
run: |
curl -H 'Accept: application/vnd.github+raw' -O -L https://raw.githubusercontent.com/gaspar-ilom/heads/heads-wiki-actions/BOARDS_AND_TESTERS.md
Copy link
Author

Choose a reason for hiding this comment

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

Fix the source before merging

- name: Setup Pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
58 changes: 58 additions & 0 deletions Development/Binary-Blobs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
layout: default
title: Binary Blobs
permalink: /Binary-Blobs/
nav_order: 3
parent: Development
---

<!-- markdownlint-disable MD033 -->
<details open markdown="block">
<summary>
Table of contents
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>
<!-- markdownlint-enable MD033 -->

Coreboot specs
===

Intel
====

- xxx0: [gm45 bridge, Montevina: no FSP, no ME: X200, T400, T500, R500, X300](https://doc.coreboot.org/mainboard/lenovo/montevina_series.html) : **no QubesOS support there** (no proper vt-d2)
- [xx20](https://doc.coreboot.org/mainboard/lenovo/x2xx_series.html): [Sandy bridge, no FSP. ME<10: BUP module required only: X220/T420/T520](https://doc.coreboot.org/mainboard/lenovo/Sandy_Bridge_series.html)
- xx30: [Ivy bridge, no FSP. ME<10: ROMP and BUP required: X230/T430/W530](https://doc.coreboot.org/mainboard/lenovo/Ivy_Bridge_series.html) Z220 CMT and others
- xx40: [Haswell, no FSP, ME<10: ROMP and BUP required: t440p w541 without MRC blob (upsteam docs outdated)](https://doc.coreboot.org/northbridge/intel/haswell/index.html)
- NRI was merged in upstream 25.03 and under [Heads 25.09 coreboot version bump](https://github.com/linuxboot/heads/pull/2025)

Additional required Intel blobs:
=====

- [FSP is present in all Broadwell+ platforms](https://doc.coreboot.org/soc/intel/fsp/index.html)
- [MRC blob present in all Broadwell+ plaforms](https://doc.coreboot.org/soc/intel/broadwell/blobs.html)
Copy link
Author

Choose a reason for hiding this comment

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

MRC is included in the FSP after Broadwell if I am not mistaken?! So why mention it explicitly here? Also: does Heads even have any Broadwell boards? I have no good overview...

Copy link
Collaborator

Choose a reason for hiding this comment

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

MRC is included in the FSP after Broadwell if I am not mistaken?!

Broadwell platforms depend on MRC blob:
https://pagure.io/libreboot/c/4134a883d0d8dd4020f2ddca7416e0b9f82b8843?branch=9020tpm

This is why I added
MRC blob present in all Broadwell+ plaforms

Broadwell is generation on which FSP was introduced, as referred by
FSP is present in all Broadwell+ platforms

We can see arrival of FSP-M, but this is FSP first gen.

Maybe we should say:
FSP is present in all >=Broadwell platforms
MRC blob present in >=Broadwell plaforms

@gaspar-ilom thoughts?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Also: does Heads even have any Broadwell boards? I have no good overview...

Not for now, no. But those timeline hints are general guidelines for blobs presence, just like previously it was said that MRC blob was needed for Haswell+ before Heads included some, first with MRC blobs and then without. Same could happen with Broadwell, which is next platform for MRC blob presence.

Post Broadwell; FSP (f/m/p) are present and can be seen referred in coreboot configs and coreboot/fork trees.


ME status on different boards models
=====

- [Removed in ME <=6 (xxx0)](https://libreboot.org/faq.html#intelme)
- [Deactivated+Neutered ME in ME 6 <= 10 (xx20 BUP/xx30 BUP+ROMP)](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#me-versions-from-60-nehalem-to-10x-broadwell-1)
- [Deactivate+Partially Neutered (BUP, RBE, Kernel and syslibs modules **REQUIRED** in ME > 11)](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#me-versions-from-11x-skylake-1)
- [Soft disable/HAP disable bit possible on ME 12+ (**PoC BE CAUTIOUS**)](https://github.com/corna/me_cleaner/pull/384)
- [xx30, xx20](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#me-versions-from-60-nehalem-to-10x-broadwell): ME 6 <= 10
- [Skylake, Kabylake, Whiskeylake and newer](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#me-versions-from-11x-skylake): ME >= 11
- Intel ME then changed its name to Converged Security Management Engine (CSME), where HAP bit can be flipped, but modules cannot be removed anymore.

AMD
====

- [AMD fam15h](https://doc.coreboot.org/soc/amd/family15h.html?highlight=amd) (**eg: kgpe-d16**)
- [PSP in all models after fam15h](https://doc.coreboot.org/soc/amd/psp_integration.html)

Power9
====

- Blobless.
43 changes: 43 additions & 0 deletions Development/Maintainers-and-Testers.md
Copy link
Author

Choose a reason for hiding this comment

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

I would like to remove this file as per one of my previous commits and use this instead: https://github.com/gaspar-ilom/heads/blob/heads-wiki-actions/BOARDS_AND_TESTERS.md rendered https://gaspar-ilom.github.io/heads-wiki/Boards-and-Testers/

Did you bring it back on purpose cb31412 ?

I added the main content from Maintainers-and-Testers.md to the main repo but your recent changes are still missing. What do you say?

Copy link
Author

Choose a reason for hiding this comment

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

I ported the changes: gaspar-ilom/heads@c370f25

Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess next step is to bring up pr on master @gaspar-ilom with linuxboot/heads@master...gaspar-ilom:heads:heads-wiki-actions (but modified to trigger on linuxboot/heads for linuxboot/heads-wiki?)

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
layout: default
title: Maintainers and Testers
permalink: /Maintainers-and-Testers/
nav_order: 3
parent: Development
---

<!-- markdownlint-disable MD033 -->
<details open markdown="block">
<summary>
Table of contents
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>
<!-- markdownlint-enable MD033 -->


Maintainers
===

- [@tlaurion](https://github.com/tlaurion) (Sold the PrivacyBeast through Insurgo. Main maintainer/developer of Heads since 2018. Need a feature? https://osresearch.net/Consultation-Services/)
- [@JonathonHall-Purism](https://github.com/JonathonHall-Purism) (Purism)
- [@nestire](https://github.com/nestire) (Nitrokey)
- [@osresearch](https://github.com/osresearch) (Founder of the Heads project and main maintainer/developer up to 2018)

Board testers
===

See [Board Testers](https://github.com/linuxboot/heads/blob/master/BOARDS_AND_TESTERS.md).

Integration/Test
===

- Reproducibility expertise: [@osresearch](https://github.com/osresearch) [@flammit](https://github.com/flammit) [@JonathonHall-Purism](https://github.com/JonathonHall-Purism) [@tlaurion](https://github.com/tlaurion)
- Integration expertise: [@tlaurion](https://github.com/tlaurion) [@JonathonHall-Purism](https://github.com/JonathonHall-Purism)
- qemu: [@JonathonHall-Purism](https://github.com/JonathonHall-Purism) [@tlaurion](https://github.com/tlaurion)
- Continuous Integration environments: [@SergiiDmytruk](https://github.com/SergiiDmytruk) [@tlaurion](https://github.com/tlaurion) [@Tonux599](https://github.com/Tonux599) ?

**Please add where you can help so that you are comfortable being tagged in issues.**

2 changes: 2 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ aux_links_new_tab: true

title: Heads - Wiki

include: [Development/BOARDS_AND_TESTERS.md]

last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html

Expand Down
2 changes: 2 additions & 0 deletions local_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ aux_links_new_tab: true

title: Heads - Wiki

include: [Development/BOARDS_AND_TESTERS.md]

last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html

Expand Down