Building Userland
From wikiPodLinux
See here for an overview about what Userland is.
Building Userland Tools
Its possible to just download the individual tools, compile them and then install using diskmode. This is the simplest approach; guide for building a userland from scrach using this approach can be found here: Experimental_Userland. However the official userland is built using a much harder approach based on the uClinux distribution. The download is quite large with a lot of extraneous tools, but it does provide a very automated build environment with known working versions of the various applications.
uClinux Distribution
The full source distribution can be downloaded via CVS from the uClinux repository, and browsed with ViewCVS (http://cvs.uclinux.org/cgi-bin/cvsweb.cgi/uClinux-dist/).
cvs -d:pserver:anonymous@cvs.uclinux.org:/var/cvs login cvs -z3 -d:pserver:anonymous@cvs.uclinux.org:/var/cvs co -P uClinux-dist
This method allows you to only download the parts you need and keep up to date with changes as they are released.
Once you have the build tree you will need to provide a link back to the kernel (instructions for downloading it here) you have setup (ln -s YOUR_KERNEL_TREE linux-2.4.x does the trick). Run "make menuconfig" or "make xconfig" and select the vendors/Apple/iPod, then make dep && make. The output of this fairly lengthy process will be a romfs directory containing all the binaries ready to run on your iPod.
- It would seem that if you use gcc-2.95.3 toolchain (and I think you have to for some piece of the project), then the following thread on the busybox site might help you: http://www.busybox.net/lists/busybox/2001-November/005206.html
BusyBox
Most of the userland tools provided in the uClinux distribution are parts of BusyBox (http://www.busybox.net). You may also want to look at BusyBox's documentation (http://www.busybox.net/downloads/BusyBox.html).
