Android ports - unix command line packages built for android

What is this?

Unix command-line programs ported to run on android. This project uses opkg, which handles downloading and installing packages and their dependencies (like yum or apt). Source for all packages are available.

How to Install the package system

How to install a package

opkg-cl update
opkg-cl install [package]

Links

How-to instructions
Binary Packages
Source + Patches, Build Environment
Work Notes
busybox mod for DAS BAMF
busybox binary

Frequently Asked Questions

Q: Who would find this useful?
A: System and network administrators and other people wanting more of the unix command line on their phone

Q: What is the target system?
A: I'm doing all my testing on an HTC Thunderbolt running Android 2.3 (Gingerbread). Packages should work on any Android 2.2 (Froyo) or later phone.

Q: How does this compare to the google market?
A: It's completely different. This is only for open-source command line programs.

Q: Where are programs installed?
A: Everything is compiled with a prefix of /data/local. You can find programs in /data/local/bin

Q: What is different from the dropbear binary provided by das BAMF?
A: Password support is disabled (ssh key logins only), scp and sftp work (install openssh package), /data/local/bin is in the default path, /data/root is hardcoded to be root's home directory (for ssh keys and .profile), and the shell is hardcoded to be /system/xbin/ash

Q: What is different from the busybox binary provided by das BAMF?
A: see the busybox changes file

Q: Which libc are you using (uclibc, glibc, dietlibc, etc)?
A: Bionic, google's libc that comes with the phone. (this google groups attachment has more notes on the design decisions - requires google account to view)

Changelog

2012-01-17 - rebuilt the custom linker with NDK r7, now the linker works on ICS
2012-01-05 - the custom linker is broken on ICS, I'm working on a way to get it to work on both GB and ICS
2011-12-12 - built ttcp
2011-12-02 - rebuilt vim, bash, bind, curl, mtr, openssh, tcpdump, and opkg to have proper Depends: package information
2011-12-01 - rebuilt curl and opkg to link against the local openssl package, so it'll work on handsets with different versions of openssl
2011-11-30 - built vim
2011-11-27 - fixed getcwd in bash
2011-11-23 - recompiled ncurses so its tools would work, rebuilt curl to be a shared library, built openssh package (ssh clients plus sftp-server), rebuilt dropbear package (scp moved into openssh package), built bash package, and wrote a howto on setting up a ssh server
2011-11-16 - v3 of the build environment
2011-11-11 - compiled libpcap and tcpdump
2011-11-10 - compiled ncurses and changed mtr to link against the packaged ncurses library
2011-10-22 - made a howto for nsupdate
2011-08-11 - made a busybox mod for das bamf
2011-07-24 - rebuilt bind to enable shared libraries, and split bind into four packges (server, devel, libs, utils)
2011-07-22 - built linker with /data/local/lib in the library path
2011-07-21 - built mtr
2011-07-20 - built libres-devel, rebuilt busybox with nslookup
2011-07-05 - built gdb
2011-07-02 - built binutils
2011-06-30 - built strace
2011-06-29 - built curl, rebuilt opkg to use curl, built socat, added install instructions, and fixed a bug that was preventing opkg from finding its configuration
2011-06-28 - Initial project

TO DO

more packages, bug tracker

To report a bug or request a package

Email: dan-android AT drown.org