Chrome OS

Introduction

Chrome OS, also known as Chromium OS, is an operating system that is a web browser. It is based on the Chromium Web Browser, (a.k.a. Google Chrome Web Browser) and Ubuntu Karmic Koala.

Both Chromium OS and Chromium Web Browser are free. They are also open source (meaning that anyone can download the source code and inspect or change it). You can download either from chromium.org. Chrome OS is not finished yet however so you cannot get an installation package or a CD from anywhere. Instead, it has to be compiled from source code. There is only one problem, it has to be compiled on a computer with a 64 bit processor which I do not have. It also needs to be compiled in a regular Ubuntu Linux install which I haven't taken the time to install (so far). You can get Ubuntu (free and open source) from the Ubuntu website. When you compile Chrome OS you end up with a binary disk image.

There are three ways to use Chrome OS, you can run it in a Virtual Machine, you can boot it from a USB drive, or you can manually install the disk image to your hard drive. I use VirtualBox for running virtual machines. VirtualBox runs on Windows, Mac, and Linux and it is free and open source.

Here are some Screenshots I took of Chrome OS: Screenshots

Getting Chrome OS

There are several places to download a compiled Chrome OS image (assuming you don't have your own). Some of the sites have two images, one for a USB drive and one for a virtual machine (images made for a virtual machine are usually made for VMWare which is not free or open source 1)), others have only a USB image. I have downloaded both types. I haven't had any luck running the images compiled for a virtual machine, but don't despair, you can easily convert a USB image to work with a virtual machine.

I haven't had any luck using the newer builds of Chrome OS in VirtualBox, the ones I have downloaded seem to get stuck after having booted partway. They get stuck on a black screen with a blinking cursor (not a terminal). They do work from a USB drive however, they just seem to run slower as compared to older builds also running from a USB drive.

Downloading the Compressed Image

If you want to run Chrome OS in VirtualBox you can just download my premade VirtualBox Application (I.E. preconfigured virtual machine). It should work on Windows, Mac, or Linux.  See the "Using Chrome OS with VirtualBox" section to learn how to use it (you should still read the other stuff though).

I have downloaded three Chrome OS Images, two from Hexxeh's site, hexxeh.net, and one from gdgt.com. Hexxeh's Chrome OS "Flow," as he calls it, is the newest image I have tried. Flow will run from a USB drive or a hard drive, although since flow is Hexxeh's newest build it does not work in VirtualBox, it just gets stuck. Flow can be downloaded directly from Hexxeh's site, or indirectly as a Torrent.

One of Hexxeh's earlier builds, Chrome OS "Cherry," is the build I have used the most. Cherry seems to work the best out of the builds I have tried and it also works with VirtualBox. Since Cherry is an older build, Hexxeh's site does not have a direct link to it. I was not able to find (or guess) a link to download Cherry hosted directly from Hexxeh's site, but I did find the torrent for cherry still hosted on his site. You will need a BitTorrent Client to download the torrent. I use Free Download Manager (free and open source) for downloading torrents (and other stuff too).

The last version, the build from gdgt.com, is almost identical to Chrome OS Cherry, it is just slightly older. Gdgt does require you to make an account on their site to download their image.

1) Well actually there is a free limited version of VMWare, but it can only view virtual machines, you can't make your own

Extracting the Raw image from the Compressed Archive

Now you need to extract the raw .img file from the compressed archive. If the compressed archive is a .zip file you might be able to extract it with Windows. If you can't, or if it is some other type of archive such as a .tar.gz archive, you will need some other archive software. Some free ones are IZArc and 7-zip

Running Chrome OS

If you use VirtualBox you can run Chrome OS concurrently with your normal operating system. If you want to use Chrome OS natively instead you can run it from a USB drive or a hard drive. If you run Chrome OS from a USB drive you can run it without affecting your current operating system. If you want to put Chrome OS on your hard drive you can copy it from a USB drive onto your hard drive. You can also manually copy the raw image file onto your hard drive with a direct disk editor and a partition manager but I don't tell how to do that.

All the instructions on this page are based on Windows but many of the procedures are the same or similar for Mac or Linux. Many of the programs are cross-platform as well, meaning that they will run on Windows, Mac, or Linux. There is a extra section at the end of the links section for help installing Chrome OS to a USB drive. 

Using Chrome OS With VirtualBox

To use Chrome OS on VirtualBox, you will first need to download and install VirtualBox. There are two options for running Chrome OS on VirtualBox, Use the preconfigured VirtualBox Application (I.E. preconfigured virtual machine), or make your own Chrome OS virtual machine. If you want to use my preconfigured VirtualBox Application all you have to do is import it. If you decide to make your own virtual machine instead, you will need to convert the Chrome OS image from a raw .img file to a virtual hard disk. This can be done from the command prompt with VBoxManage. You will then need to create a new Virtual Machine and add the virtual disk image to it.

Installing VirtualBox

First you need to download and install VirtualBox. You can download VirtualBox from virtualbox.org. Run the installer and follow the prompts to install VirtualBox.

Importing the Preconfigured VirtualBox Application

Once you have downloaded and unzipped the VirtualBox Application you can Import it.

Making your own Virtual Machine

First we will use VBoxManage to convert the raw image to a virtual hard drive, then we will add it to a new virtual machine.

Converting the Raw Image

You will need to open a Command Prompt to convert the image. You can get to it several ways depending on your version of Windows. The most universal way is to open it from the Start Menu. Click on Start > All Programs > Accessories > Command Prompt to get to it. You can also open it by clicking on Start > Run and typing cmd, then pressing ok. Now that you have opened a Command Prompt you can convert the raw image.

Making the Virtual Machine

Now we need to create a new Virtual Machine. We will add the Virtual Hard Drive we just made as the main disk.

Running the Virtual Machine

Running a virtual machine is easy. First start VirtualBox. Then click the virtual machine. Then click Start.

Using Chrome OS With a USB Drive

You will need a 2GB or larger USB drive for Chrome OS Flow, 1GB or larger for earlier builds.

Installing Chrome OS onto a USB Drive

To install the Chrome OS Image on your USB drive you will have to physically write it to the drive. To do this you can use Image Writer (free and open source).

WARNING: this will erase everything on your USB drive! make sure nothing important is on it!

Note: If Image Writer doesn't work for some reason you can use physdiskwrite (free) to write the image in rawmode.

Running Chrome OS from a USB Drive

To boot Chrome OS from a USB drive you will have to boot your computer from the USB drive. Newer computers automatically support this, other computers may have to use a helper CD to boot from USB.

Booting with USB support

Plug in your USB drive and turn on your computer. It might boot to USB automatically or you may have to press some key to choose USB. For example, on mine it says to press F12 to choose the boot device. If I press F12 while the message is still showing but before Windows starts booting, a menu comes up. I can then choose to boot from the hard drive, the network (PXE), the floppy drive, the CD drive, or USB. You might need to change the boot order in the setup utility if your computer doesn't automatically boot to USB and you can't boot to USB from the menu.

Booting without USB support

You will need to make a helper CD to boot from USB. We will use PLoP Bootmanager.

Reboot your computer with the PLoP CD in the drive, make sure your USB drive plugged in also. Your computer should automatically boot from the CD. If it doesn't, see the above section about booting with USB support, just choose the boot from CD option instead. Once you boot from the CD there should be a menu of options to continue booting from. Choose the option to continue booting from USB. (PLoP running from a CD is essentially just a chain boot loader/boot manager)

Copying Chrome OS to a Hard Drive from a USB Drive

There are two options for copying Chrome OS to your computer's hard drive. You can multiboot Chrome OS and another operating system such as Windows or Linux, or you can install Chrome OS to your hard drive from a USB drive running Chrome OS. The second is easier to do but it will wipe out everything currently on the hard drive and replace it with Chrome OS.

Replace with Chrome OS

Copying Chrome OS to your hard drive as the only operating system is quite easy. You just run a script inside Chrome OS while it is running from a USB drive.

WARNING: This will completely erase EVERYTHING on your hard drive!!! Make sure nothing important is on it!

Multiboot Chrome OS with another OS

Copying Chrome OS to your hard drive along With another operating system is a little harder, but don't let that discourage you. We will use GParted (free and open source) to do most of the work. First we resize the main partition to make space on the hard drive (unless there is already enough unpartitioned space), and copy the two Chrome OS partitions from the USB drive to the hard drive. Next we copy the Master Boot Record to a file to use with boot.ini, the Windows boot manager configuration file. We then go back to Windows and add Chrome OS to boot.ini.

Making a GParted Live CD

First we will make a GParted Live CD. If your computer doesn't have a CD drive for some reason you can also use GParted Live USB/PXE/HDD.

Make space for Chrome OS

Now we will check and see if there is enough unpartitioned space for Chrome OS, if not we will resize the main partition to make space for Chrome OS.

WARNING: This can POTENTIALLY mess up your hard drive, however, it is UNLIKELY to do so! Be careful!!!

Copy the Chrome OS Partitions

Now we will Copy the Chrome OS partitions over to your hard drive. If you already closed GParted double click on the GParted icon on the Desktop to reopen it.

WARNING: This can POTENTIALLY mess up your hard drive, however, it is UNLIKELY to do so! Be careful!!!

Copy the Master Boot Record to a File

Now we need to make a Copy of the MBR to use with boot.ini, the Windows boot manager configuration file. We will first temporarily mark the main Chrome OS partiton as the boot partition. Then we will Mount the main drive so we can copy the MBR to a file on it. Next we will copy the MBR to a file with dd, we copy it to the same file twice. The first time we will copy the whole MBR from the Chrome OS USB drive to a file. The second time we copy only the partition infomation section of the MBR to the file, but this time it's from the main hard drive that we copied Chrome OS to. This gets written on top of the partition information from the USB drive. This will leave us with a file that contains the Chrome OS MBR code and the partition information from the main hard drive (with the main Chrome OS partition marked as the boot partition). We can then have the Windows boot manager use this file as the MBR to boot from when it wants to start Chrome OS. This way it will use the code from Chrome OS's MBR to load Chrome OS from the Chrome OS partition(s) we copied.

Before we can copy the MBR to a file though we will need to use GParted. If you already closed GParted double click on the GParted icon on the Desktop to reopen it.

WARNING: This can potentially mess up your hard drive, but only if you mistype something! Be careful!!!

Add Chrome OS to boot.ini

Now we will add Chrome OS to boot.ini so the Windows boot manager will have Chrome OS as one of the boot menu options.

Tips, Tricks, and Links

This section has some tips and tricks as well as some links to sites that have more tips, tricks, and howtos.

Tricks

These are some tricks that I have come up with and/or modified from other sites.

Turn Chrome OS Off Properly

To properly turn Chrome OS off press the power button once, don't hold it. Chrome OS will turn itself off after a few seconds. You can also type sudo shutdown -h now in a terminal, see Login with the Default Username and Password below for the password.

Log in without a Internet Connection

If you can't login normally since you don't have a internet connection you have two options. You can temporarily plug in a Ethernet cable and login normally to configure the internet. If you can't do that you can temporarily login with the default username and password (see below).

Login With the Default Username and Password

The default username and password is facepunch. You can use that at the login screen as well as for sudo in the terminal. I didn't choose the username and password by the way.

How to get to a Terminal when VirtualBox won't let you

Sometimes on certain computers VirtualBox (or the host operating system) captures the Ctrl + Alt + T key combination and doesn't let it get to Chrome OS. If that happens you can't get to a terminal the normal way. Here is a workaround.

Add Packages from Ubuntu Karmic Koala

apt, the package manager Chrome OS uses is missing some files it needs. We will add them.

Now you can add packages by typing sudo apt-get install {packagename}.

Increase the Display Resolution in VirtualBox

When you run Chrome OS in VirtualBox it runs with a very low display resolution, 800x600 to be exact. It only has this problem in VirtualBox because it thinks that is the highest supported resolution. You can set it higher by telling it that yes, it really can run at a higher resolution. To do this we will edit xorg.conf and set it to run at 1024x768, a more reasonable resolution. If you know how to use vi you can use that to add the text instead.

Keep Chrome OS from Complaining about Reopening Tabs

Chrome OS has a bug, it will always complain that you shut it down incorrectly. It does this even when you did shut it down properly. If you go to the basics tab of the settings page you can choose what to do on startup. There are three options. If you have chosen the default option, reopening the tabs that were open last, Chrome OS will complain. If you set it to one of the other two options instead it won't complain.

Links

Here are some links to other sites with more tips, tricks, and howtos.

Tips and Tricks from Hexxeh's Wiki

These are tips and tricks on Hexxeh's Wiki. I edited some things on it too.

Installing Chrome OS onto a USB drive in Mac or Linux