Commit17f8e37ed5
("Convert toolchain file to TOML syntax") switched from the bare toolchain file to the TOML-based one for better management of the toolchain and components used. Commit1cb61e6918
("deps.sh: Update rustup or inform user of env vars") added an explicit `rustup self update` because there were still cases, a year later, of people not having a rustup new enough to support the TOML-based toolchain file. Now 2 years after that, it should be safe to drop the explicit self update. The TOML format has widespread adoption and rustup now self updates by default. This should allow distro-provided rustup, which disables the self update feature, to work if it is already installed in place of the one downloaded from https://rustup.rs. Signed-off-by: Tim Crawford <tcrawford@system76.com>
System76 EC
System76 EC is a GPLv3 licensed embedded controller firmware for System76 laptops.
Documentation
- Supported embedded controllers
- Flashing firmware
- Debugging
- Creating a custom keyboard layout
- Development environment
- Adding a new board
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
Legal
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.)