Hacking Ubuntu on a Chromebook

In a few weeks time I’m going to be doing a bit of traveling for work and then a small holiday. As I will be hoping on and off planes and trains, I’m not really keen on taking my primary laptop as it is bulky and not really designed for travel.

After tossing up the pros and cons of tablets, netbooks, and ultrabooks I have bought a Acer C7 Google Chromebook and have managed to get Ubuntu 12.04 running inside a chroot environment. The whole process of getting Ubuntu installed has been much simpler than I was expecting.

For under $300 I now have basically a full lightweight system for travel on which I can watch videos, play music, edit documents, edit photos, and browse the web. While the basic Chrome OS operating system claims all these features, the reality is, it is extremely limited in what it is actually able to do.

Enabling Deverloper Mode

To setup Ubuntu within Chrome OS I used Crouton (https://github.com/dnschneid/crouton), this approach creates an Ubuntu installation within Chrome OS and allows both to run at the same time with a few key presses to switch between. This means that the underlying system is running only one kernel and all of the default device drivers continue to run which makes the system very stable.

Installing Ubuntu via Crouton

To install Crouton the Chromebook must be switched to Developer Mode – each Chromebook model has a different way of enabling this. On most devices, hold down ESC, F3, and the Power button at boot gets the device into recovery mode, then pressing Ctrl-D switches the device into Developer Mode – beware this resets all data on the Chromebook.

Once the Chromebook is booted into Developer Mode, download the Crouton scripts from the project’s webpage. Then to install Ubuntu 12.04 running xfce4:

  • bring up a terminal with: Ctrl-Alt-T
  • then type: shell
  • press: enter
  • type: sudo sh -e ~/Downloads/crouton -t xfce

This will download, and install linux, you will be prompted to set a username and password. To then start the xfce Ubuntu environment, type: sudo startxfce4

Ubuntu xfce running on the Chromebook

Once you have booted into Ubuntu you will be presented with a very bare-bones environment. I’ve spent a number of hours getting a variety of extra software installed, much of which is standard out of the box in normal Ubuntu installations. However, sudo apt-get install makes installing additional packages really simple.

So far I have installed:

  • VLC
  • Rhythmbox
  • LibreOffice
  • Picasa running under Wine
  • EOG
  • Okular
  • Git
  • Kile
  • Jabref

I’m also extremely pleased with how simple the whole setup process has been. When I got the Chromebook on Thursday night I was expecting to have bricked it within hours.

I have faced some challenges with getting extra hardware devices to run perfectly. In particular, getting my USB 3G Modem to work has been particularly challenging (I’m going to post how I got it to work in another blog post).

The two other hardware issues I have overcome are:

  • The trackpad responding extremely slowly
    After starting xfce open up a terminal and run: xinput set-prop "Cypress APA Trackpad (cyapa)" "Synaptics Finger" 15 20 256
  • Recognising my Nexus 4
    This is less of a problem with the Chromebook, and more of a problem with Android. In the newer versions of Android, Google have made the devices work as MTP media devices rather than as USB mass storage devices, this means that some of the libraries to run these devices are out of date. To get updated MTP drivers in a terminal:
    sudo add-apt-repository ppa:langdalepl/gvfs-mtp
    sudo apt-get update
    sudo apt-get upgrade

    Then close xfce and start it again.

4 thoughts on “Hacking Ubuntu on a Chromebook

  1. I’m keen to see how it works out for you. Aren’t they a bit shy with memory & hard disk space?

  2. The C7 which I have is x86, 2GB Ram, 320GB HD. The other model available in Aus is ARM and 16GB SSD. But the chroot can also run from external drives.

Comments are closed.