Download Linux kernel 2.6.29:
$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2
Extract this:
$ tar jxvf linux-2.6.29.tar.bz2
Apply the patches:
$ cd linux-2.6.29
Edit the file drivers/net/cs89x0.c adding:
#include <mach/hardware.h>
Export CROSS_COMPILE environmet:
$ export PATH="$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/"
$ export CROSS_COMPILE=arm-none-linux-gnueabi-
Unselect all no essentials features:
$ make ARCH=arm allnoconfig
Start the configuration menu:
$ make ARCH=arm menuconfig
Change/Select the kernel options below.
Select the MXC/iMX platform and iMX31ADS board:
System Type -> ARM system type -> (X) Freescale MXC/iMX-based Freescale MXC Implementations -> MXC/iMX Base Type -> (X) MX3-based MX3 Options -> [*] Support MX31ADS platforms (NEW)
Select ARM EABI standard to compile the kernel:
Kernel Features ---> [*] Use the ARM EABI to compile the kernel
Add support to Linux Binary Format ELF:
Userspace binary formats -> [*] Kernel support for ELF binaries
Add support to Network (TCP/IP):
[*] Networking support -> Networking options -> [*] Packet socket [*] Unix domain sockets [*] PF_KEY sockets [*] TCP/IP networking [*] IP: kernel level autoconfiguration [*] IP: DHCP support
Select network driver (CS89x0), serial driver and unselect VGA console:
Device Drivers ->
[*] Network device support ---> [*] Ethernet (10 or 100Mbit) ---> [*] CS89x0 support
Character devices -> Serial drivers ---> [*] IMX serial port support [*] Console on IMX serial port
Graphics support -> Console display driver support ---> [ ] VGA text console
Add support to NFS and support to use it as root file system:
File systems -> [*] Network File Systems (NEW) -> [*] NFS client support [*] Root file system on NFS
Compile the kernel:
$ make ARCH=arm
Copy the created zImage to tftp directory:
$ cp arch/arm/boot/zImage /tftpboot/
Configure your RedBoot to boots with this kernel:
load -r -b 0x100000 /tftpboot/zImage exec -b 0x100000 -l 0x200000 -c "noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=10.29.240.191:/tftpboot/rootfs ip=dhcp"