This steps are basically the same used to boot Linux mainline on i.MX 31 ADS, just replacing Network Driver cs89x0 by i.MX 27 internal FEC.
Download Linux kernel 2.6.30:
$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2
Extract this:
$ tar jxvf linux-2.6.30.tar.bz2
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 iMX27ADS board:
System Type ->
ARM system type -> (X) Freescale MXC/iMX-based
Freescale MXC Implementations ->
MXC/iMX Base Type -> (X) MX2-based
MX2 Options -> [*] Support MX27ADS 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 (FEC), serial driver and unselect VGA console:
Device Drivers ->
[*] Network device support --->
[*] Ethernet (10 or 100Mbit) --->
[*] FEC ethernet controller (of ColdFire CPUs)
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"
Change the default network device on RedBoot to internal FEC:
Default network device: mxc_fec
Connect the network cable on FEC connector (connector T3).
Notes: We are using rootfs from LTIB then select to get parameters from DHCP:
"Target System Configuration"
Options --->
[*] start networking
Network setup --->
[*] get network parameters using dhcp