WEB开发网
开发学院手机开发Android 开发 关于google android内核编译 阅读

关于google android内核编译

 2010-05-26 06:39:00 来源:WEB开发网   
核心提示:EABI,我不知道了,关于google android内核编译(2),没有测试过,反正我选择的这个编译的内核也是可以跑起来的:P2)下载google的android linux的内核源代码:http://code.google.com/p/android/downloads/list主要是这个文件:linux-2.6.
EABI,我不知道了,没有测试过,反正我选择的这个编译的内核也是可以跑起来的:P

2)下载google的android linux的内核源代码:

http://code.google.com/p/android/downloads/list

主要是这个文件:linux-2.6.23-android-m3-rc20.tar.gz

3)把下载到的内核和交叉编译工具解压缩,并最好把工具链的路径放到PATH里面去

解压缩内核: $ mkdir -p android $ cd android $ tar xzvf ../linux-2.6.23-android-m3-rc20.tar.gz 会解压出来一个叫做kernel的目录,google的android的linux内核就在里面了。解压缩交叉编译工具链: $ cd /usr/local/ $ sudo cp ~/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 . $ sudo tar zxvf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2此时会解压出来一个叫做arm2007q3的一个目录,这里面就是工具链了。设置一下环境变量: $ export PATH=$PATH:/usr/local/arm2007q3/bin好了,到此,基本的内核编译环境就搞好了。4)现在是要得到android的内核编译参数的配置文件的时候了,该文件需要从已经安装好的android的模拟器中得到才行。所以安装android的sdk也是必须的,这一步不太明白的朋友可以参考我以前发的android命令行体验的文章。首先启动android模拟器,然后通过adb得到模拟器中提供的内核配置文件: $emulator & $adb pull /proc/config.gz .这时候adb工具会连接模拟器,并从它里面下载一个叫做config.gz的文件到你的当前目录下。把它拷贝到你的kernel目录: $cd ~/android/kernel $cp ~/config.gz . 解压缩该文件,并重命名为.config,这一步做了就可以跳过make menuconfig之类的内核参数设置动作了。 $gunzip config.gz $mv config .config5)修改kernel目录中的Makefile文件,用emacs或vi打开该Makefile修改CROSS_COMPILE变量为:CROSS_COMPILE=arm-none-linux-gnueabi-这个就是刚刚的下载和解压的工具链的前缀了,旨在告诉make,在编译的时候要使用我们的工具链。在Makefile中注释掉LDFLAGS_BUILD_ID这个变量:例如将如下定义:LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%, $(call ld-option, -Wl$(comma)--build-id,))修改为:LDFLAGS_BUILD_ID=#LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,# $(call ld-option, -Wl$(comma)--build-id,))把它注释掉的原因是目前android的内核还不支持这个选项。--build-id选项,主要是用于在生成的elf可执行文件中加入一个内置的id,这样在core

Tags:关于 google android

编辑录入:coldstar [复制链接] [打 印]
赞助商链接