After several months of happily chugging along on the Samsung ARM Chromebook as my secondary laptop I decided to give ChrUbuntu a try, mainly because I wanted a LAMP environment to play and didn’t want to mess with my work-issued MacBook Pro. I installed ChrUbuntu to an external SD card, which gives me the flexibility to boot into ChromeOS anytime I want to surf the web and plus the SD card in anytime I need Linux.
I found the installation of ChrUbuntu to be pretty straightforward. Overall it took me about one hour from start to finish. I mostly used this Ars Technica guide and made a few adjustments where the steps between the Acer C7 and Samsung ARM differed. I also got some help from the 200+ comments on Jay Lee’s blog.
Here’s how to do it:
Don’t forget the SD card
Sadly the most obvious step was the one I forgot when I first tried this. Turn off your Chromebook and plug in the SD card you want to use. The card has to to 8+ GB and will be /dev/mmcblkp1. This will be important later. Also beware that any files stored locally on the Chromebook will be wiped in the following steps, so save them before you proceed.
Boot into ChromeOS developer mode
There are several steps for getting into developer mode and it can take 5-10 minutes. If you need additional help, the full instructions are available here.
To get into developer mode you have to hold the ESC and REFRESH keys as you press the Power button to get into recovery mode. Once you boot into recovery mode ChromeOS will ask you to plug in recovery media. Instead you have to press CTRL+D to go into developer mode.
Prepare the Chromebook for ChrUbuntu
Booting into developer mode will take several minutes as the Chromebook reboots and resets itself. Once that process is complete you get a screen telling you that OS Verification has been turned off. Press CTRL+D to get past that screen and click through the prompts you get after the Chromebook boots. You want to connect to a network but do not go past the login screen.
At the login screen, once you are connected to a network, press CTRL+ALT and the FORWARD key to go into the developer console.
In the developer console, type chronos and hit enter to get into the shared user account. Then switch over to the bash shell by typing sudo bash and hitting enter. The last step here is to type the following command: chromeos-firmwareupdate –mode=todev.
This will boot you into the development BIOS each time you start your Chromebook and you’ll be able to hit CTRL+U to dual-boot into ChrUbuntu.
Use wget to download the latest version of ChrUbuntu
If you’ve done all of the steps correctly you are almost ready to start downloading ChrUbuntu. Type exit to drop out of the bash shell and type the following command to wget ChrUbuntu. This is the correct command for now, but may change in the future as updates for ChrUbuntu are released, so check Jay’s blog for the last version.
wget http://goo.gl/34v87; sudo bash 34v87 /dev/mmcblk1
Install ChrUbuntu
ChrUbuntu will check that you are running a developer BIOS, that your Chromebook is compatible and that the target drive is plugged in. Hit enter and you are set. Also, it’s probably a good idea to plug your charger in a this point.
Grab a cup of coffee while ChrUbuntu loads
ChrUbuntu will now automatically download and install. How long it takes depends mostly on your Internet connection. With my 30mbps it took me about 30 minutes.
Some people have reported various errors at this point, either with the same file trying to load over and over due to a discrepancy in the hash value or an error that says Cannot write to ‘-’ (Broken pipe). I didn’t have these errors myself but the easiest workaround (according to the comment section) seems to be to restart the entire process.
Enjoy
And that’s it. You now have ChrUbuntu installed on the SD card. Anytime you want to boot into Linux plug the SD card in and hit CTRL+U at the Chrome OS Verification screen.