• The KBOX2 project
The KBOX2 project
KBOX is a port of Busybox and a number of other Linux
utilities, packaged up in such a way as to be useable on a stock,
non-rooted Android device. It works in conjunction with a terminal
emulator, for example Jack Palevich's Android Terminal Emulator
also available from the Android Market). KBOX provides a
'virtual root filesystem'; that is, under the KBOX shell the users
sees what appears to be a conventional Linux filesystem, all of which
is editable, despite the lack of root access. This technique is
conceptually the same as that used by Cygwin to provide a Linux-like
environment on Windows.
KBOX consists of a base distribution, and a number of optional
packages. Packages can be downloaded to the device, and then
installed at the command prompt using the
KBOX2 is now official retired, and has been replaced by
KBOX3 which is a complete rebuild
to support Android 5. KBOX3 should work on recent
Android 4 devices as well. I am preserving these pages because
I'm aware that some people can't use KBOX3, for one reason or
another, but KBOX2 is no longer under active development.
At present, major packages provided by KBOX include Perl,
Dropbear (ssh support), gcc, Vim (full version), and
and server). Many smaller packages are also available, and more
continue to be added.
The KBOX shell is launched from the terminal emulator like any other
Linux program; most terminal emulators provide a way to set the
default shell, so it's possible to make KBOX start up with the
terminal emulator. In use, the KBOX shell presents a Linux-like
filesytem, with the usual directories
etc. However, these are not the real locations of these directories,
because these places are not writable (perhaps not even visible) to
a non-root user. Instead, KBOX uses an Android port of the
libfakechroot library to set up a virtual root filesystem.
This filesystem can be rooted at any point in the Android filesystem
the terminal emulator has write access to — the terminal emulator's
own data directory is usually the best place.
All the utilities in the KBOX distribution
have been specifically ported to run in the KBOX environemnt — Android is not Linux, as Google repeatedly tells us — and getting
ordinary Linux desktop utilities to work in Android can be a chore,
to say the least.
KBOX2 development diary
General thoughts on the progress of KBOX2, and the trials and
tribulations of porting and developing for Android Linux
KBOX2 automated installation
Masaki Muranaka has produced an
automated installer for KBOX2.
This is available from the Android Market, and works with an
existing installation of Jack Palevich's terminal emulator.
How it works
How the KBOX2 system installs, and how the KBOX shell provides
an illusion of a root filesystem on an unrooted device
KBOX2 manual installation
How to install the base system, and add-on packages, under
an Android terminal emulator app. This is the approach to use
if the automated installer does not work, or if you want to
use a different terminal emulator from the one it supports.
Differences from the previous version of KBOX
KBOX2 is a rather different system from the previous version, both
in implementation and in operation. If you are considering moving
from an earlier version, please read this first
Get the base system and add-on packages from here. Please read
the installation instructions first — it isn't point-and-click
Please look here first if you have a question — it may already
have been answered
Limitations and bugs
KBOX2 is a work-in-progress, and is far from perfect. Please
read this section if things do not appear to work as expected
Source code access
Please read this if you're interested in getting the source
code for KBOX2
See KBOX2 in action