System76 Open Firmware
An open source distribution of firmware utilizing coreboot, EDK2, and System76 firmware applications.
Please note that only the darp6 and galp4 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 productdev@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
Flashing firmware manually is not recommended for the normal user. For the advanced user, there is a script flash.sh which takes the same arguments as build.sh
Contents
- apps - Applications
- coreboot - coreboot README
- edk2 - EDK II Project
- edk2-non-osi - This branch holds modules not compatible with the normal
- 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
Description
Languages
C
93.5%
Shell
5.7%
Rust
0.5%
Dockerfile
0.3%