I'll be using the version dated 20050803 (buildroot-20050803.tar.bz2) but whatever the most recent version is should be fine.
Download it to a directory thats avaliable over nfs. I'll be using /opt/zipit

Unpack the file with the following command, substituting in the correct filename:

bzip2 -dc buildroot-20050803.tar.bz2 | tar -xv

A large list of files should scroll by, and a subdirectory called buildroot created.

Now that we have all external files we need, lets start figuring out what support files our system needs.

Inside the buildroot subdirectory, run the following command:

make menuconfig

If all goes well, you will be given a menu prompt.
If it doesn't, you'll need to install the required packages.
Running the following commands should get you most of them.
(write some more about this)
(is this the full package list?)

sudo apt-get install make gcc flex bison libncurses5-dev

(These commands are distribution-specific, and all required packages exist with Fedora Core 3)

Got the menu prompt? Super.
It's the same menu format that you'd use to compile a kernel from the command line so should be at least a little bit familiar. Tab moves forwards a field, and the up/down arrow keys to change selection, left and right change the bottom selection, and use spacebar/enter to select.

Scroll all the way down to Load an Alternate Configuration File and press enter.
Type in defconfig.sta and press enter.
Scroll up to Package Selection for the Target -> and hit enter.
Make sure busybox is selected.
For Busy Box Configuration file to use, type in busybox.config, being the file downloaded earlier.

Exit by pressing right once, and Exit again.
When prompted to save the config, select < Yes >.
Okay
Run

make

from the current directory. The compile process will now begin. Here are the answers to the compile-time quiz.

Now that you have these two files, you should be able to run the command

make

inside the hello directory to produce a file called hello

If running this program creates a segmentation fault (the Zipit says "Segementation fault" instead of "hello world" you are probably dynamically linking uClibC, and getting the wrong version.

If you run with the current 'buildroot' you'll pull in a different version of uClibC than in the OpenZipIt distributions. Thus, you'll want to be sure to compile in uClibC statically. The above proceedure doesn't do that --- but the following one will.

The easiest way to run a program is to copy the new file into the NFS directory you created to run the zburn software. Then simply execute: ./hello

---
This page needs help I have not been able to compile yet. Other people have. Here's info I have found so far:

be sure you have an 'nfs' server setup and available for use. It should support version 3 protocol over TCP/IP (others didn't work for me) test with: "rpcinfo -t myhost nfs 3" (NOTE: nfs servers running on a Windows box may work as well) Protocol 3 support was added to 2.4, and is in all 2.6 distributions, so modern distributions should work fine.

For general app building/porting, the 3.2 version ARM tools work best for me (and any recent version of uClibc). I am using 3.3.6, the most recent 3.3 supported by 'buildroot', with no problem.

Any program can be made part of the rootfs image as long as it fits, is compiled for uClibc and doesn't exceed the limitations of the platform. The key here is to get the development environment, and a good set of libs defined for the base config.

Here are some suggestions for setting up a development environment for
the Zipit:

Get a recent linux distrubution set up on your desktop pc. I'm sure you could do this under Windows or Mac OSX, but don't ask me how. I use debian, others should work.

the static config will build a gcc 3.3.3 arm toolchain that is suitable for compiling the km2 patched kernel, and lots of other apps.

the shared config will build a gcc 3.4.2 arm toolchain that is suitable for apps that don't like 3.3.3. this toolchain is NOT suitable for compiling the 2.4.21 patched kernel at this time.

both configs use stable (non-snapshot) busybox & uClibc, you may want to use the snapshots, but they have not been tested. Please test them with caution since without a serial port mod to recover anything flashed to the Zipit may "brick it". YOU HAVE BEEN WARNED.

run make to build the toolchain and rootfs as the config describes. You may have to rename the defaultconfig.xxx files, and you may have to answer some questions during th buildroot process. You will have to learn how to use buildroot and it's associated sub build environments before building a rootfs or app that can be used with the Zipit.