System76 Open Firmware
An open source distribution of firmware utilizing coreboot, EDK2, and System76 firmware applications.
Supported models
These models are supported and will receive updates through the firmware manager:
- addw2
- bonw14
- darp5
- darp6
- darp7
- galp3-c
- galp4
- galp5
- gaze15
- lemp9
- lemp10
- oryp6
- oryp7
Other models may be in development or available without support, and can be
seen in the models/
directory.
If the device becomes bricked it will require restoring the current firmware using an external programmer. See flashing for details.
Changelog
For a list of important changes please see the changelog.
Schematics
System76 customers may request board schematics by sending 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.
Please include the serial number of your system for verification.
You may not share these without explicit permission from System76.
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
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