Porting Linux 2.6.25 Step by Step
Total Page:16
File Type:pdf, Size:1020Kb
Porting Linux 2.6.25 Step by Step http://www.developmentboard.net tel: 86-898-66761781 E-mail: [email protected] Abstract We have been frequently asked about porting newer kernel to our development boards, Hiteg http://www.developmentboard.net now compile this manual in the hope of giving our Linux-beginners a clear guid for porting Linux kernel for the Samsung Microprocessors. This manual takes our SKY2440-v2 development board for example, detailedly illustrates porting Linux 2.6.25.8 kernel, including porting Linux source code, porting drivers, making filesystems, writing user-specific drivers, writing test programs, optimizing the kernel and etc. for the SKY2440-v2, it gives a complete instruction for building a complete embedded Linux system, we believe that it should be quit helpful for Embedded Linux beginners. Tough the SKY2440-v2 has been taken as example, this manual is more or less applicable for all of our development boards, it can be taken for reference to port Linux kernels for all of our S3C24x0- based boards. http://www.developmentboard.net tel: 86-898-66761781 E-mail: [email protected] Table of contents Abstract......................................................................................................................................................2 Linux 2.6.25...............................................................................................................................................7 Step 1: Downloading source code..............................................................................................................7 Step 2: Un-tarring source code...................................................................................................................7 Step 3: Add support for ARM....................................................................................................................7 Step 4: Change the clock frequency...........................................................................................................8 Step 5: make config menu........................................................................................................................10 Step 6: modify the MACH code..............................................................................................................13 Step 7: compile the kernel........................................................................................................................14 7.1 image..........................................................................................................................................14 7.2 store the image to specified location..........................................................................................14 Drivers......................................................................................................................................................16 Step 8: Nand Flash driver.........................................................................................................................16 8.1 Completing source code.............................................................................................................16 8.2 Configure the driver....................................................................................................................16 Step 9: yaffs filesystem............................................................................................................................17 9.1 downloading yaffs source code..................................................................................................17 9.2 add yaffs support to the kernel...................................................................................................17 9.3 configure yaffs filesystem..........................................................................................................18 Step 10: compile busybox........................................................................................................................19 10.1 download busybox source code................................................................................................19 10.2 modify and configure busybox.................................................................................................19 10.3 compile and install busybox.....................................................................................................21 Step 11: Make Filesystem........................................................................................................................22 11.1 build framework.......................................................................................................................22 http://www.developmentboard.net tel: 86-898-66761781 E-mail: [email protected] 11.2 Add contents.............................................................................................................................23 Step 12: Serial driver................................................................................................................................29 12.1 modify source code..................................................................................................................29 12.2 test serial port...........................................................................................................................31 Step 13: Ethernet driver............................................................................................................................32 13.1 download source code..............................................................................................................32 13.2 modify source code..................................................................................................................32 13.3 configure and compile kernel...................................................................................................36 13.4 configure ethernet card.............................................................................................................36 13.5 Add FTP and TELNET service to the filesystem.....................................................................38 Step 14, USB device driver......................................................................................................................41 14.1 Configure USB drivers:............................................................................................................41 14.2 Using U-disk.............................................................................................................................42 14.3 Two USB Hosts........................................................................................................................42 14.3.1 Modify source code........................................................................................................42 14.3.2 Configure USB Host.......................................................................................................43 14.4 USB camera driver...................................................................................................................44 14.4.1 Source code.....................................................................................................................44 14.4.2 Configure the kernel.......................................................................................................45 Step 15, LCD Driver................................................................................................................................46 15.1 LCD Clock computing.............................................................................................................46 15.2 Simplify the computing of LCD clock.....................................................................................47 15.3 Modify LCD parameter settings...............................................................................................48 15.4 Add support for LCDs..............................................................................................................50 15.5 LCD backlight control..............................................................................................................54 15.5.1 Source code.....................................................................................................................54 15.5.2 LCD backlight control program......................................................................................55 15.5.3 Test backlight control......................................................................................................56 Step 16, Touch screen driver....................................................................................................................57 16.1 Source code..............................................................................................................................57 http://www.developmentboard.net tel: 86-898-66761781 E-mail: [email protected] 16.2 TSDEV device driver...............................................................................................................70 16.3 Add Qte to the filesystem.........................................................................................................86 Step 17, Sound card driver.......................................................................................................................87 17.1 Source code..............................................................................................................................87