android内核编译笔记
今天在fedora8上,终于android内核编译成功了,虽然App还没有编译成功。下面是图片
地址:http://www.codesourcery.com/gnu_toolchains/arm/download.html
文件:ARM EABI相关工具
arm-2008q3-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
地址:http://code.google.com/p/android/downloads/list
文件:linux-2.6.25-android-1.0_r1.tar.gz
地址:http://www.eclipse.org/downloads
文件:eclipse-jee-ganymede-SR1-linux-gtk.tar.gz
ADT-0.8.0.zip
地址:http://code.google.com
文件:android-sdk-linux_x86-1.0_r1.zip
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
tar zxvf eclipse-jee-ganymede-SR1-linux-gtk.tar.gz -C /opt
(1) /opt/eclipse/eclipse &
(2) 等待启动完成后,选择 Help > Software Updates....
(3) Available Software > Add Site... > Archive...,点击install…
(4) 选择 "Android Developer Tools" 及 "Android Editors"
(5) 完毕.
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
(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,))
make
emulator -kernel arch/arm/boot/zImage
经过漫长的等待后,就可以显示出运行界面了。
《Google Android操作系统内核编译图文教程》
《android内核编译方法》