How to make your own linux kernel for iPod mini

First, you must get the uClinux kernel:
http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20041215.tar.bz2

And iPod support for the uClinux kernel:
cvs -z3 -d:pserver:[email protected]:/cvsroot/ipodlinux co -P linux

tar xvjf uClinux-dist-20041215.tar.bz2
mv uClinux-dist/linux-2.4.x /tmp
cp -fr linux/* /tmp/linux-2.4.x
cd /tmp/linux-2.4.x
make menuconfig
make dep
make boot

cp arch/armnommu/boot/Image /tmp

Compile the ipod bootloader:
cvs -z3 -d:pserver:[email protected]:/cvsroot/ipodlinux co -P tools

cd tools/ipodloader
make
cp /tmp/Image .

[ On MacOS: dd if=/dev/disk1s2 of=firmware]

./make_fw -o retailos.bin -e 0 firmware
./make_fw -v -3 -o fIrM.bin -l Image -i retailos.bin loader.bin

[ On MacOS: dd if=fIrM.bin of=/dev/disk1s2 ]

See http://www.ipodlinux.org/Building_Podzilla to see how to compile Podzilla.