The $249 Samsung ARM Chromebook, with a 1.7GHz dual core ARM processor and 2gb, has decent specs for the price. Being ARM based, the device has no fan, keeps cool, and sports a ridiculous battery life. However, with Chrome OS loaded on to this beast of a netbook, utility is lacking. There are a few guides circulating about “dual booting” a linux environment with Crouton, or booting a linux environment from SD/USB. But what if you want to boot linux without Chrome OS holding root privileges, or having things sticking out of your computer? There is a way, but you will need an SD card, some guidance, and the guts to wipe your pristine Chrome OS installation.
If you would like to boot linux off your internal SSD, continue reading.
NOTE: I AM NOT RESPONSIBLE FOR ANY DAMAGE YOU DO TO YOUR DEVICE, YOUR WARRANTLY IS NOW VOID. CONTINUE AT YOUR OWN RISK.
I accomplished this task with Arch Linux. For other linux distributions, you may need to consult their installation instructions for this particular chromebook and adjust accordingly.
Note: if you botch the arch linux installation on the internal SSD, google provides a handy tool to reinstall Chrome OS via a USB drive. You can probably always get Chrome OS back, so as long as you dont overwrite the BIOS somehow, you should be fine. If you do botch the installation on the internal SSD, you may need to reinstall chrome OS and start at the beginning (hey, I never said this was fast!).
For starters, follow the Arch Linux installation instructions found on their website here. This guide will walk you through enabling developer mode and installing arch linux for boot on an SD card or USB device.
Boot into the Arch Linux installation once to inflate the standard linux directories. Poweroff, and boot back into Chrome OS.
For the internal SSD installation to work, you will need the cgpt program used in the Arch Linux installation instructions. Unfortunately, only Chrome OS has it, fortunately, you can just copy it over to your Arch Linux installation!
Once you have logged back into Chrome OS with your SD card inserted, pop a crosh terminal with CTRL+ALT+T.
shell to invoke a standard shell.
sudo su to gain root privileges.
cd /media/removable/ to navigate to the directory your SD card
is mounted. There should be 3 SD card folders.
ls SD\ CARD\ 1 to list the first partition on your SD card, you are looking for a standard linux root directory (contains such folders as /usr/, /etc/, /mnt/, /dev/, and so on…).
If the standard linux root directory is not found, invoke the previous command, incrementing the number at the end until you find the directory you are looking for. Remember which number you used, you will need to know which partition to access later.
The cgpt program on Chrome OS should be found under /usr/bin.
cp /usr/bin/cgpt /media/removable/SD\ CARD\ $/usr/bin/ Where $ = the partition number where you found your standard linux directory.
cp -r /usr/bin/old_bins/ /media/removable/SD\ CARD\ $/usr/bin/old_bins/ Where $ = the partition number where you found your standard linux directory.
Why the whole old_bins folder? Cgpt requests it when it runs, it needs it to work.
Now that you have cgpt on your arch linux installation, the fun begins. Boot back into the Arch Linux on your SD card.
Now, after logging in as root and gaining an internet connection (very important!), update pacman with a
pacman -Syu . it might complain about not mounting /boot in the fstab, thats not an issue at the moment, but if you want to fix that, open up /etc/fstab with a text editor and uncomment the line that corresponds to the device type that carries your Arch Linux (/dev/sda for USB, /dev/mmcblk1 for SD) before you run the pacman command.
Now, follow the Arch Linux installation tutorial from the Arch Linux site like you did before when you installed Arch Linux on an SD card (or USB). However, this time, start after the tutorial pops a linux shell, and (VERY IMPORTANT) where the tutorial states ‘/dev/sda’ or ‘/dev/mmcblk1′, replace it with ‘/dev/mmcblk0′. In the places where the tutorial states ‘/dev/mmcblk1p*’ where * is any number, simply substitute the ‘/dev/mmcblk1′ part for ‘/dev/mmcblk0′.
Once you have installed Arch Linux on your internal SSD (yep, that easy!), before you update pacman like before, uncomment the /boot for /dev/mmcblk1 in /etc/fstab and change ‘/dev/mmcblk1′ to ‘/dev/mmcblk0′. Then reboot and update pacman.
Thats about it! Enjoy Linux on your Chromebook!
If I have made any errors, please tell me in the comments and I will update this post accordingly!