i.MX27 ADS Compiling Linux Kernel Mainline

Showing results for 
Search instead for 
Did you mean: 

i.MX27 ADS Compiling Linux Kernel Mainline

No ratings

i.MX27 ADS Compiling Linux Kernel Mainline

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= 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

Labels (1)
Version history
Revision #:
2 of 2
Last update:
‎09-10-2020 01:46 AM
Updated by: