Guest Post – Google Coder with LinuxOnAndroid by Ryan Bouwens

Recently Google released a web based IDE for Raspberry Pi, Google Coder (, designed to offer an easy learning environment for HTML/CSS/Javascript. The obvious limitation of Raspberry Pi is that few members of the general public actually own the minimalist computer. While the cost of entry with the Pi is low, we all can agree the abundance of Android devices makes a much better resource. Thanks to Jason Kridner at and his guide for Coder on the BeagleBone Black, it was possible to use the LinuxOnAndroid project to create the steps needed to bring Coder to a much wider audience.


The LinuxOnAndroid method does not make any system changes to your Android device and runs the Linux operating system in a loop device. Because of this your android device retains full functionality while the Linux environment will be connected to via an app called Terminal. All of these steps are done from the phone and no desktop or USB connection is required. A basic understanding of root and managing files on your phone is expected. The linux commands are limited but must of course be typed into the phone perfectly. As always, it is suggested to have power available when doing complicated things on your phone.


Things you will need..


Rooted Android device with 800mb of free space. I used an AT&T Galaxy S3 that had been rooted but uses the stock AT&T Android.

Local wifi connection. If you do not have a local network you can use wifi tethering to create an environment in which clients can access the Coder environment.

An internet connection suitable for downloading the 200mb linux image and additional packages.


The first thing we will do is install Complete Linux Installer from the Google Play Store.


Run the app and select Install Guides followed by Ubuntu 12 Install Guide.


Follow the instructions on page 1, which is simply turning on USB Debugging. We will not actually hook up a USB cable, this is just an internal requirement.


On Page 2 select Download and choose Download Core Image. You can choose from Torrent or Sourceforge. Most users will select Sourceforge which is a traditional web based download.


The app will ask you to install two additional apps on, Terminal and VNCViewer, providing links to their Play Store locations. VNC would be what you would use to connect to a desktop in Linux and we will not be installing this so you can skip it and only install Terminal.


Page 3 is going to be file management instructions. I use Easy Unrar Lite to unzip the file. . You can use any file manager to create the folders and move the unzipped files. On the S3 my sdcard is labeled sdcard0. It will tell you to be very specific with where to create the folders. Do not be concerned if your sdcard is labeled with the 0. My file manager shows /storage/sdcard0/ubuntu as the folder I ended up creating. /sdcard is simply a shortcut to this location within Android.


Page 4 has information about VNC which we will not be using. The only valuable thing on this page is a reminder to type exit within the terminal to close down the LinuxOnAndroid environment.


Return to the initial page of Complete Linux Installer using the back button and select Launch. There will be a drop down box at the top of the page which you will select ubuntu. A Start Linux button should appear which you will now use to launch Ubuntu.


The Terminal app will launch and LinuxOnAndroid will begin Linux within. It will ask you for some user information which you can fill out or simply hit enter. It will ask you for a new password. You will be asked if you want to start the VNC server which you select no. Last it will ask to make these default settings and select yes.


At this point we have an Ubuntu environment loaded onto your Android device.


The $ you see below will represent the command prompt and is not to be typed into the window.


The first command. (The menu button on your phone will offer an option called Special Keys, in here you can learn how to use the Volume button to simulate the arrow and ctrl/shift keys.)


$ cd ~


If you don’t know how to get your local network IP address.


$ ifconfig


Look for wlan0 inet:addr:XXX.XXX.XXX.XXX this is the address you will connect to coder with.


Update apt and install some things you will need.


$ apt-get update

$ apt-get install build-essential

$ apt-get install git

$ apt-get install npm


One package does not have an apt file so you need to manually download it.


$ wget

$ tar xzf redis-2.6.16.tar.gz

$ cd redis-2.6.16

$ make

$ make install

$ cp redis.conf /etc/redis.conf

$ >| /lib/systemd/system/redis.service


Now we will git clone coder, install and start it.


$ cd ~

$ useradd -m pi

$ git clone git://

$ cd coder/coder-base

$ npm install

$ npm start


Visit https://XXX.XXX.XXX.XXX:8081 in your browser replacing XXX with your phones IP address. You can access the Coder environment from Chrome right on the phone as well at https://localhost:8081

Coder generates a certificate for ssl that you will need to OK when you open for the first time from each new IP address. Your browser will warn you and you click accept to proceed anyways.


To end Coder you will need to escape from within the Terminal. This can be accomplished by pressing the physical Volume Down and virtual keyboard c. Once you have escaped out type “exit” to shutdown LinuxOnAndroid.


Once setup you can use Coder by using the Launch tab within Complete Linux Installer. When the terminal opens type the below commands to start Coder.


$ cd ~

$ cd coder/coder-base

$ npm start