Introduction
I have been interested in seeing if would be possible to set-up a Chromebook so that some serious development work with it. It’s a given that you won’t be running any virtual machines on a Chromebook. But at this point I think you can do pretty much any thing else you might need to do.
A Minimal Chromebook
First of all, let me say that I think that you need, at a minimum, a Chromebook that has 4GB of RAM and 32GB of local storage. I decided on the ASUS model C200MA-EDU-4GB. This machine is very inexpensive, has a decent display and keyboard, and meets my minimum RAM/storage requirements.
Options
As I see it, there are at least two options you can choose that will let you use a Chromebook as a serious development machine. I have tried both of these and am now using a combination of the two.
The first option is to use a basically stock Chromebook in conjunction with an inexpensive Virtual Private Server (VPS). For this to be a viable option you must be doing your work someplace where you have a decent Internet connection.
You rent a VPS, install a nice Linux. I like Ubuntu 14.04 LTS (Trusty Tahr). You install all of your tools there and use the Chromebook as a portable terminal that lets you access these tools.
But what if you want the option of doing useful work from anywhere, whether or not you have a good Internet connection? In that case, we take a look at the second option.
The second option is to enable developer mode on your Chromebook, install Linux in a chroot environment along with whatever tools you need, and work in ChromeOS or your chroot environment as needed.
This turns out to be extremely easy to accomplish. The remainder of this post will cover the steps I followed to get this going.
Enabling dev mode
The exact procedure required to enable dev mode will vary from one Chromebook to another. For an ASUS C200 it is extremely simple.
- Tap the power button while pressing and holding the esc and refresh buttons. Note that the refresh button is on the top row of keys and looks like a circular arrow.
- The Chromebook will reboot and you will see a screen that tells you
that Chrome OS is missing or damaged. Just hit
ctrl-d
and then enter to continue. - The computer will restart and you will see a screen that tells you
OS verification is off. Hit
ctrl-d
to continue. - Go take a break while your Chromebook’s data is reset. I didn’t pay attention to how long it took, but you will get a textual progress bar at the top of the window while this is in progress.
- When it finally comes back up just connect to your wireless network and log-in as normal.
Note: From this point on you will always see the verification screen
when you restart. No worries, just hit ctrl-d
to proceed.
Installing the Crouton Integration Chrome extension
This is pretty cool. It lets you run your Linux windowing manager in a Chrome frame that shows up on your dock at the bottom of the screen. Let’s go ahead and install it now so that it will be in place when your Ubuntu installation has finished.
- From Chrome, navigate to this URL and install the extension. That’s it!
Installing Ubuntu via Crouton
Crouton stands for Chromium OS Universal Chroot Environment. It is a very nice shell script that greatly simplifies the process of installing and running your Linux environment on the Chromebook.
- Click here from Chrome to download the latest version of the script.
- Pull up a terminal window as follows:
- Hit
ctrl+alt+t
- Type
shell
and hit enter. - Type
cd ~/Downloads
and hit enter. - If you then enter
ls
you should see the Crouton script you just downloaded.
- Hit
The instructions that follow assume that you want to install Ubuntu
14.04 LTS using the xfce
window manager.
- Type
sudo sh -e ./crouton -r trusty -t xfce,xiwi
and hit enter. - After everything is installed you will be asked to enter a username and password.
Running Ubuntu
Here is the basic procedure for entering your chroot environment and starting your Ubuntu environment.
- If necessary, get a terminal session going. Remember the steps to
do this?
- Hit
ctrl+alt+t
- Type
shell
and hit enter.
- Hit
- Enter the chroot environment by typing
sudo enter-chroot
and hitting enter. - Start up the Ubuntu UI by typing
startxfce4
and hitting enter. - As a shortcut you can do the following:
- Pull up a terminal session
- Types
sudo startxfce4
and hit enter.
By default this will start up the Ubuntu windowing system in full screen mode. To toggle full-screen mode just hit what would be the F4 button on the top row of the keyboard. On my ASUS this button looks like a rectangle with little arrow-heads in the top-left and bottom-right corners. Google calls this immersive mode.
Enable Verified Boot and Auto Updates
This tip came from here. Enabling developer mode will disable verified boot by default. To fix it, just do the following:
- Open a shell and become root
Control-Alt-T shell sudo su -
- If you have not already done so, set a password for the root user
by entering the following command and following the prompts:
chromeos-setdevpasswd
- Enable verified boot from the root shell:
crossystem dev_boot_usb=0 dev_boot_signed_only=1
Please see the original post for more information and some screen shots.
References
These are some of the sites I read through when setting up the Chromebook:
- Shell Access With Verified Boot And Auto Updates
- Asus C200 Chromebook: Enabling dev mode, installing Ubuntu
- How to Install Ubuntu Linux on Your Chromebook with Crouton
- David Schneider’s Crouton GitHub Page
- David Schneider on Security
- The Chrome OS Wiki
- Tom Wolf’s Crouton Cookboook
- François Beaufort’s Google+ Profile Page
- Fuyuko Gratton’s Basic Tweaks and Tips for Crouton in Chromebook
- Crouton Ubuntu running in a browser tab of a Chromebook
- Google’s Supported file types and external devices
- Google’s Chromebook Keyboard Features
- vpsdime - Where my VPS lives