README.md 1.17 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Chromebook Firmware Utilities
-----------------------------

# Flashing

The `servoflash.py` tool can be used to flash firmware images onto Chromebook
devices using a Servo interface.  To use it, clone this repository with Git LFS
enabled:

```
sudo apt install git-lfs
git clone https://gitlab.collabora.com/chromium/flash-tools.git
cd flash-tools
git lfs fetch
git lfs checkout
```

This includes a specific `flashrom` binary with its library dependencies copied
from the Chromium OS SDK.

Then to flash a firmware image, the target device needs to be in the Google
Servo config file which is typically `/etc/google-servo.conf`.  This is where
the device serial numbers are associated with their names.  There also needs to
be a `servod` service running to be able to access the device.

Here's a sample command to flash a firmware, given all the preconditions are
met:
```
./servoflash.py \
  --device=rk3399-gru-kevin-cbg-0 \
  --firmware=depthcharge-rk3399-gru-kevin-20180806.dev.bin
```

It can take a few minutes.  There should be these messages around the end,
which can vary depending on the type of Chromebook:
```
Erasing and writing flash chip... Verifying flash... VERIFIED.
SUCCESS
```