A few weeks ago, Google announced Chrome OS's release for this fall. As with many Google innovations, it's poised to transform computing—no traditional desktop apps, just a seamless browser-based experience. Some view it as radical, others as the future. Its success could shape web-centric OS evolution. Want to test it yourself? Follow this proven guide to build the Chromium OS image. (Note: Technically, we're building Chromium OS, but the terms are interchangeable here.)
Compiling a full OS like Chromium OS involves more steps and time than a single app. With prior Linux compilation experience (e.g., as in standard Ubuntu builds), it's straightforward. Expect 1-4 hours total, mostly waiting for downloads and compilation, depending on your internet and CPU speed.
Use a 64-bit Linux host—32-bit isn't supported yet, though that may change. Google recommends Ubuntu, which this guide follows.
Install required packages via terminal:
sudo apt-get install bison fakeroot flex g++ g++-multilib gperf libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev mesa-common-dev msttcorefonts patch perl pkg-config python python2.6-dev rpm subversion libcupsys2-dev libgnome-keyring-dev git-core subversion
Download Google's depot_tools tar.gz from here and extract to your home directory (~). Add to PATH permanently:
# Add to ~/.bashrc export PATH=$PATH:~/depot_tools
Create a chrome directory in home, then fetch sources (several hundred MB, so patience required):
mkdir ~/chrome cd ~/chrome gclient config https://src.chromium.org/git/chromiumos.git gclient sync
Now for the core build:
./setup_board --board=x86-generic # Set architecture ./build_packages --board=x86-generic # Main build; takes several minutes
If successful, proceed to image creation.
Build the bootable image:
./build_image --board=x86-generic
Relax with tea—it'll take time. On completion, note the image path and options for USB, VMware, or VirtualBox variants.
Exit chroot first:
exit
For VirtualBox (adjust paths as needed):
./image_to_virtualbox.sh --from=~/chrome/chromiumos.git/src/build/images/x86-generic/[YOUR_IMAGE] --to=~/chromeOS.vdi
VMware/VirtualBox: If "Could not open /usr/lib/shflags" error, edit image_to_vmware.sh (affects VirtualBox script too): change sudo "$TEMP_MNT"/postinst /dev/sda3 to sudo "$TEMP_MNT"/postinst /dev/sda3 --postcommit.
USB: image_to_usb dislikes tildes in --from; use full paths.
Will Chrome OS redefine OSes, or is it a misstep? Build it and decide.