Patching, Compiling, and Installing a new Kernel

I compile the Linux Kernel for the TS-7400 on a faster Intel based Linux workstation. To do so I use a cross toochain downloaded from the Technologic Systems ftp site. Once the kernel is compiled I “dd” it over to the SD card just like in the original SD card setup. The toolchain libraries must match the libraries of your system. Below are the links to the tool chain and the kernel I use.

Additionally I applied two patches to the Kernel that came from the Yahoo TS-7000 group. Without these patches NTPD will only achieve millisecond accuracy.

Cross toolchain crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2
Linux 2.4.26 source tree ts7400_tskernel-2.4.26-ts11-may152007.tar.gz
Gettimeofday usec resolution patch linux-2.4-ts11-hrt.patch
Variable HZ patch linux-2.4-ts11-vhz.patch

cd /usr/local

tar -jxvf crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2

cd /home/arm

tar -zxvf ts7400_tskernel-2.4.26-ts11-may152007.tar.gz

cd linux-2.4-patched

patch -p1 < ../linux-2.4-ts11-hrt.patch  
patch -p1 < ../linux-2.4-ts11-vhz.patch

Edit the top level Linux Makefile with the path where you put the cross toolchain.  

vi Makefile
 CROSS_COMPILE = /usr/local/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-

make ts7400_config

make oldconfig

	Support CPU clock change (EXPERIMENTAL) (CONFIG_CPU_FREQ) [N/y/?] (NEW)
	(Say y)

make dep

make Image

 Now "dd" the new image to your SD card.

dd if=arch/arm/boot/Image of=/dev/sdb1

Run the commands below to keep fsck happy.  Otherwise fsck will check your SD card every boot, which slows things down. 

mount /dev/sdb3 /flash

tune2fs -i 0 /dev/sdcard0/disc0/part3
tune2fs -c 50 /dev/sdcard0/disc0/part3

Copyright 2010 by TMD Innovations and Len Bayles

Updated July 28, 2010