Internal flashing can result in corrupted or lost OS data. Make this more explicit for internal flashing, and make it a point for external flashing. Signed-off-by: Tim Crawford <tcrawford@system76.com>
1.2 KiB
1.2 KiB
Flashing firmware
Internal programmer
Use this method for flashing a system already running System76 EC.
This will trigger a watchdog reset causing the system to immediately power off. OS data may be lost or corrupted as a result. Save and close all applications before flashing.
make BOARD=<vendor>/<model> flash_internal
External programmer
Use this method for:
- flashing from proprietary firmware to System76 EC firmware
- flashing without risking loss of OS data
- flashing a bricked controller
This requires:
- A configured Mega 2560: For programming the EC itself
- A USB cable: For creating a common ground and providing power
- USB-C is recommended, but USB-A will work as well
- A second computer: For building and flashing the firmware
The system must not have any power!
- Turn off the laptop
- Unplug the AC adapter
- Remove the bottom panel
- Disconnect the battery
- Disconnect the keyboard from its port
- Replace the bottom panel and flip the laptop back over
- Connect the USB cable from the laptop to the host machine
- Connect the Mega 2560 to the host machine
- Attach the programmer to the keyboard port
- Flash the firmware
make BOARD=<vendor>/<model> flash_external