Tim Crawford 2e371d49fb Update apps for toolchain fix
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.
2021-03-18 08:01:19 -06:00
2021-03-18 08:01:19 -06:00
2021-01-19 15:41:51 -07:00
2020-01-23 12:27:15 -07:00
2019-10-10 21:15:03 -06:00
2021-02-26 15:56:43 -07:00
2021-02-26 15:56:43 -07:00
2021-02-26 15:56:43 -07:00
2021-02-26 15:56:43 -07:00
2019-10-04 17:28:41 -06:00
2020-08-05 14:59:20 -06:00
2021-03-05 15:08:37 -07:00
2021-03-05 15:08:37 -07:00

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

Description
Languages
C 93.5%
Shell 5.7%
Rust 0.5%
Dockerfile 0.3%