How to run Ubuntu, Android, other operating systems on the Chromebook Pixel

The Chromebook Pixel is the best Chrome OS laptop money can buy — but at $1299 and up you’ll need a fair bit of money to buy one. That’s a lot of money to spend on a laptop that runs a browser-based operating system, but it turns out the Pixel isn’t limited to just running Chrome OS.

crouton_01

You can run Ubuntu, Android, and other operating systems on the Chromebook Pixel, which means that it’s essentially just a premium laptop with a great display, an excellent touchpad and other top notch features that happens to ship with Chrome OS preloaded.

First step: Entering developer mode

Before you can install another operating system on a Chromebook you need to enter developer mode. Out of the box Chrome OS may look like an locked down operating system that lets you run a web browser and not much else, but Google is a company of people who like to tinker, and they’ve made it easy to tinker with Chromebooks as well.

The first models shipped with developer switches that you physically flipped. Newer models simply require you to pres a special key combination.

When you enter developer mode, Chrome OS will wipe your internal storage, so make sure to backup any files you have on your device. You’ll also have to login to your Google account again once you’re finished — but after you do that Google will automatically restore your settings, apps, and other data.

Here’s how to enter developer mode on the Pixel:

  • Turn off the Chromebook.
  • Press and hold the Esc and Refresh keys while you hit the Power button.
  • You’ll see a scary menu that talks about missing files. Don’t worry. Just press Ctr+D and your system should reboot into developer mode.

Note that you may have to try this a few times before it works — or at least I did.

Once developer mode is enabled, you’ll see a scary screen about OS verification every time you reboot. But you can skip past it by pressing Ctrl + D and Chrome OS will boot in a few seconds. Or you can wait 30 seconds for the system to start itself.

dev mode

Now that you have access to developer mode, you can move onto the next steps.

Crouton: Running Ubuntu alongside Chrome OS using chroot

Chrome OS runs on a Linux kernel, and Crouton is a tool that lets you tap into that kernel to run Ubuntu side-by-side with Chrome OS. In other words, it piggybacks on Chrome’s drivers for the touchpad, touchscreen, display, wireless connectivity and other functions.

As an added bonus, you can switch between Chrome OS and Ubuntu without rebooting if you use Crouton. That’s because the tool just uses chroot to switch from one file system to another. You’re kind of just running one operating system, not two.

If you’re happy with Chrome OS most of the time, but want to be able to run a few desktop apps such as GIMP or OpenShot for editing photos or videos, Crouton is an amazing tool to have in your arsenal.

You can find more details at the Crouton page at github, but here’s a short guide to installing Ubuntu with the Xfce desktop manager on the Chromebook Pixel:

  1. Boot your Chromebook (in dev mode) and download the latest crouton script from goo.gl/fd3zc.
  2. Press Ctrl+Alt+T to open a terminal.
  3. Type “shell” (without the quotes) to enter shell mode.
  4. Type “sudo sh -e ~/Downloads/crouton -t xfce” (without quotes) to start the installer.

Seriously, that’s it. The process can take a while — the script will download and configure a lot of files from the internet. You’ll want to keep an eye on your Pixel, because you’ll have to answer a few questions about your location and keyboard layout as you go, for instance.

crouton

If you want to use a different desktop environment or choose different options, you can type “sh -e ~/Downloads/crouton” before step 4 to see the help file with a list of available options.

Once the install process is finished you can switch to Ubuntu by typing “sudo startxfce4″ into a shell window.

From Ubuntu you can switch back to Chrome OS simply by tapping Ctrl+Alt+Back arrow. To get from Chrome OS to Ubuntu, hit Ctrl+Alt+Refresh.

I’ve found that sometimes if the user interface doesn’t switch you can also hit “Ctrl+Alt+Forward arrow” before hitting one of the other commands and that usually does the trick.

crouton_gimp

You can also exit Ubuntu altogether by choosing the “log out” option from the toolbar.

The first time you boot into Xfce you’ll notice that all of the text, icons, and other graphics look really, really small. That’s because Ubuntu doesn’t use the automatic pixel-quadrupling that Chrome OS does. In other words, for better or worse, you’re getting your money’s worth out of that 2560 x 1700 pixel display.

crouton_02

You can adjust the size of system fonts and some other settings, and use the zoom tool in the Chromium browser to make basic operations a little more comfortable. But there’s no MacBook-like tool to simply change the dpi of every single thing on the screen. So even after adjusting some DPI settings, you end up with weird artifacts like a web browser with incredibly tiny browser tabs at the top, but large and clear text and images in the main window.

Booting Android, Ubuntu, other operating systems from a USB drive

While Crouton lets you run Ubuntu alongside Chrome OS, it’s also possible to boot an alternate operating system from a flash drive or even go one step further and install an OS to the Chromebook Pixel’s solid state disk.

I’m only going to cover booting from a flash drive here, because you’re not likely to break your $1299 laptop if you’re just following these steps.

The Chromebook Pixel is the first Chrome OS laptop to ship with SeaBIOS which makes it easy to boot from a USB flash drive. Here’s how to do it:

  1. Open a terminal in Chrome OS by typing Ctrl+Alt+T.
  2. Type “crossystem dev_boot_usb=1 dev_boot_legacy=1″ (without quotes).
  3. Turn off the Chromebook Pixel.
  4. Press the power button, but when you get to the boot screen press Ctrl+L instead of Ctrl+D.
  5. Hit the Esc button as soon as you see the SeaBIOS text.
  6. Choose the drive you want to boot from.

In other words, if you have a bootable flash drive with Ubuntu, Linux Mint, or pretty much any other operating system on it, you should be able to boot into that OS.

I took the road less traveled and tried running Android on the Chromebook Pixel.

pixeldroid

You can do this by downloading the latest build of Android-x86 and preparing a bootable flash drive with the software. This lets you run Android 4.2 Jelly Bean on the Chromebook.

For the most part Android looks better on the Pixel’s high-resolution display than Ubuntu because most Android apps are designed to run on virtually any screen resolution. So text and graphics should automatically scale.

Some apps will work better than others — for instance there’s a lot of blank space on the left and right sides of the main body of the Google Play Store. But the web browser works pretty much perfectly.

pixeldroid_03

Some menu text and other items though, do look pretty small — and when you use a mouse to move the on-screen cursor you’ll find yourself moving your write an awful lot to get it from one end of the screen to the other.

And you’ll need a mouse, because at least for now when you run Android on the Chromebook Pixel you won’t be able to use the touchpad or touchscreen. Fortunately the keyboard does work.

You’ll probably run into the same problem running any Linux-based operating system that doesn’t yet support the touchpad or touchscreen drivers for this laptop. But Google has been submitting upstream patches to the Linux kernel so that better support for the Chrombook Pixel hardware should be on the way.

Restore your Chromebook by exiting Developer mode

Done playing with Ubuntu, Android, or what have you? No problem. You can erase any changes you made to your system simply by exiting developer mode.

Just reboot your machine, and at the scary boot screen hit the space bar to turn on OS verification.

At the next screen, hit Enter to proceed and the Chromebook will wipe your local storage and restore Chrome OS. This will overwrite any changes you made.

thanks to Bill Richardson, Kevin Tofel, and Google for tips in getting everything working

  • Bruce_Mc

    “So even after adjusting some DPI settings, you end up with weird artifacts like a web browser with incredibly tiny browser tabs at the top, but large and clear text and images in the main window.”

    You may be able to change the font size in the Window Manager setting. That should force the tabs to be bigger. Note that this is different than the font size and dpi size in the Appearance setting.

    • http://www.liliputing.com/ Brad Linder

      You can adjust font size from the window manager, but not the size of the actual window elements… so the text ends up becoming too large to fit in a browser tab or other element.

  • toronado455

    Nice to know you can have the full native resolution without the pixel quadrupling by running an alternate OS.

  • John Morris

    You should be able to force X’s default dpi setting. But even then all things do not honor it. Mostly because they are too arrogant and ignore X, using it only as a way to get bitmaps onto the display. As for the mouse, adjust the speed so your natural ‘move from one side to the other’ flick achieves that same motion on the high density display, that’s why they make those settings adjustable.

    I’d be more interested if a) it had a more traditional laptop keyboard layout and b) there were a mode that disabled the lock for good and stopped nagging every boot. Better still a mode that allowed ME to rekey the lock so I could gain the security advantages of the lock for myself.

    Best would be to dump the Intel Inside for an fast ARM cpu. Time to face facts, the only reasons to put Intel (or any x86) inside a notebook is to run legacy Windows XP/7 apps, very high performance ‘workstation’ class computations, edit video, etc. None of those apply here, doubt the thing could even install Windows 7 or 8 due to lack of drivers and you wouldn’t use it to do heavy computing tasks regardless.

  • http://www.techmansworld.com/ Michael Hazell

    This is a bit off topic, but does anyone know how to embed those gdgt boxes on websites, like the one just above this comment embed?

  • Dana Goyette

    The fact that everything is so tiny is a “feature” — now you have a 32-inch laptop!
    (That’s what the Xorg server will claim.)

    https://bugs.freedesktop.org/show_bug.cgi?id=23705

  • SGUILLZ

    Does this work for the Acer model (or all other Chromebooks for that matter)?

    • Android

      Yes, I just did it

  • S_Deemer

    Thanks for a great how-to article. There is a work-around to avoid disabling verified boot and auto updates to the OS or firmware,

    https://sites.google.com/site/chromeoswikisite/home/what-s-new-in-dev-and-beta/shell-acess-with-verified-boot

  • ztrainjetsfan

    Does this work with the older chromebooks?

  • A_Mithko

    Do you have to open a terminal to log on every time?

    • gavnnater45

      yes and enter sudo startxfce4

      • Dominic Amann

        Bear in mind the easy suspend resume feature – I just close and open mine and the xfce side is always there – a hot key away from the ChromeOS.

  • incub

    im getting the error sh: illegal option. am i doing it wrong?

  • JYAY

    Does this work for other chromebooks??

  • Brandy Camacho

    There was an issue where the crouton script seemed to fail, no longer responded to commands. The solution:

    When you have issues with “sudo sh -e ~/Downloads/crouton -t xfce” go ahead and try :

    – “cd ~/Downloads”
    – “sudo sh crouton -t xfce”

    This seemed to resolve the issue for my version running, Version 28.0.1500.4 dev.

    • john

      It is telling me that there is no such directory what should I do?

  • http://www.anson-ho.com anson

    Thanks for a good article! I am a GDG Guangzhou manager, from China. Can I translate this article into Chinese?

  • Cheech

    For those asking, i am have an ACER C7 Chromebook and I am running ubuntu and chromeOS with this technique.

  • EVAN HUGHES

    When you are using booting via android, what is the terminal supposed to respond with after you
    Type “crossystem dev_boot_usb=1 dev_boot_legacy=1″ (without quotes).

  • Gordon Sutherland

    Is there an option to get android work on other chromebooks ? like the HP 11 does not have the SeaBIOS?!