LINUX KERNEL FOR CM-X270 DRIVERS
AND BUILDING INSTRUCTIONS
1. Revision Notes
14-Nov-2005 Initial revision: 126.96.36.199 kernel release for CM-X270
03-Jan-2005 Changed toolchain recommendation, and updated usage instructions
27-Feb-06 Updated LCD controller support to match CM-X270W rev 1.2
Fixed LCD timings for 800x600 in 188.8.131.52
Added support for IDE and CardBus on SB-X270
CL_FlashDrv.o renamed to CL_FlashDrv
16-Mar-06 Improved flash driver: better reliability, write performance and load
distribution during writes
15-May-06 Added Linux 2.6.16:
- Power management support
- Added CardBus support
- Added 2700G frame buffer device driver
- Audio support upgraded to work with ALSA, added recording
- Added wireless LAN support
12-Oct-06 Fixed wireless LAN driver bug that caused incorrect transmission power
Added ability to specify wireless access point MAC address
Added MMC support
Serial tty assignment made compatible for CM-X270L and CM-X270W
12-Nov-06 Added default command line to kernel 2.6.16.
14-Dec-06 Updated toolchain recommendation
6-Feb-07 Added setup of latency timer for PCI bus masters
13-Jun-07 Fixed RTC access routines in kernel 2.6.16
29-Nov-07 Certain NAND flashes are sensitive to local bus activity. Update NAND
flash driver (in kernel 2.6.16) to overcome this limitation.
2. Required Tools
1. x86-based Linux workstation. Debian (Sarge) is recommended for CM-X270 distribution
2. Cross-compiler. We recommend to use the Scratchbox 0.9.8, http://www.scratchbox.org/. The
scratchbox installation instructions are located in
Note, that for compatibility with Debian Linux for CM-X270, Scratchbox 0.9.8 “Egypt” should
3. 2.6.x Linux kernel tree – linux-2.6.x.tar.gz, from ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
4. CM-X270 patch - diff-2.6.x-cm-x270.gz – from this archive.
5. NAND and NOR flash driver CL_FlashDrv, found in this archive
Compiling the kernel
3. Compiling the kernel
1. Choose a location for the kernel tree.
2. Copy ‘linux-2.6.x.tar.gz’ and appropriate ‘diff-2.6.x-cm-x270.gz’ to the desired directory.
3. Change to that directory and type
> tar –xzf linux-2.6.x.tar.gz
4. A directory named ‘linux-2.6.x’ was created. Set it as default directory
> cd linux-2.6.x
5. Apply CM-X270 patch will be applied.
> zcat ../diff-2.6.x-cm-x270.gz | patch –p1
6. Copy CL_FlashDrv to drivers/block/cl_flash under ‘linux-2.6.x’.
> cp /location/of/package/CL_FlashDrv \
7. In ‘linux-2.6.x/Makefile’ edit the CROSS_COMPILE variable to reflect your cross-
compilation chain location. If you are using default Scratchbox installation, then in the kernel
8. Install default CM-X270 kernel configuration:
> make cm_x270_defconfig
9. If you wish to alter the configuration, then type ‘make menuconfig’ and make your
10.Build the kernel:
After the compilation is finished, a file named ‘zImage’ will
be created under
‘linux-2.6.x/arch/arm/boot’. This is your Linux kernel.
4. Known Limitation and Problems
Specified in "Installation & Features" document in X270 Linux file system archive.
5. Useful Links
The Linux Documentation Project: http://www.tldp.org/
The ARM Linux Project: http://www.arm.linux.org.uk/
The Linux Kernel Archives: http://www.kernel.org/
Scratchbox Toolkit: http://www.scratchbox.org/
CompuLab Linux website: http://compulab-systems.com/web/Linux
2 Linux Kernel for CM-X270 Drivers and Building Instructions