An initramfs is a kernel with an include filesystem that can be use directly from uboot with clunc. You can use miniroot or buildroot to build an initramfs.
Miniroot is intended to be a simple solution to build and/or develop a minimal system based on Linux and BusyBox. The system is “makefile-oriented” with few shell scripts. Its main goal is to be human readable.
The project is available on git :
git clone git://lacie-nas.org/miniroot.git
Customisations are done by writing your own config.mk (see doc/ directory).
The list of relevant variables can be found in headers of .mk files or in the main Makefile.
Buildroot is a set of Makefiles that makes it easy to generate a complete Linux system. Buildroot is a project quite bigger than miniroot but have higher capabilities.
The project is available on :
http://buildroot.uclibc.org/
Buildroot has a nice configuration tool similar to the one you can find in the Linux kernel. The configuration assistant can be run with :
make menuconfig