This article is mostly accurate still, but there’s more up-to-date information available in a new guide – including new fixes, and the option of installing to SD card..
Hey everyone, I came across the “crouton” project tonight (https://github.com/dnschneid/crouton)
This is an incredibly elegant script, and the developers deserve a big pat on the back.
This script allows you to install Ubuntu (or debian if you want to mess around) along with a full XFCE desktop that runs simultaneously with ChromeOS and lets you switch between the two desktops with a keystroke.
The instructions come from the readme on the project page, but are written for non-ARM devices, I’ve made a slight addition afterwards. First off, go to the link above, and download the crouton script, then follow these steps:
Since the instructions are ever changing, make sure you check the link above to make sure you’re up to date, I’ll leave these here for archival reasons…
Download crouton. Open a shell and run sudo sh -e ~/Downloads/crouton -t xfce Wait patiently and answer the prompts like a good person. Done! You can jump straight to your Xfce session by running sudo enter-chroot startxfce4 or, as a special shortcut, sudo startxfce4 switch between Chromium OS and your chroot using Ctrl+Alt+Back and Ctrl+Alt+Refresh. Exit the chroot by logging out of Xfce.
ARM Differences (note: the instructions on the project site have since been updated and now include correct instructions for ARM:
The TTYs work differently, so when you’re in the chroot XFCE desktop, there’s a different keystroke to move between chrome OS and Ubuntu chroot, we need to add “shift” to the combos
So “ctrl+alt+shift+back” will switch between the two.
This will let you run whatever linux apps you want while not having to constantly reboot the laptop.
If you’re like me, you may also find it useful for your chroot ubuntu environment to be able to see some of the files in your main chrome environment (your download folder for example)… To do this, you need to “bind” any folder from chrome that you’d like to access to a folder within the chroot.
For example, if you wanted to share your Chrome download folder with your Ubuntu area, you would:
1. From your chroot environment, create a directory to act as the mount point:
sudo mkdir /chrome
Then, from your chrome shell execute:
sudo mount -o bind /home/user/XXXXXXX/Downloads/ /usr/local/chroots/precise/chrome/
Then, when you’re in your chroot environment, if you browse to the /chrome directory, you will find the contents of your chrome download folder..