User Tools

Site Tools


tutorials:dvk521:documentations:kernel_porting_and_configuration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

tutorials:dvk521:documentations:kernel_porting_and_configuration [2013/11/21 11:54]
waveshare created
tutorials:dvk521:documentations:kernel_porting_and_configuration [2013/12/23 14:50] (current)
Line 1: Line 1:
-====== Kernel Porting ​And Configuration ======+====== Kernel Porting ​and Configuration ======
  
-<WRAP noprint><​WRAP left box 60%> +==== Kernel Porting ==== 
-//__About this Article__//​ +Get the linux kernel source code [[http://dl.cubieboard.org/parteners/waveshare/Source_Code/​linux-sunxi-sunxi-3.4.61.tar.gz|linux-sunxi-sunxi-3.4.61]], 
-  * **Author**: waveshare --- waveshare@waveshare.net --- 2013/11/21 11:54 +Or can be obtained from the internet: 
-  * **Copyrights**: ​[[http://creativecommons.org/licenses/by-sa/3.0/|CC Attribution-Share Alike 3.0 Unported]] +https://github.com/​linux-sunxi/​linux-sunxi/releases ​ , 
-  * **Contributors**[[http://cubieboard.org/|Cubieboard Community]] : ... +To avoid unexpected error while porting, please download the 3.4.61 version kernel
-</​WRAP></​WRAP>​+
  
-===== Abstract =====+=== Extract the kernel source code === 
 +Assume that the source code was placed under /​home/​waveshare/​cubieboard/​kernel directory, use the following command to extract it:  
 +  #cd /​home/​waveshare/​cubieboard/​kernel 
 +  #tar -xzvf linux-sunxi-sunxi-3.4.61.tar.gz 
 +Now we get the linux-sunxi-sunxi-3.4.61 original source code, as shown in the picture below: 
 +{{.:​document-5_1.jpg}}
  
  
-===== Headline ​=====+=== Assign the cross compiler ​===  
 +The purpose of kernel porting is to run the linux-sunxi-sunxi-3.4.61 on Cubieboard.  
 +Modify the Makefile under root directory:​ 
 +  #cd linux-sunxi-sunxi-3.4.61 
 +  #vi Makefile 
 +Edit the following lines: 
 +  export KBUILD_BUILDHOST :$(SUBARCH)  
 +  ARCH   ?$(SUBARCH)  
 +  CROSS_COMPILE ?= 
 +As: 
 +  export KBUILD_BUILDHOST :$(SUBARCH) 
 +  ARCH        ?= arm 
 +  CROSS_COMPILE ​  ?= arm-linux-gnueabihf- 
 +ARCH specifies the target platform as arm, CROSS_COMPILE assigns the cross compile tool chain. As shown in the picture below: ​
  
-==== Headline ====+{{.:​document-5_1.jpg}}
  
 +Note: the vim editor is recommended.
  
-===== Headline =====+=== Clear the temp files ===  
 +Under the root directory, enter: 
 +  #make clean
  
-=== See Also ===+=== Copy the default config file ===  
 +Under the root directory, enter: 
 +  #make sun4i_defconfig 
 +A hidden .config file will be generated under the root directory. 
 + 
 +=== Config the kernel ===  
 +Under the root directory, enter: 
 +  #make menuconfig 
 +Config the kernel on the popup window, as shown in the picture below: 
 +{{.:​document-5_3.jpg}} 
 + 
 +=== Compile the kernel ===  
 +Under the root directory, enter: 
 +  #make uImage  
 +It will take much time to complete the compiling. 
 +When completed, the compressed kernel image will be generated under linux-sunxi-sunxi-3.4.61/​arch/​arm/​boot directory.
  
 <WRAP noprint> <WRAP noprint>
 {{tag>​Cubieboard Cubietruck}} {{tag>​Cubieboard Cubietruck}}
 </​WRAP>​ </​WRAP>​
tutorials/dvk521/documentations/kernel_porting_and_configuration.1385006097.txt.gz · Last modified: 2013/12/23 14:50 (external edit)