Installation

Paul Sokolovsky

Installation

Requirements

  • Device with Android (minimum version TBD)
  • Root access support ("rooted" device)
  • Busybox installed (some other full-fledged shell like bash might do too, but Busybox is the common solution)
  • Kernel support for ext2 file system (more file systems support is a plus)
  • External hardware keyboard is recommended for elaborated Linxu usage

How to get a device rooted is outside the scope of this project, but the most common way is to install custom "ROM" which already includes root access, Busybox, and extra kernel modules, for example ext2 support. Search the Internet for details for you device.

High-level overview of ChDistro components

ChDistro consists of:

  • Android utilities used to access Linux environment. This include: terminal emulator to access console (mandatory), VNC client to access X11 GUI (optional), full-fledged virtual keyboard (optional).
  • Filesystem of a distro to be run. This can be either a filesystem image (file containing a filesystem inside), to be loopback-mounted, or separate partition on an SD card, formatted to a Linux-friendly file system, like ext2 (FAT or FAT32 partition or card won't do, as those filesystems do not provide support to store permission and other Unix attributes).
  • "chdistro" scripts which sets up chroot environment for a distro to run within.

Android utilities

Based on personal and community experience, following Open Source applications are provided and/or recommended for usage with ChDistro. You may use any other similar applications if you want, but note that some of applications below were specifically patches to improve Linux-on-Android user experience, and make it comparable to that of running Linux natively. So, without provided utilities, you may face reduced usability issues.

  • ConnectBot is a terminal client which is used to access text-mode shell console. It also doubles as telnet and SSH client. Link above is to the patched version which is maintained by this project to have decent support for external (USB, BlueTooth) keyboards, which you'd likely need for any real work.
  • Android VNC Viewer is a VNC viewer, which you need if you want to use GUI (X11) environment. (VNC is "remote desktop" protocol, here we'll use it to connect to local machine. It's not that bad setup actually, but if you'd like to port X11 server to Android, you're welcome).
  • Hacker's Keyboard is the full-fledged virtual keyboard which allows you to work with command line comfortably.

Distro images

You may use with ChDistro any compatible image which you create or download somewhere. There's also pre-provided Ubuntu image, which specifically designed and tested to serve as a basic image to cover needs of as many users as possible.

Ubuntu 9.04 Jaunty ARMv5 image

GUI environments on Ubuntu

This section describes few GUI environment choices available for Ubuntu. They would be available with other distros too, just will need other commands to install.

  • LXDE is the most lightweight full-fledged desktop environment, recommended for ChDistro usage. Install with (59M download/246M disk):

    apt-get install -y lxde

  • XFCE is the lightweight full-fledged desktop environment, recommended for ChDistro usage. Install with (62M download/223M disk):

    apt-get install -y xfce4

  • Gnome is the standard Ubuntu GUI desktop, which you would run on a quadcore 3GHz, 8Gb RAM machine (237M download/1037M disk, 175M/762M with --no-install-recommends).

    apt-get install -y --no-install-recommends gnome-desktop-environment

There are [KnownIssues] with running Gnome, please follow instructions on that page to have them resolved.

There are also other choices what to install, see more about Ubuntu meta-packages:

Other distros

Official sources of some kinds of distro images are below. Note that those are mostly "install" type of images, not filesystem images which are needed for ChDistro, so they need to be converted first.

ChDistro script

Latest version of the runner script is available here:


Related

Home: Home
Home: KnownIssues