您的位置:首页 > 移动开发 > Android开发

华天正的开发板 如何单独编译kernel

2012-03-07 11:01 357 查看
接触real的开发板有一段时间 始终感觉real的编译做的不是很人性化 呵呵 

对于用开发板做研发的朋友是比较麻烦的事情 他把kernel和系统的编译做在一起编译 

用./build_android.sh

这一个指令来编译 呵呵 我记得当时编译花了好几个小时才完成   

但是问题来了  1:对于做驱动的朋友 随时单独编译kernel

是很常见的,但是要那么长时间 呵呵 研发的时间就被编译的时间给浪费了 呵呵 

鉴于很多的客户有这样的需求 下面经过我的改写 可以支持单独的编译kernel了 呵呵 

我想这对kernel的开发者有很大的帮助

单独编译kernel的条件

1:安装 交叉编译工具  

2:配置好/下面的Makefile 文件

3:配置好.config  

4:指令是make

5:产生的kernel的镜像是在 /android_gingerbread_realv210_ver_1_2/kernel/arch/

arm/boot$ 

里面得 zImage

第一步安装交叉编译工具 (arm-2009g3.tar.bz2 这个工具没有的朋友可以给我的博客留言 我发给你们)



2:

       android_gingerbread_realv210_ver_1_2/kernel$ vi Makefile 

      把Makefile 改写

      export KBUILD_BUILDHOST := $(SUBARCH)

      ARCH            ?= arm

     CROSS_COMPILE   ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-

     #ARCH           ?= arm

     #CROSS_COMPILE  ?= arm-eabi-

    CROSS_COMPILE   ?= $(CONFIG_CROSS_COMPILE:"%"=%)

3: 配置好.config

      /android_gingerbread_realv210_ver_1_2/kernel$ cp arch/arm/configs/

realv210_defconfig .config

4:编译kernel文件

       /android_gingerbread_realv210_ver_1_2/kernel$ make 

      编译成功以后 

        CHK     include/linux/version.h

        CHK     include/generated/utsrelease.h

        make[1]: `include/generated/mach-types.h' is up to date.

       CALL    scripts/checksyscalls.sh

       CHK     include/generated/compile.h

       Kernel: arch/arm/boot/Image is ready

       SHIPPED arch/arm/boot/compressed/lib1funcs.S

       AS      arch/arm/boot/compressed/lib1funcs.o

       LD      arch/arm/boot/compressed/vmlinux

       OBJCOPY arch/arm/boot/zImage

       Kernel: arch/arm/boot/zImage is ready  (我们的kernel的)

      Building modules, stage 2.

       MODPOST 2 modules

呵呵 是不是很快啊 

呵呵 开发驱动是不是很快啊

呵呵呵 有什么问题给我的博客留言 real的朋友们 希望帮助到你们。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  makefile 工具 android up