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

Introduce io386 to heads and use it to finalize chipset at runtime #326

Closed
wants to merge 2 commits into from

Commits on Mar 14, 2018

  1. Introduce io386 to heads and use it to finalize chipset at runtime

    On some newer platforms of intel (confirmed on nehalem, sandy/ivy
    bridge), coreboot after commit [2ac149d294af795710eb4bb20f093e9920604abd](https://review.coreboot.org/cgit/coreboot.git/commit/?id=2ac149d294af795710eb4bb20f093e9920604abd)
    registers an SMI to lockdown some registers on the chipset, as well
    as access to the SPI flash, optionally. The SMI will always be triggered
    by coreboot during S3 resume, but can be triggered by either coreboot
    or the payload during normal boot path.
    
    Enabling lockdown access to SPI flash will effectly write-protect it,
    but there is no runtime option for coreboot to control it, so letting
    coreboot to trigger such SMI will leave the owner of the machine lost
    any possibility to program the SPI flash with its own OS, and becomes
    a nightmare if the machine is uneasy to disassemble, so a scheme could
    be implement, in which the SMI to lockdown chipset and SPI flash is left
    for a payload to trigger, and temporarily disabling such triggering in
    order to program the SPI flash needs authentication.
    
    I have implemented a passcode-protected runtime-disableable lockdown
    with grub, described [here](https://github.com/hardenedlinux/Debian-GNU-Linux-Profiles/blob/master/docs/hardened_boot/grub-for-coreboot.md#update-for-coreboot-after-commit-2ac149d294af795710eb4bb20f093e9920604abd). In order to implement a similar scheme for
    Heads, I wrote [io386](https://github.com/hardenedlinux/io386).
    
    With this commit, io386 will be called before entering boot routine
    to trigger the SMI to finalize the chipset and write protect the SPI
    flash at the same time. Entering recovery shell will leave the flash
    writable.
    
    (The authentication routine implemented in previous revisions has been
    split as an independent commit.)
    persmule committed Mar 14, 2018
    Configuration menu
    Copy the full SHA
    576c7aa View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2018

  1. Merge branch 'master' into io386

    persmule authored Oct 29, 2018
    Configuration menu
    Copy the full SHA
    c4be3aa View commit details
    Browse the repository at this point in the history