编译内核和烧写到开发板

编译内核和烧写到开发板

 

1、内核源代码的获取:从社区下载内核,完成移植.http://www.kernel.org/pub/linux/kernel/v2.6/

2、拷贝内核源码包至宿主机.借助XPLinux的共享目录,从Windows中复制内核

3、解压内核:#tar   xvzf   linux-2.6.32.2.tar.gz  -C   /home/lwb

   解压后在 /home/lwb 目录下 多了一个 linux-2.6.32.2目录

4、进入linux-2.6.32.2目录  拷贝config_w35文件   .config

5、修改内核linux-2.6.32.2\目录下的Makefile

   ARCH  =arm   //指定架构

   CROSS_COMPILE ? =arm-linux-

   上面两行是在 export  KBUILD_BUILDHOUST:=$(SUBARCH)之下。

6、定制内核:执行make menuconfig定制内核组件,要以rootde 权限执行

   #make  menuconfig  //执行后会启动一个图形界面,用以定制内核各个功能

   在图形界面中选中需要的项。保存退出。

7、编译内核

   #make zImage  (大概10分钟左右)

   编译完成后,在/home/lwb/linux-2.6.32.2/目录下生成一个vmlinux文件和在/home/lwb/linux-2.6.32.2//arch/arm/boot/目录下生成有内核镜像文件zImage

   zImage转换为uImage 

zImage uImage 的区别:zImage 是没有包头的,只能在supervivi下进行烧写。

   uImage是有包头的,能再u_boot下进行烧写。)

 

zImage 转换为uImage 需要的工具有:mkimage工具(该工具是在编译u_boot是生成的,它在/home/lwb/u-boot-2010.03/ 下由mkimage.c执行生成的mkimage的)。此外,还要mkz2uimage脚本

(脚本内容:mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -n "Linux kernel Image by embedclub" -d zImage uImage 

实现步奏如下:

1)将mkimage拷贝到/usr/local/bin标准路径下  即:#cp  mkimage   /usr/local/bin

 (2 ) mkz2uimage拷贝到 /home/lwb/linux-2.6.32.2/arch/arm/boot/目录下

     #cp mkz2uimage   /home/lwb/linux-2.6.32.2/arch/arm/boot/

 (3) 执行脚本mkz2uimage  #./mkz2uimage

执行之后,在执行目录下生成一个   uImage

 

生成uImage后就可以下载啦。参考上一篇

你可能感兴趣的:(ARM)