System76 Open Firmware
An open source distribution of firmware utilizing coreboot, EDK2, and System76 firmware applications.
Please note that only the darp6, galp4, lemp9, oryp6 models are officially supported - if you brick your device it will be up to you to restore the current firmware using an external programmer.
If you would like to view schematics for any supported System76 model, please send an email to firmware@system76.com with the subject line Schematics for MODEL, where MODEL is the name of a directory in the models directory, such as darp6.
Dependencies
Install toolchain
./scripts/deps.sh
Load Rust environment (or optionally reboot)
source ~/.cargo/env
Build firmware, replace qemu with your model (look in the models directory for examples)
./scripts/build.sh qemu
Emulate firmware, only available after building the qemu model
./scripts/qemu.sh
Intel Management Engine
The IME is present, but disabled. This is accomplished by sending a HECI command on boot, before RAM is initalized. This puts the IME in a state similar to setting the HAP bit on earlier platforms. me_cleaner is not used as it does not support IME version 14.0.
Contents
- apps - Applications
- coreboot - coreboot README
- docs - System76 Open Firmware Documentation
- ec - System76 EC
- edk2 - EDK II Project
- edk2-non-osi
- edk2-platforms - This branch holds all platforms actively maintained against the
- FSP - Intel® Firmware Support Package (Intel® FSP) Binaries
- libs - Libraries
- models - Models
- scripts
- tools - Tools