TS-72XX 2.4 Kernel Compile Guide
From embeddedTS Manuals
WARNING: | BACKUP YOUR DATA FIRST |
Prerequisites
RHEL/Fedora/CentOS:
yum install ncurses-devel ncurses
yum groupinstall "Development Tools" "Development Libraries"
Ubuntu/Debian:
apt-get install build-essential libncurses5-dev libncursesw5-dev
For other distributions, please refer to their documentation to find equivalent tools.
Set up the Sources and Toolchain
wget ftp://ftp.embeddedTS.com/ts-arm-sbc/ts-7200-linux/cross-toolchains/crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2
bunzip2 crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar.bz2
tar -xvf crosstool-linux-gcc-3.3.4-glibc-2.3.2-0.28rc39.tar
wget ftp://ftp.embeddedTS.com/ts-arm-sbc/ts-7200-linux/sources/tskernel-2.4.26-ts11-feb232011.tar.gz
tar -xvzf tskernel-2.4.26-ts11-feb232011.tar.gz
cd linux24
Open the Makefile and edit CROSS_COMPILE to say:
CROSS_COMPILE = insert/your/directory/structure/here/crosstool/arm-linux/gcc-3.3.4-glibc-2.3.2/bin/arm-linux-
Next the config file needs to be set up. Run "make menuconfig"
- Load the TS-7200 config file by typing "L" three times, "ENTER", and specify "arch/arm/def-configs/ts7200". When finished, save and exit back to the menuconfig
- Exit menuconfig and be sure to say "Yes" to save any changes
make dep
make Image
make zImage
The kernel will be present at "arch/arm/boot/Image" or "arch/arm/boot/zImage" for the compressed version.
Note: | Large kernels may not fit in the kernel partition of the boot device. Check the size of the newly created kernel and ensure it will fit before writing to disk. |
The modules can then be installed to a local directory and packed in to an archive to unpack on the SBC:
make modules
INSTALL_MOD_PATH="`pwd`/newmodules" make modules_install
tar czvf modules_2.4.26-ts11.tar.gz -C newmodules/ .
Copy the modules tarball archive to a USB drive or other accessible media (FTP, NFS, etc.), then unpack the archive to the root folder of the device. See the redboot instructions for loading a kernel permanently on devices that use RedBoot.
Note: | Once installed to the target filesystem, "depmod" should be invoked manually to update the module loading and dependency list. |