Logo Computer scientist,
engineer, and educator
• Software  • The KBOX project

KBOX logo

Running KBOX on a Chromebook


Why?

Running KBOX on a Chromebook might seem like an odd thing to do; after all there are projects like Crouton which provide a complete, Debian-based Linux distribution for Chromebooks. Unlike Android handsets, which nearly always have a nasty, failure-prone procedure for getting root access, Chromebooks provide a built-in developer mode with instant root access. Moreover, Crouton can run full-scale, graphical Linux applications, not just the command-line utilities that KBOX offers.

So why use something limited when there is something fully-featured available?

The problems with running Linux on Chromebooks stem from the use of developer mode itself. Developer mode is intended to be a transient feature, and it is all too easy to slip back into "normal" operation when restarting the machine. When this happens, the entire system is restored to factory settings. The Chromebook firmware provides no protection against this happening, and its a particular hazard on Chromebook devices that are shared. You (or, more likely, your kids) only have to hit "enter" at the boot screen to wipe the complete system.

Another problem — perhaps less worrisome — is that Crouton is a fairly substantial distribution even in its bare-bones form. It's a lot of stuff to install, just to run rsync or vim.

The advantage of KBOX — despite its limitations — is that it requires no use of developer mode. You can still erase it by restoring to factory settings (or just by deleting the terminal emulator that hosts it) but that takes an act of will — it won't happen by accident. And KBOX has no overheads beyond the terminal emulator and the actual Linux utilities you want to install.

If you need to run full-scale Linux applications like OpenOffice or Thunderbird on your Chromebook, I think there is presently no alternative to enabling developer mode and installing Crouton (or a complete Linux distribution of some other kind). KBOX is a potential alternative for running simple, command-line utilities without the hazard of developer mode.

How?

To use KBOX on a Chromebook, you will need to enable Android emulation, which is what happens when you enable "Google Play support" (from the Chrome settings app). You might already have done this, if you use Android apps on your Chromebook. Most modern Chromebook versions support Android emulation.

You will need a terminal emulator to provide a command prompt. The standard Chromebook "crosh" prompt won't do anything useful for you at all if you aren't in developer mode. I have done all my testing using Jack Palevich's terminal emulator app, which is available from the Google Play store. I'm told that other emulators work, but I haven't tested them.

Having installed a terminal emulator, installation is exactly as for an ordinary Android device.

It's worth bearning in mind that the /sdcard directory that is visible to KBOX is not the real, physical SD card that plugs into the side of the Chromebook — it is the Android main storage area, which is on the internal storage of the Chromebook. There will always be a directory /sdcard/Downloads, which corresponds to the Downloads folder seen in the Chrome file manager. To the best of my knowledge, this Downloads folder is the only place where files can be transfered between Chrome and Android (and thus KBOX). There is, so far as I know, no way to see the external SD card in Android at all.

Copyright © 1994-2015 Kevin Boone. Updated May 18 2017