Tim Crawford 01be30f107 Only support building a single board at a time
As a follow up to c461e20df3 ("make: Remove version from build output
path"), only support building a single version of a single board by
default. The build directory can still be specified by passing `BUILD`.

Fixes running the `clean` target when `BUILD` is a custom value or
`BOARD` isn't set.

Fixes: b03c960b4f ("make: Reduce build output")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-12 12:49:43 -06:00
2023-08-02 09:14:35 -06:00
2021-10-26 11:35:48 -06:00
2023-06-15 13:45:12 -06:00
2023-10-05 14:32:15 -06:00
2023-01-10 12:02:21 -07:00
2021-02-22 09:04:50 -07:00
2020-02-20 09:11:47 -07:00
2020-10-05 13:55:42 -07:00
2019-09-27 16:50:44 -06:00
2019-11-05 20:38:27 -07:00
2023-07-31 09:05:53 -06:00

System76 EC

System76 EC is a GPLv3 licensed embedded controller firmware for System76 laptops.

Documentation

Quickstart

Install dependencies using the provided script.

./scripts/deps.sh

If rustup was installed as part of this, then the correct cargo will not be available in the running session. Start a new shell session or source the env file to update PATH.

source $HOME/.cargo/env

Then build the firmware for your laptop model.

make BOARD=system76/<model>

See Flashing for how to use the new firmware image.

Releases

The EC firmware itself does not have tagged releases. Any commit of this repo may be used as a part of a System76 Open Firmware release.

In official releases the EC shares the same version as the BIOS firmware. Run the follow command from firmware-open to determine the corresponding EC commit for a release.

git ls-tree <release_hash> ec

System76 EC is copyright System76 and contributors.

System76 EC firmware is made available under the terms of the GNU General Public License, version 3. See LICENSE for details.

  • firmware: GPL-3.0-only
  • ecflash: LGPL-2.1-or-later
  • ecsim: MIT
  • ectool: MIT

Datasheets for the ITE embedded controllers used in System76 laptops cannot be shared outside of company. (However, the IT81202E datasheet is publicly available. While it uses a different core, a significant portion of the register information is the same as IT85878E/IT5570E.)

Description
Readme 2.5 MiB
Languages
C 81.5%
Makefile 9.2%
Rust 8.1%
Shell 1.2%