What is Librem-EC ?
Librem-EC is Purism’s fully open-source firmware for the embedded controller (EC) in the Librem 14 (and future Librem laptops). The EC in a laptop handles a range of functions which the main CPU does not, including (but not limited to): powering on the device, charging the battery, thermal management / fan control, lid state, LEDs and switches, and the keyboard. In many ways, it’s as important, if not more important, to have control over the EC firmware as the main system firmware (coreboot/PureBoot, in our case).
As with the system firmware, the EC firmware is tailored precisely for the board/device on which it runs. Development for the Librem-EC project is done, like all other Purism software development, on our Gitlab instance: https://source.puri.sm/firmware/librem-ec
Updating Librem-EC on your Librem 14
Because of the role of the EC in a modern laptop, great care must be taken to ensure a successful update. While Purism is still working to automate the delivery and install of EC firmware updates, the manual steps below can be used in the meantime any time a Librem-EC update is released.
Requirements:
- A Purism Librem 14 laptop
- External power source
- USB stick with PureOS Live ISO
- A stable internet connection
Preparation:
- Connect an external power source to your Librem 14. Ensure the battery charge is above 20%
- Download the current PureOS 10 ISO from https://pureos.net/download/
- Write the ISO to USB using Gnome Disks
- Select/Highlight the USB device from the list on the left
- Select Restore Disk Image from the right menu (…)
- Select the ISO image to be written
- Click the Start Restoring button
- Enter your password when prompted
- Reboot your Librem 14, booting from the PureOS live USB
- If running coreboot firmware, press ESC on the Purism logo splash screen, then select the USB from the boot menu
- If running PureBoot firmware, press a key to interrupt the automatic boot, then select Options / Boot Options / USB boot from the menus and follow the prompts
- Once at the PureOS desktop, connect to WiFi
- Open a terminal from the application list/menu
- Download the Purism ectool utility:
curl -LO https://source.puri.sm/firmware/releases/-/raw/master/tools/purism_ectool.gz
- Unzip/decompress it:
gzip -d purism_ectool.gz
- Ensure the executable permission is set:
chmod +x purism_ectool
- Download the Librem-EC firmware update file: (the latest update file can be found at https://source.puri.sm/firmware/releases/-/tree/master/librem_14)
curl -LO https://source.puri.sm/firmware/releases/-/raw/master/librem_14/ec-2021-08-03_05d9990.rom.gz
- Unzip/decompress it
gzip -d ec-2021-08-03_05d9990.rom.gz
- Update the EC firmware:
sudo ./purism_ectool flash_backup ec-2021-08-03_05d9990.rom
- The device will automatically power off after updating EC
- You can verify the updated EC firmware version using the Purism ectool (after re-downloading as per above):
sudo ./purism_ectool info
3D renders are artist renderings, for illustration purposes. Images and specifications are subject to change depending on manufacturing requirements.
Unless otherwise noted, contents created by the Purism team on this website are copyleft with a CC-by-SA 4.0 license.