Arpith Chacko Jacob - since 1982...

Archives for: July 2004, 26

  uClinux porting HOWTO

July 26, 2004  

uClinux is a popular port of the Linux operating system to processors without a MMU (Memory Management Unit). Kernel versions 2.0.x, 2.4.x, and 2.6.x are supported to varying degrees on numerous architectures.

The uClinux distribution contains the following main components: the uClinux kernel, various libraries and numerous linux utilities. In this article some of the tasks that need to be done to port the uClinux kernel to a new architecture are examined. The information is specific to the 2.4.x uClinux kernel and the Samsung S3C44B0X, a 32-bit processor with an ARM7TDMI core.

The latest uClinux distribution uClinux-dist-20040408, can be downloaded from here. The ELF ARM7 toolchain for uClinux can be downloaded from here.

Three are three main levels where porting is required. In the case where the processor core is not supported, a new architecture will have to be added in uclinux/linux-2.4.x/arch/. In our case, support for the ARM7TDMI architecture is already present in uclinux/linux-2.4.x/arch/armnommu/ considerably reducing the effort required to port uClinux to the s3c44b0x processor. At the second level, support for the particular processor (machine) is to be added using processor specific knowledge such as registers etc. Finally, support for the board containing the processor and peripherals need to be added. This will include adding support for devices on the board that are not yet supported by linux, or configuring existing device drivers.

Continue...

Jump to page: 1 2 3 4 5 6