Skip to main content.

17. Applications

17.1. Standard GNU tools

Standard GNU tools (such as bash, ls, etc) are available in the MontaVista? distribution at ftp://ftp.mvista.com/pub/CDKit/1.2/latest/PowerPC

Even if you are compiling them yourself, you can use the recipe in the %build portion of the SPEC files in the =SRPM=s to help.

17.2. Standalone Shell

Also known as sash, this is a small standalone shell with minimal versions of the most useful commands from /bin built in. See http://www.canb.auug.org.au/~dbell/programs/sash-3.4.tar.gz

Not to be confused with the CONFIG_SASH configuration option in many kernels, which starts a shell at bootup with the proper process group settings, so that signals like interrupt on CTRL-C work. Note that the two are often used together.

17.3. BusyBox?

http://busybox.lineo.com/

BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in fileutils, shellutils, findutils, textutils, grep, gzip =, =tar, etc. BusyBox provides a fairly complete POSIX environment for any small or embedded system. The utilities in BusyBox? generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts.

17.4. Web Servers

There are stacks to choose from. Here are just a few, which seem particularly well-suited to embedded Linux work. Pick the one that has the features you need.

17.4.1. Boa

http://www.boa.org/

Boa is a single-tasking HTTP server. That means that unlike traditional web servers, it does not fork for each incoming connection, nor does it fork many copies of itself to handle multiple connections. It internally multiplexes all of the ongoing HTTP connections, and forks only for CGI programs (which must be separate processes), automatic directory generation, and automatic file gunzipping. Preliminary tests show Boa is capable of handling several thousand hits per second on a 300 MHz Pentium and dozens of hits per second on a lowly 20 MHz 386/SX.

17.4.2. thttpd, mini_httpd, micro_httpd

http://www.acme.com/

A collection of very small web servers, with varying degrees of functionality.

17.5. Graphical User Interface

17.5.1. Microwindows

http://microwindows.censoft.com/

Microwindows is an Open Source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. It allows applications to be built and tested on the Linux desktop, as well as cross-compiled for the target device.

17.5.2. PicoGUI?

http://pgui.sourceforge.net/

A small, portable, client/server GUI designed to work on many types of hardware including handheld computers. Includes layout manager and widgets.

17.6. Java Virtual Machine(JVM)

MontaVista have several JVM solutions for HardHatLinux.

A list of Java virtual machines, some of which are suitable for embedded PowerPC systems, is available at http://www.geocities.com/marcoschmidt.geo/java.html

16. Threads 1. Introduction 18. Debugging
Prev Home Next