Skip to content
Obsolete: fixed upstream.
Shell Perl Groff
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Chromium OS for Raspberry Pi

Initial notes:

  • Don't expect to build this and have it work perfectly on a Raspberry Pi, it's a work-in-progress
  • This guide will be much easier to follow if you've built Chromium OS before for another platform. If you've having trouble following it, try following the developer guide (linked before) to build an x86-generic image first, and then come back.
  • If you want to help out, find me in #raspberrypi on Freenode IRC or submit a pull request


To get started, make sure you have the following:

  • a 64-bit build machine, running Ubuntu version 15.04 (better running headless. Other versions/distros might work)
  • an account with sudo access
  • at least 8GB of RAM (whilst you might be able to build with less, it will be painfully slow, especially when it comes to building Chrome)
  • a fast Internet connection - you'll need to download several gigabytes of source code, if your connection is slow, that won't be fun

Get the code:

First, you'll need to download the Chromium OS source code. To learn do so, and also how to setup your environment, check out this link:

Once you've downloaded the code and you've reached the "4.3 Select a board" step, continue below.

Add the overlay:

The raspberrypi overlay is already part of ChromiumOS, although it does not build X or Chromium.

To build for the Raspberry Pi2B, you'll need to use the raspberrypi2 overlay provided by this repo. Until this is merged upstream into the Chromium OS project, you'll have to copy it manually across.

Find the folder named "overlays" in the "src" folder of the code you checked out. You'll see a number of folders with names starting "overlay-". Place the overlay-raspberrypi2 folder in this folder alongside the other overlays.

To build for RPI 2B use "raspberrypi2" instead of "raspberrypi" in the following guide.

Board setup:

You only need to run this once (unless you nuke the chroot):

./setup_board --board=raspberrypi

If you want to re-create the board root, run:

./setup_board --board=raspberrypi --force

You'll probably want to set the "backdoor" password for a development image to let yourself into a shell when the UI isn't working, to do that, use the following command:


Once prompted, enter a password, then press enter. As above, you only need to do this once.

Building an image:

Before we can build an image, we need to build all the required packages. Enter the following command to build those (and pray everything compiles):

./build_packages --board=raspberrypi --withdev --nowithdebug --nowithautotest

Go get a nice cup of tea, and maybe read a book.

Once all the packages have been successfully built, we can build a USB image by running the following command:

./build_image dev --board=raspberrypi --noenable_rootfs_verification
Something went wrong with that request. Please try again.