This detailed guide provides step-by-step instructions with screenshots on how to install Linux on Chromebook.
Why install Linux on a Chromebook?
You might already know that Chrome OS is based on the Linux kernel. So do we really need to install Linux separately?
The answer is that Chrome OS is not really Linux, even though it is based on the Linux Kernel. It has a hidden terminal, but it doesn’t let you do many things. Even many simple Linux commands won’t work by default. It’s a closed source, propriety OS and it is locked down, for security reasons.
The kind of lock down Google has put on Chromebooks reinforces my belief that Google hates Linux.
Installing Linux on a Chromebook
There are several ways you can do it.
- Dual-boot Linux with Chrome OS
- Remove Chrome OS and install Linux (possibly)
- Install Linux inside Chrome OS and switch between Chrome OS and Linux using keyboard shortcuts, thanks to crouton.
In this article, we shall see the third method: installing Ubuntu using crouton.
Why install Ubuntu on a Chromebook using crouton?
There are several benefits to installing Ubuntu using crouton. Crouton basically installs Linux in a chroot environment. This way, you can switch between the operating systems without a reboot.
Moreover, the Download directory will be shared between Linux and Chrome OS. This is an added advantage.
Also, a typical Linux install will take at least 6 GB. This method will take around 2 GB max.
On the downside, this method is limited to Ubuntu Linux. You cannot install other Linux distributions using this method.
If you are convinced, let’s see how to install Ubuntu Linux on a Chromebook.
This tutorial has been performed on an Asus C300 Chromebook that has Intel Celeron processor, 32 GB SSD and 4GB RAM.
Part 1: Enable developer mode
The first part of this tutorial shows you how to refresh your Chromebook in developer mode.
On your Chromebook, Hold down the Esc+Refresh keys (there should be a dedicated refresh key in your Chromebook, just look for the symbol). While you have the Esc and Refresh keys pressed, press the power button. This will reboot your Chromebook into “recovery mode”.
When it boots into Recovery Mode, you’ll see an error message:
Chrome OS is missing or damaged.
Please insert a recovery USB stick or SD card.
Don’t worry. It’s not really an error and your Chromebook is safe. At this stage, if you press Ctrl+D, you’ll be taken to OS verification page. If you press Esc or the power button, you’ll reboot to normal Chrome OS.
To proceed with enabling the developer mode, press Ctrl+D.
At the next screen, you’ll be asked to turn off “OS verification.” By design, Chromebooks are locked down to only boot Google-approved operating systems. They verify the operating system at each boot.
To enable the developer mode, you’ll need to turn off the OS verification. Just press enter.
This scary-looking message tells you that OS verification is turned off. It’s a security feature to notify the end user that the device is in developer mode. Since Chrome OS is less secure in developer mode (because you can use a lot more commands and install a lot more programs than in the normal mode), it gives a warning message.
When you are at this screen, press Ctrl+D to boot in developer mode. If you leave the screen unattended for too long, you’ll hear a beep sound and then you’ll be automatically taken to developer mode installation/boot.
Normally, you should see a message in English:
Preparing system for developer mode.
This may take a while.
Do not turn your computer off until it has restarted.
Since I bought my Chromebook in France, a similar message has been displayed in French.
So, as the message says, it will take a while for the system to be ready. For me, it took around 12 minutes.
Once the process finishes, your Chromebook will boot as though for the first time. So now you have to reconfigure it with your Google account.
Congratulations! You have successfully enabled the Chrome OS developer mode. Now, it’s time to install Linux on it.
Part 2: Installing Ubuntu Linux on Chromebook
We have the battle half-won with developer mode enabled. Now it is time to install Ubuntu, using the crouton project developed by a Google employee.
Go to the Github directory of crouton. You should see a link to a script on this page. Download it.
It will be saved in the Downloads directory, exactly where we want it to be.
If you did not know already, there is a terminal in Chrome OS, crosh (an acronym for Chrome Shell). This is not a stand alone GUI program, it is run inside Chrome browser.
If you press Ctrl+Alt+T (yes, the same shortcut as in Ubuntu), the crosh terminal will be opened in a new tab in the Chrome web browser.
Type the following command in it:
By default, crosh doesn’t support all the Linux commands, not even cd or ls. But when you use shell, you can use the normal commands like ls and cd, and run shell scripts.
So, we have the crouton script already saved in the Downloads directory. All you need to do is run the following command:
sudo sh ~/Downloads/crouton -t xfce
Instead of xfce, if you can use:
- kde to install Ubuntu with KDE
- unity to install Ubuntu with Unity
- touch,kde to install Ubuntu with KDE for touchscreen Chromebooks
- touch,xfce to install Ubuntu with XFCE for touchscreen Chromebooks
- touch,unity to install Ubutnu with Unity for touchscreen Chromebooks
You can also use the parameter e for encryption. Then the command will become:
sudo sh -e ~/Downloads/crouton -t xfce
I usually do not favor encryption for regular users, but the choice is yours.
If you ask for my advice as to which desktop environment should you choose among Unity, XFCE, and KDE, I’d advise XFCE because it takes fewer resources. Surely, a lightweight Linux distribution is more suited for a (generally) low end device like a Chromebook.
Once you have entered the command to install Ubuntu, you need to wait. The installation takes time because it requires downloading the entire operating system. The installation time depends on your internet speed. For me, on a 50 Mbps connection, it took around 15 minutes.
The good thing is that you can continue doing your work on the Chromebook. The installation will not obstruct normal computing.
Just keep an eye on the installation, because at the end you will be asked to provide a username and password.
Also note the command that you need to use for starting Ubuntu. As you can see in the screenshot, for Ubuntu XFCE, you’ll use the command startxfce4.
When the installation is finished, you can start Ubuntu by using the command below:
The command will be different for other desktop variants. You can find the correct command listed at the end of the installation process, as in the screenshot above.
Once started, you will be logged in to an Ubuntu session. Remember that the Download directory is shared between Chrome OS and Ubuntu. However, other directories will not be accessible through the Files application in Chrome OS.
You can switch between Chrome OS and Ubuntu using the key combinations Ctrl+Alt+Shift+Back and Ctrl+Alt+Shift+Forward.
The Back key here may not be the same as Backspace key. Please refer to the picture of my keyboard at the beginning of this post to find the correct keys.
If you log out from Ubuntu, your chroot session will be terminated.
Congratulations! You have Linux on a Chromebook now :)
Remember that it is a bare minimum Ubuntu installation. This means that you will not have most of the applications you are used to. I recommend reading through this post: things to do after installing Ubuntu.
Key points to remember while using Linux on a Chromebook
A few things to remember after using this method to install Ubuntu on a Chromebook:
- With developer mode on, you will see “OS verification is off” screen at each boot. Press Ctrl+D at this screen.
- Press Ctrl+Alt+T to access terminal
- Enter the command: shell
- Enter the command: sudo startxfce4
- Use keys Ctrl+Alt+Shift+Back and Ctrl+Alt+Shift+Forward to switch between Chrome OS and Ubuntu
- If you have an ARM Chromebook, several Linux applications might not work
Removing Ubuntu Linux from a Chromebook
While it barely takes 1.5 GB to install Ubuntu, it may happen that, with more and more software installation, Ubuntu starts taking up more space. Free space could certainly become an issue, especially if you have a 16GB Chromebook.
Of course, you may have reasons other than space concerns for removing Ubuntu from the Chromebook.
To remove Ubuntu (installed using crouton) from a Chromebook, do the following:
- Use Ctrl+Alt+T for terminal
- Enter command: shell
- Enter command: cd /usr/local/chroots
- Enter command: sudo delete-chroot *
- Enter command: sudo rm -rf /usr/local/bin
This will remove the Ubuntu installation.
Alternatively, at the boot screen, when you see “OS verification is off,” press the space bar and re-enable OS verification. This will disable developer mode and remove all of the local data, including the Ubuntu installation.
I hope this guide was easy to follow and helped you install Ubuntu on a Chromebook. If you have questions or suggestions, please feel free to use the comment section below.