I bought the LN2410SBC from littlechips.com. Thanks to my cousin, Ram Arunachalam (IBM, US).
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.