GordyBlog

Yet another blogging experiment…

Using a Chromebook as a Development Machine

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.

  1. 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.
  2. 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.
  3. The computer will restart and you will see a screen that tells you OS verification is off. Hit ctrl-d to continue.
  4. 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.
  5. 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.

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.
  • 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.