Ubuntu – True Ubuntu on Chromebook ARM


I have installed Ubuntu 13.04 on my desktop (runs like a charm). Then I used Crouton to install Ubuntu 12. 04 on my chromebook samsung (ARM). It also works quite well.

Here comes my question. Can we have a true Ubuntu (preferably 13.04) on my ARM chromebook?

It seems that the Crouton/Ubuntu is not 100% the real thing.

The best option would be to have the full Ubuntu 13.04 and remove the Chrome OS.

Best Answer

WARNING: The use of Chrubuntu is deprecated, and is dangerous to install on newer Chromebook devices.

Many of these links in this answer are also out of date.

You may continue to use this tutorial, but you use this tutorial at your own risk, with no guarantee of it working functionally.

It appears that you can't fully remove ChromeOS from a chromebook (well, you can but it's quite the struggle) but you can make it dual boot and make it boot into ubuntu by default. I'll show you the last method.

  1. First make a backup of all you local files because everything stored locally will be deleted by entering developer mode (guides for entering developer mode for specific models besides the one covered here can be found here.)

  2. Press and hold the Esc and Refresh keys together, then press the Power button (while still holding the other two keys). This will reboot your Chromebook into Recovery Mode.

  3. When you get the yellow screen with the exclamation mark hit ctrl + d (This will bring up a prompt asking if you want to turn on Developer Mode.) Press enter (this will take about 15 to 20 min. You'll get a screen with a red exclamation mark but leave it be until it reboots into ChromeOS).

  4. Turn it on but do not login. Make sure you have a WiFi or Ethernet connection configured at this point. 3G/4G is not recommended. Press CTRL+ALT+=> (=> is the forward arrow where the F2 key would be on a PC). Do not use the normal CTRL+ALT+T method to get a shell. Use the CTRL+ALT+=> method while no one is logged in.

  5. Login as user chronos, no password is needed.

  6. As the chronos user and without having changed directories or run other commands, run:

    curl -L -O http://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-install.txt; sudo bash s9ryd
    (There is a new script with a new link. If you still want to use the old version you'll have to replace the new link with the old link. Use this script for old devices like Acer C7 and Samsung 550.)
    curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs

Make sure you have the command exactly right. The -O and -L after curl are both capital letters. If you get a "not found" error, make sure you have Internet connectivity and you're typing the command correctly.

  1. You'll be prompted with some information about your Chromebook. You may need to run an additional command to install a developer BIOS on your Chromebook. (This is fixed and now integrated in the script that the command will download. You can however still use the old link so I left it there with a strike through line). Press Enter to continue.

  2. The Chrome OS stateful partition where your data and settings are stored is just short of 11gb by default, the script shrinks the stateful partition to make room for ChrUbuntu. You can choose to give ChrUbuntu from 5gb up to 10gb in 1gb increments (Note: If you've installed a larger SSD in your Chrome device, your max number and recommended max will be larger). I recommend not going higher than 9 as 10 leaves Chrome OS with very little free space (less than 1gb).

  3. Once you've entered a number, your hard drive will be repartitioned. After awhile it will reboot and re-initialize the stateful partition. This process takes 2-15 minutes and then the Chromebook reboots again and shows you the Welcome screen you got when you first turned on your Chromebook out of the cardboard box.

  4. Go through the Chrome OS setup process again until you get to the Google login page. You'll need to have a WiFi or Ethernet connection again at this point. Now follow steps 6 through 8 again. This time the script will see that you've already made room for Ubuntu and start downloading ChrUbuntu.

Pro Tip: Here's where you can install other versions of Ubuntu! Just specify the preferred Ubuntu flavor and version at the end of the command:

curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs [flavor] -u [version] -a [argitecture] -t [target-disk]

You can display available "flavors" using the following command:

curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs -h

For example:

curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs xubuntu-desktop -u lts

This will install Xubuntu and the latest LTS release (12.04.2 as of writing) rather than a 13.04 Unity desktop. Some possible flavor alternatives to Unity are:

  • default (ubuntu-desktop on x86, xubuntu-desktop on arm)
  • kubuntu-desktop
  • lubuntu-desktop
  • xubuntu-desktop
  • edubuntu-desktop
  • ubuntu-standard (no GUI installed)

Some possible versions are:

  • lts -- latest LTS Ubuntu release, 12.04.2 as of this writing
  • latest -- latest official release, 13.04 as of this writing
  • dev -- unstable development Ubuntu release, daily alpha build of Saucy Salamander 13.10 as of this writing <-- Experts only! If this breaks, don't be surprised
  • 12.10 -- Ubuntu 12.10 release

the possible architectures (-a option) are:

amd64 -- default i386

[target-disk] is the last argument (specify "default" and "latest" for the first two arguments if you just want to install the defaults to an external drive). An example installation to SD Card might be:

curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs default latest /dev/mmcblk1

11) During the installation (within the first 5-15 minutes). You'll see a few prompts to select your encoding, locale and language. For most people, the defaults should be fine, just press Enter but change them if you'd like. Later on, you'll be prompted to decide where GRUB should be installed. YOU MUST CHECK THE BOX NEXT TO /dev/sda in order for boot to work!

12) After all of the Ubuntu files have been downloaded, installed and configured, the script will make a few more updates and then prompt you to reboot.

13) At the developer mode screen press CTRL+L. You'll see ChrUbuntu start up! The username is "user" and the password is "user". (You can also press CTRL+D to boot into chrome os.)

14)(This might not be necessary anymore but I'll leave this here for people that still need it) Right now you're in ChrUbuntu but if you reboot, you'll be back in Chrome OS. This is a safety feature, if ChrUbuntu won't boot, you want to be able to get back into Chrome OS to fix it. To make ChrUbuntu the default, run:

 sudo cgpt add -i 6 -P 5 -S 1 /dev/sda

On the ARM Chromebook, replace /dev/sda with /dev/mmcblk0. The password is "user". It should be possible to run this from ChrUbuntu or Chrome OS.

To make Chrome OS the default again, either turn off Developer Mode, or run:

sudo cgpt add -i 6 -P 0 -S 1 /dev/sda

For reference check chrubuntu

Also note that the trackpad is only supported with 13.10 and higher. For now stick with 13.10 or use a USB mouse.

Related Question