the Chromium logo

The Chromium Projects

Deploy Chromium

Step 0: Set up your Chromebook and verify that you can SSH to it

You can only deploy a custom chrome if you finished the steps in the previous Setup your development Chromebook section. Those steps only need to be completed once for each Chromebook. Please make sure you finished those steps before continuing on here.

As part of these steps, also ensure that you can successfully ssh into your Chromebook; see previous instructions: SSH into your Chromebook. Recall that that the password to the Chromebook is test0000, and that SSHing can be performed like so:

Working at the office

$ ssh root@${MYDEVICE}

Working from home

[workstation]$ ssh root@localhost -p 2233

Deploy Chrome to your Chromebook

You can now deploy the Chrome you built with autoninja. Run one of the following command variations based on whether you are working from the office or from home:

Working at the office

[workstation]$ ./third_party/chromite/bin/deploy_chrome \
    --build-dir=out_${SDK_BOARD}/Release \
    --board=${SDK_BOARD} \
    --device=${MYDEVICE} \
    --compress=always # optional, but recommended to increase deploy speeds

Working from home

[workstation]$ ./third_party/chromite/bin/deploy_chrome \
                 --build-dir=out_${SDK_BOARD}/Release \
                 --board=${SDK_BOARD} \
                 --device=localhost:2233 \
                 --compress=always # optional, but recommended

Note: You may see references later on in this doc to use deploy_chrome with the arg --device=${MYDEVICE}. If you're WFH, just replace that with --device=localhost:2233.

After deploying Chrome

The deploy_chrome command deploys Chrome to the Chromebook via SSH, and restarts Chrome (but the Chromebook won't actually reboot). If the command fails, it will inform you. If it succeeds, your Chromebook’s screen will flash as it starts the new Chrome, and then display the login UI.

SSH into the Chromebook afterwards to read logs.

[DUT]$ cat /var/log/chrome/chrome

See the Logging documentation for more log sources to inspect.

Help! deploy_chrome is complaining that my Chromebook doesn’t have enough space

Some Chromebooks have limited space in a particular part of their memory to store a larger chrome executable, showing an error of the form:

Not enough free space on the device. Required: XXX MiB, actual: XXX MiB.

First, try cleaning your build directory with

gn clean out_${SDK_BOARD}/Release

Then, re-build and re-deploy. If this works, you're good to go.

If this issue was more than just a bloated build directory, you can get around the storage limitation by deploying chrome to a partition with more space, and mounting it to the expected location (/opt/google/chrome).

Access your Chromebook’s command line, either via its VT2 terminal or SSH, and then create a deployment target directory:

$ mkdir /usr/local/chrome

Then from your workstation:

$ ./third_party/chromite/bin/deploy_chrome \
    --build-dir=out_${SDK_BOARD}/Release \
    --board=${SDK_BOARD} \
    --device=${MYDEVICE} \
    --target-dir=/usr/local/chrome \
    --mount-dir=/opt/google/chrome

Note: If the Chromebook is powered down after being deployed to /usr/local/chrome, the symbolic link to that directory is destroyed -- once the Chromebook powers back on, it will load whichever Chrome executable was there before in /opt/google/chrome. This can easily cause you trouble if you forget about it. Be aware!

Up next

The final step in the development process is testing your changes.

< Build Chromium
Test Chromium >