Tim Crawford 0a98ce8c93 scripts: Check coreboot config is correct
If a board in models/ does not exist in coreboot, coreboot will emit a
warning and select the first available board for the vendor instead.

This may result in building and being able to flash coreboot with an
addw1 configuration on another board.
2021-03-15 10:12:23 -06:00
2021-03-11 09:11:49 -07:00
2021-03-08 15:56:11 -07: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%