Paul Sokolovsky

NSLU2-Linux Optware for Android

This project provides a generic bootstrap script to install NSLU2-Linux Optware on any Android device.

Unlike other optware-for-android projects you may find on the Internet, this project:

  • Intended to be generic install script suitable for any device. It may be not there just yet, but that's the aim.
  • Doesn't ship binary blobs of unknown origin. Any binaries it installs on your device, it first downloads from well-known sources like NSLU2 Optware repository itself or CodeSourcery toolchain archives (for libc on which Optware for ARM depends).


As the dependency download is a part of installation process, the installation scripts run on a Linux host to which target device is connected via ADB. Another requirement is that a device was "rooted", having su binary installed. You should have space where to install Optware packages, which should be on a partition supporting Unix permissions - e.g., internal flash (/data/local is typically a good candidate) or ext2/3/4 partition on an SD card (note: typical VFAT-formatted SD card won't do).

But the list above - that's all, otherwise no requirement beyond provided by typical Android system is required. Actually, you're recommended to uninstall adhoc busybox packages you may have prior to installing Optware - just to avoid confusion on your side. Otherwise, Optware should be able to properly coexist with any such packages previously installed (essentially ignore them), except that it will for sure overwrite /bin/sh to point to Optware busybox.


Create an install directory, download bootstrap script to it, browse thru it, tweak settings at the beginning of it, make sure your device is connected and available via ADB, and run the script. It runs in interactive mode, so follow its directions to complete the install.


Q:Why there's a need for such bootstrap script, why can't you use simple commands provided on the Optware homepage?

A:Those simple commands rely on tar, wget, and other tools being available on a device. Unfortunately, that's not the case with Android. What a typical Android device provides is Google's "toolbox" tool, very primitive busybox reimplementation under Apache2 license, which has very few commands and even those it has, barely support traditions POSIX/GNU switches. So, what this script does is essentially bootstraps ipkg by manually install it and its immediate dependencies (wget, busybox, not naming libc, which is not part of Optware, but comes from CodeSourcery toolchain build).

Q: I have Windows (or other OS) computer, can I still install Optware with this script.

A: Yes, the best option you have is to install virtual machine, like VirtualBox or WMWare Player, then run Ubuntu in it, and perform installation from it (using USB passthru support in virtual machine). Or, just buy a cheap seconf-hand laptop and install Linux there, because you may find that you need Linux on increasingly more occasions.

Q: Is running daemons (e.g. sshd) on device startup supported?

A: Note yet. But there're some idea how to implement it without performing potentially dangerous and device-specific operations like updating kernel ramdisk. In either this will be optional feature, which you can setup only if you need it.