Ubuntu下编译android的linux内核类归于: Android — 标签:Android, Linux, Ubuntu — admin @ 5:04 下午 1、构建交叉编译环境 Android的默认硬件处理器是ARM的,因此我们需要在自己的host机器上构建交叉编译环境。来到CodeSourcery, (http://www.codesourcery.com /gnu_toolchains/arm/download.html),点击GNU/Linux对应的链接,再点击IA32 GNU/Linux Installer链接直接下载。把arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux- gnu.tar.bz2解压到一目录下,如~/programes/。并加入PATH环境变量: vim ~/.bashrc 添加: ARM_TOOLCHIAN=~/programes/arm-2008q3/bin/ export PATH=${PATH}:${ARM_TOOLCHIAN}; 保存,并source ~/.bashrc 2、获取内核源码 http://code.google.com/p/android/downloads/list 注意该内核版本要与你选用的模拟器版本尽量一致。下载后,解压后得到kernel.git文件夹: tar -xvf ~/download/linux-2.6.25-android-1.0_r1.tar.gz 3、获取内核编译配置信息文件编译内核时需要configure,而一般configure的选项很多,我们往往不知道需要那些选项。Android模拟 器运行时,有一文件/proc /config.gz, config.gz是当前内核的配置信息文件,我们把config.gz获取出来,解压放到kernel.git/之下(改名为.config): cd kernel.git/ emulator & adb pull /proc/config.gz gunzip config.gz mv config .config 4、修改Makefile 修改195行: CROSS_COMPILE = arm-none-linux-gnueabi- 将CROSS_COMPILE值改为arm-none-linux-gnueabi-,这是我们安装的交叉编译工具链的前缀,修改此处意在告诉make在 编译的时候要使用该工具链。注释562,563行: #LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%, # $(call ld-option, -Wl$(comma)?build-id,)) 将build id 值注释掉,因为目前版本的android内核不支持该选项。 5、编译 make 很快就编译好,并生成zImage: LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready 生成zImage大小为1.23M,android-sdk-linux_x86-1.0_r2/tools/lib/images/kernel- qemu是1.24M 6、用模拟器加载内核测试 cd android/out/cupcake/out/target/product/generic emulator -image system.img -data userdata.img -ramdisk ramdisk.img -kernel ~/project/android/kernel.git/arch/arm/boot/zImage 模拟器加载成功就OK了

更多相关文章

  1. Android(安卓)CTS的使用
  2. Android(安卓)JNI简单实例(android 调用C/C++代码)
  3. Android(安卓)JNI简单实例(android 调用C/C++代码)
  4. Android(安卓)JNI简单实例(android 调用C/C++代码)
  5. Android通过源码编译apk获得系统权限
  6. No resource found that matches the given name 'android:TextA
  7. 解决 Android(安卓)模拟器 无法上网问题
  8. Android通过源码编译apk获得系统权限
  9. mac 编译 Android(安卓)系统杂记

随机推荐

  1. Android(安卓)记录开发中的一些问题
  2. android实现定时拍照并发送微博功能
  3. Android(安卓)Studio出错异常汇总
  4. Android: 更改语言时Launcher2更新apps
  5. Android(安卓)控件的显示隐藏上下左右移
  6. Android(安卓)Wear Preview- 为通知添加
  7. 检查internet连接
  8. Android(安卓)Wear Preview- 从通知上接
  9. Android学习——在Android中使用OpenCV的
  10. Android复制粘贴到剪贴板