installs

LN2410SBC

I bought the LN2410SBC from littlechips.com. Thanks to my cousin, Ram Arunachalam (IBM, US).

withboard   front    back  

I am using a Bafo USB-to-serial converter with the board as I don't have a serial port on my T41. I have compiled usbserial.ko and pl2303.ko driver modules for it to work. I use minicom to communicate through the serial port.

u-boot

I downloaded the sources and patches required:

I extracted u-boot and extracted the patch:

# tar xjvf u-boot-1.1.1.tar.bz2
# gunzip patch-1.1.1-ln2410sbc.gz

I entered into u-boot-1.1.1 directory and applied the patch:

# cd u-boot-1.1.1
# patch -p1 < .. patch-1.1.1-ln2410sbc

Had to make for the LN2410sbc board and do make all to compile u-boot:

# make ln2410sbc_config
# make

Boot-up messages of u-boot when the board is powered up:

U-Boot 1.1.1 (Oct 26 2005 - 20:51:40)

   U-Boot code: 33F80000 -> 33F9BA70 BSS: -> 33F9FBBC
   RAM Configuration:
   Bank #0: 30000000 64 MB
   Flash: 2 MB
   NAND: 32 MB
   In: serial
   Out: serial
   Err: serial
   LN2410SBC #

Linux-2.6.16

I have downloaded a stock 2.6.16 kernel and made necessary changes and quilt patches to boot it on this development board :)

The patch with the quilt folders can be downloaded from here: linux-2.6.16-arm.patch

The kernel .config file.

A bootup log of Linux 2.6.16 on the LN2410SBC: linux-2.6.16.cap.txt

Linux-2.6.13.2

I downloaded the Linux kernel sources and patch required:

I extracted the Linux kernel, entered into the directory and applied the patch:

# tar xzvf linux-2.6.13.2.tar.gz
# cd linux-2.6.13.2
# patch -p1 < ../linux-2.6.13.2-lc5.patch

Did a clean, configured the kernel and compiled the same:

# make clean
# make menuconfig
# make

Copied the ramdisk image (LN2410disk.gz) into the kernel sources directory and created bootpImage:

# make bootpImage INITRD_PHYS=0x30800000 INITRD=/path/to/LN2410disk.gz

To boot the Linux kernel, I power-up the board and use u-boot to remotely transfer the bootpImage image:

LN2410SBC # tftp 0x30f00000 bootpImage
LN2410SBC # go 0x30f00000

A bootup log of Linux 2.6.13.2 on the LN2410SBC: linux-2.6.13.2.cap.txt

Linux-2.4.18

Compilation and build process

This is only for documentation as there is no more support for 2.4 kernels.

I downloaded the Linux kernel sources and patches required:

I extracted the Linux kernel and extracted the patches:

# tar xzvf linux-2.4.18.tar.gz
# gunzip patch-2.4.18-rmk7.gz
# gunzip patch-2.4.18-rmk7-swl8.gz
# gunzip patch-2.4.18-rmk7-swl8-cy2.gz
# gunzip patch-2.4.18-rmk7-swl8-cy2-lc3.gz

I entered into linux-2.4.18 directory and applied the patches:

# cd linux-2.4.18
# patch -p1 < ../patch-2.4.18-rmk7
# patch -p1 < ../patch-2.4.18-rmk7-swl8
# patch -p1 < ../patch-2.4.18-rmk7-swl8-cy2
# patch -p1 < ../patch-2.4.18-rmk7-swl8-cy2-lc3

Entered into the kernel sources directory, set CROSS_COMPILE in the Makefile:

# cd linux-2.4.18
CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-

Cross-compiled the kernel using:

# make oldconfig
# make clean
# make dep
# make zImage

zImage is created in arch/arm/boot.

To boot the Linux kernel, I power-up the board and use u-boot to remotely transfer the kernel and ramdisk images:

LN2410SBC # tftp 0x30f00000 zImage
LN2410SBC # tftp 0x30800000 LN2410disk.gz
LN2410SBC # go 0x30f00000

A bootup log of Linux 2.4.18 on the LN2410SBC: linux-2.4.18.cap.txt

Ethernet

Ethernet driver (cs89x0) is enabled and it works. The cs89x0.c driver is in drivers/net.

NFS

NFS support and NFS client v3 version has been enabled in the kernel and it works. I run a NFS server on my T41 laptop and I am able to mount it.

# mount -t nfs 10.0.0.x:/directory /mount-point

Serial Port

The serial console driver used is serial_s3c2410.c and is present in drivers/serial.