Compiling a kernel the boot
The source
The source consists of the celinux source and the skytone ingenic+XIP patches. They are all available now.
Download the celinux source
here, and the skytone patches
celinux-skytone-update-kernel-0902.tar.bz2 or from the
skytone site.
Your compile environment
Make sure you are running debian GNU/Linux with the following in /etc/apt/sources.list:
deb http://www.emdebian.org/debian/ unstable main
And run the following:
sudo aptitude install uboot-mkimage uboot-envtools gcc-3.3-mipsel-linux-gnu binutils-mipsel-linux-gnu
Yes, you need gcc-3.3 or lower for a 2.4 kernel. 3.3 is the lowest is the cross compiler.
Let me restate that: gcc-3.4 is over, it's out of time. You REALLY REALLY need 3.3 . (Big warning because I waisted 2 hours with the cross compile, only to find out it was just the wrong (3.4) compiler).
Prepping and compiling the source
tar xvjf celinux-040503.tar.bz2
cd celinux-040503
patch -p1 < ../celinux-skytone-080902.patch
# Fix the cross compiler. A better way is to put that in the environment
sed -i 's:mipsel-linux-:mipsel-linux-gnu-:' Makefile
cp CURRENT_CONFIG .config
make oldconfig
make dep
make uImage
Booting: the network way
cp the resulting uImage to your favorite local tftp server.
Type the following on the uboot prompt on the serial console:
dhcp
setenv serverip 192.168.0.148
tftpboot 0x80600000 /boot/uImage
bootm
Booting: the serial way
Because I hate to explain how you have to install a simple tftp/dhcp server or answer any such questions
loady 0x80600000
# start your ymodem upload and wait until it is finished
bootm
Booting the SD-card way
Make sure you have an SD-card with a first partition of less than 32MB, make it 16 or so.
SDCARD=/dev/sdb
fdisk ${SDCARD} # make the first partition at *most* 32MB, better to take less like 16MB
mkfs.vfat -F 16 /dev/${SDCARD}1
mount /dev/${SDCARD}1 /mnt
wget -o /mnt/uimage http://projects.kwaak.net/twiki/pub/Epc700/CompilingAKernel/uImage
umount /mnt
Put the SD card in your minipc. Turn it on while pressing Fn+LeftShift+LeftCtrl.
Of course, once you have a small partition or SD card with vfat, you can also copy the image using your minipc to the SD card.
No need to take it out anymore. Somehow this all seems very convenient to me. Like mounting the first partition of the sd-card under /boot, and the second under / .

.
WARNING: there is also a key combination that makes it flash the uimage file straight to the linux partition. Do not play with key combinations unless you have a serial console.
Showing off
/ $ cat /proc/version
Linux version 2.4.20-celf3 (ard@bookje) (gcc version 3.3.6 (Debian 1:3.3.6-15)) #1 Thu Sep 4 23:46:48 CEST 2008
Limited to just showing off
Get my
uImage, and follow the booting sequence.