This document describes how to build and then run a Chromium OS environment from an Praxis Linux system. One thing that is really awesome is that internally the Chromium OS is using portage, so users of Praxis will already be familiar with these concepts.

~ # emerge -pv app-admin/sudo dev-vcs/git dev-vcs/subversion
[ebuild  N     ] app-admin/sudo-1.8.3_p2  USE="ldap nls offensive pam (-selinux) -skey" 1,501 kB
~ # git clone https://git.chromium.org/chromium/tools/depot_tools.git /opt/depot_tools
~ $ export PATH="$PATH:/opt/depot_tools"

Adjust /etc/env.d/ or .bashrc as necessary for your environment. Also, add your user or group to /etc/sudoers.

user ALL=(ALL) ALL
%group ALL=(ALL) ALL

Replace user and group as necessary.

Getting ChromiumOS Source

~ $ mkdir ~/chromiumos
~ $ cd ~/chromiumos
~ $ repo init \
    -u https://git.chromium.org/chromiumos/manifest.git \
    -m minilayout.xml \
    --repo-url https://git.chromium.org/external/repo.git
~ $ repo sync
~ $ ./chromite/bin/cros_sdk

The repo init stage will ask for some input, answer as necessary. This gets only the minilayout, so it will not be the full ChromiumOS source (~12G), it will only be about 2G. This can still take a few minutes to run, give sync 8 to 16 minutes, and building the chroot takes about 8 (less if you have fast hardware).

At this point, we are in the chroot environment, just like when building proton or other Praxis images.

./setup_board --board=x86-generic
./set_shared_user_password.sh
./build_packages --board=x86-generic
./build_image --board=x86-generic --noenable_rootfs_verification base
./image_to_usb.sh --board=x86-generic

The build_packages step took about 32 minutes and build_image took 24 on our old, slow dual core.

See Also