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内核编译方法》

你可能感兴趣的:(android在fc8上内核编译笔记)