android内核编译笔记

今天在fedora8上,终于android内核编译成功了,虽然App还没有编译成功。下面是图片

1 准备工作

1.1 交叉编译的工具链:

地址:http://www.codesourcery.com/gnu_toolchains/arm/download.html

文件:ARM EABI相关工具

arm-2008q3-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

1.2 内核代码

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

文件:linux-2.6.25-android-1.0_r1.tar.gz

1.3 SDK

1.3.1 eclipse 3.4.1

地址:http://www.eclipse.org/downloads

文件:eclipse-jee-ganymede-SR1-linux-gtk.tar.gz

ADT-0.8.0.zip

1.3.2 Android SDK

地址:http://code.google.com

文件:android-sdk-linux_x86-1.0_r1.zip

2 安装arm工具链

tar jxvf arm-2008q3-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/

export PATH=$PATH:/usr/local/arm-2008q3/bin

3 安装SDK

3.1 安装eclipse

tar zxvf eclipse-jee-ganymede-SR1-linux-gtk.tar.gz -C /opt

3.2安装ADT

(1) /opt/eclipse/eclipse &

(2) 等待启动完成后,选择 Help > Software Updates....

(3) Available Software > Add Site... > Archive...,点击install…

(4) 选择 "Android Developer Tools" "Android Editors"

(5) 完毕.

3.3 SDK

tar zxvf android-sdk-linux_x86-1.0_r1.zip -C /usr/local/

export PATH=$PATH:/usr/local/android-sdk-linux_x86-1.0_r1/tools

4 安装android kernel source

(1) Tar 解压 linux-2.6.25-android-1.0_r1.tar.gz 到任意路径

cd kernel.git/

$emulator &

等待模拟器启动起来后
$adb pull /proc/config.gz .

$gunzip config.gz
$mv config .config

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,))

5 编译及运行

make

emulator -kernel arch/arm/boot/zImage

经过漫长的等待后,就可以显示出运行界面了。

6 参考

Google Android操作系统内核编译图文教程》

android内核编译方法》

更多相关文章

  1. 一个APK反编译利器Apktool(android汉化)
  2. Android(安卓)开发环境的搭建
  3. Android(安卓)NDK纯C++开发
  4. android 视频通话 项目 源码 - android大牛MrJing 活动中心 - 博
  5. Android开发学习 之 一、开发环境的搭建
  6. Android开发之fedora13下编译Android源码
  7. android的各种*.img 文件
  8. Android(安卓)support和Androidx库不能共存问题
  9. Android(安卓)Wifi:使用Android(安卓)Instrument 自动测试 WIFI_S

随机推荐

  1. 如何使用Casbin作为ThinkPHP的权限控制中
  2. classlist对象和表单非空验证
  3. 双色球抽奖、选项卡、购物车(实现不勾选商
  4. 字符串api和数组api及遍历
  5. 选择器权重,伪类选择器计算
  6. 字符串api和数组api及遍历
  7. Yii2中组件的注册与创建方法
  8. MTK Android(安卓)6.0 上新增KeyCode
  9. Android(安卓)倒车影像车道线,3D效果
  10. android 使用Activity类布局时怎样让图片