android在fc8上内核编译笔记
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内核编译方法》
更多相关文章
- 一个APK反编译利器Apktool(android汉化)
- Android(安卓)开发环境的搭建
- Android(安卓)NDK纯C++开发
- android 视频通话 项目 源码 - android大牛MrJing 活动中心 - 博
- Android开发学习 之 一、开发环境的搭建
- Android开发之fedora13下编译Android源码
- android的各种*.img 文件
- Android(安卓)support和Androidx库不能共存问题
- Android(安卓)Wifi:使用Android(安卓)Instrument 自动测试 WIFI_S