rustup conflicts with itself when a component is installed via the toolchain file vs rustup directly. Update the apps so submodules do not attempt to (re)install components using rustup.
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
- darp6
- darp7
- galp4
- galp5
- 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