Attention! This guide is obsolete and download links no longer work. I recommend to follow this guide instead (for installing Ubuntu). The page is still here for historical reference.
Note: this guide only works for the Chromebooks that have a x86 processor (the Intel Atom). If your Chromebook has an ARM processor you might want to check this other guide: https://chromeos-cr48.blogspot.com/2012/10/arm-chrubuntu-1204-alpha-1-now.html
After becoming a semi-finalist for the Google Apps Developer Challenge 2012 with my HTML5 Photo Viewer application I received from Google a brand new Samsung Chromebook! I have tried the Chrome OS for a bit and I think it’s awesome those people that need a PC exclusively for browsing the web, writing e-mails and occasionally videochat. But if you have followed my blog, you know that I want to get the most out of my hardware (and you probably do too)!
It turns out that you cannot boot whatever you want from the USB drive. The Chromebook will complain that it is not a valid ChromeOS installation drive. This means that without opening the case and tinkering with the hardware you cannot install Windows or boot a regular Linux image. We can however make a new partition, copy an existing installation of Linux to it, make a copy of the ChromeOS kernel and modify the partition table to make it the default boot partition. The following steps are based on the instructions I found on this page. I included some more details and modified the installer script to make a few extra security checks.
- Turn off your Chromebook.
- Open the lid to the left of the Chromebook logo. There is a small switch that can be turned on or off. Use a small clip to switch it to enable developer mode.
- Turn on the Chromebook. At the blue screen where you are asked to recover ChromeOS, press CTRL+D. This will boot the computer in developer mode.
- Select a WiFi connection, then press CTRL+ ALT + → (two keys to the right of the ESC button).
- From the console, log-in with the user chronos.
- Type sudo su to gain privileged access.
- Enable the developer firmware by typing:
chromeos-firmwareupdate --mode=todev
- The computer will reboot. Repeat steps from 3 to 6.
- Type wget https://www.pierotoffanin.com/chromebook/x86-chrdebian.sh
- Type sh x86-chrdebian.sh
- Type the number of gigabytes you want to reserve for Debian. A value of 9 is recommended.
- After the system reboots, press again CTRL+D. ChromeOS will fix your partitions.
- Repeat steps 4,5,6,9,10.
- Wait for the script to download and install Debian. This might take a while (2GB of downloads).
- When the installation is over, press Enter to boot into Debian.
The username is user and the password is chromebook. The root password is chromebook/linux.com.
Enjoy your new awesome Debian Chromebook!
If you get sick of Debian and want to boot back to ChromeOS, open a terminal and type:
sudo cgpt add -i 6 -P 0 -S 1 /dev/sda
If you want to boot back to Debian, simply open a console (as described in step 4,5,6) and type:
cgpt add -i 6 -P 5 -S 1 /dev/sda
If something goes wrong, do not panic! Prepare a USB drive to recover ChromeOS following the instructions provided here and start over: https://support.google.com/chromeos/bin/answer.py?hl=en&answer=1080595
As long as you do not open the case there is no risk of damaging the computer.
Worked great, Debian is running perfectly!
https://goo.gl/o5cH3H&jlito
thank you, worked like a charm
https://goo.gl/XdXShA&jpoz
I installed exactly as shown but had no wireless post install. Any idea why? Thank you.
I tried it on my Samsung with an Atom chip and would not reboot as Debian. The script output was the following. Any ideas??
Oh good. Tou’re running a developer BIOS…
Chome OS model is: SAMS ALEX THETA-US 1663
and you’re running on a x86-based Chromebook, awesome!
Press [Enter] to continue…read: 31: arg count
Stopping powerd to keep display from timing out…
powerd stop/waiting
32768*0 records in
32768*0 records out
16777216 bytes (15 MB) copied, 1.99078 s, 8.4 MB/s
Setting Debian Kernel arguments and resigning kernel partition…
INFO: Making change to 6 on /dev/sda.
Kernel C: Replaced config from /mnt/stateful_partition/foo.6
ERROR: Failed to resign Kernel C. Message: ERROR: Error verifying key block.
e2fsck 1.42 (29-Nov-2011)
e2fsck: need terminal for interactive repairs
reiser2fs 1.42 (29-Nov-2011)
The filesystem is already 2097152 blocks long. Nothing to do!
Installation is over! Review the console output for any errors that might have occurred
Your username and password will be:
User: user
Password: chromebook
Default root password is: chromebook/linux.com
Press [Enter] to reboot in Debian.read: 176: arg count
I would try to restore the chromebook to factory defaults (by reinstalling ChromeOS) and then try again.
Tried that, no go. After redownloading the distro, I got the same results. Do you have the specific model number and OS info this worked for? I can then compare that to what I have. Should it always prompt for partition size? If so, can you give me the text of the prompt so that I can see what’s keeping it from reaching that point in the script. Does it prompt when you first run the install script, or after a reboot?
You can look at the x86-chrdebian.sh file with a text editor to see what conditions are being checked before asking the partition size;
My Chromebook is a SAMS ALEX EPSILON-US 4507
I solved one problem; the reason the script wasn’t prompting was because one needs to do a “bash x86…” instead of “sh x86…”
https://goo.gl/6guJwk&ilax
https://goo.gl/RkJnPW&seryh
OK: “bash x86…” instead of “sh x86…” makes the interactive prompts in the script work. And I think the problem with it not completing the install is due to the minimal amount of memory in the particular chromebook I was working with, so the distro can’t load (but it would be nice if the script figured that out and reported it…)
https://goo.gl/d7y8tV&pezi
https://goo.gl/PzddkC&ranav
https://goo.gl/i81Gry&omos
https://goo.gl/zE8zg3&ileg
PS It never prompted for partition size, as your article suggested it would…
https://goo.gl/1qPGqb&jsyce
Could the discovery of this error in the script be why I can not get wireless after install or is it unrelated?
As bad as I want Debian I don’t want to try again unless this solves wireless issues…..
Thanks.
https://goo.gl/J8p751&jdogu
hello guys ! i had a problem in step 10. When i type sh x86-chrdebian.sh and wait few min my chromebook will display recover page i cant continue!
https://goo.gl/sC1TvB&loti
Hi there! I’d love to use Crunchbang instead of Debian. I’m by no means an expert on these things, but will try your installer to see whether this can be done. The Alex Chromebook looks like a neat machine but Chrome OS is still not too powerful for my tastes… Thank you for your great work!
https://goo.gl/XpfxzW&lyka
Linck is not work:
Type wget https://www.pierotoffanin.com/chromebook/x86-chrdebian.sh
my screen goes blank any time i insert the recovery drive. the device is
SAMS ALEX EPSILON-US 4507