感谢支持
我们一直在努力

Ubuntu 10.04下Android的内核和文件系统编译

1 、下载内核和文件系统


1.1 下载文件系统


1) Git的安装
在 Ubuntu 10.04上安装 git只要设定了正确的更新源,然后使用 apt-get就可以了,有什么依赖问题,就让它自己解决吧。其中 curl是一个利用 URL语法在命令行下工作的文件传输工具,会在后面安装 Repo的时候用到。 (貌似 Ubuntu10.04已经默认安装了 git1.7.04,所以这步就不需要了 )


sudo apt-get install git-core curl



2)安装 Repo
    首先确保在当前用户的主目录下创建一个 /bin目录(如果没有的话),然后把它 (~/bin)加到 PATH环境变量中接下来通过 curl来下载 Repo脚本,保存到 ~/bin/repo文件中
     curl http://Android.git.kernel.org/repo >~/bin/repo


    别忘了给 repo可执行权限
    chmod a+x ~/bin/repo


   3)初始化版本库
     如果是想把 Android当前主线上最新版本的所有的 sourcecode拿下来,我们需要 repo的帮助。先建立一个目录,比如 ~/myandroid,进去以后用


    repo init命令即可。
    repo init -u git://android.git.kernel.org/platform/manifest.git
   最后会看到 repo initialized in /android这样的提示,就说明本地的版本库已经初始化完毕。


   4)下载 Android代码
     运行如下命令 $ repo sync


   5.) du -sk 或 du -sm 可看文件夹容量大小



1.2Git 下载 android linux kernel 源码


1)mkdir ~/android_kernel
2) cd ~/android_kernel
3) git clone git://android.git.kernel.org/kernel/common.git (下载默认版本内核源码)


下面是 git常用的命令示例:
4) cd common
5) git branch(查看当前分支,结果为 android-2.6.27)
6) git branch -r(显示远程 branch列表)

2 、编译内核和文件系统


2.1 编译文件系统


1 )根据 andoird 官方网站的说明,如果你想编译文件系统,需要安装一些 Packages


$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev


系统提供了默认下载软件包的地址 ,但是速度较慢。服务器的地址在 /etc/apt/sources.list 中


设置 ,可以采用附件中的地址 ,或者在网上寻找相关的网址 ,www.linuxidc.com注意需要保证操作系统的版本 一致。


2 ) 安装 JDK1.5


在编译 Android 过程中 , 需要 JDK1.5, 即使系统里已经安装了 JDK1.6, 也需要重新安装 JDK1.5, 并设置 $ANDROID_JAVA_HOME 为 JDK1.5 的根目录。为了安装 JDK1.5, 需要添加如下内容到 /etc/apt/sources.list 文件末尾


deb http://tw.archive.Ubuntu.com/ubuntu/ jaunty main restricted universe multiverse


deb-src http://tw.archive.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse


sudo apt-get update


sudo apt-get install sun-java5-jd


注释掉 /etc/apt/sources.list 中刚刚添加的两行


sudo apt-get update


export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun( 根据具体的安装路径 )


export ANDROID_JAVA_HOME=$JAVA_HOME


3 )编译


cd ~/myandroid/


make


编译时一个漫长的过程 , 需要耐心的等待。我在编译的过程中遇到一些问题 , 大部分是由于


软件包没有完全安装 , 编译完成后会在 ~/myandroid/out/target/product/generic 下产生一些


image 文件 .


大功告成 , 运行模拟器


export ANDROID_PRODUCT_OUT=/usr/open_src/android/out/target/product/generic


cd /usr/open_src/android/out/host/linux-x86/bin


./emulator


2.2 编译内核


1) 进入内核目录


cd ~/android_kernel/


2 )获取内核编译配置文件
编译前需要得到 android 的内核编译参数的配置文件,该文件需要从 android sdk 中的模拟器中得到。启动 android 模拟器,然后通过 adb 得到模拟器中提供的内核配置文件:
$emulator &
$adb pull /proc/config.gz
这时候 adb 工具会连接模拟器,并从它里面下载一个叫做 config.gz 的文件到你的当前目录下。将其移动至 kernel 目录,解压该文件得到 config ,将其重命名为 .config ,这样就可以跳过 make config 而直接得到 Makefile 所需要的内核配置文件。


$ gunzip config.gz
$ mv config .config


3. 修改 Makefile
修改第 187 行,将 CROSS_COMPILE 值改为 ~/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/arm-eabi- ,我用了 andoird 提供的交叉编译工具,如果你只是想单独编译内核,那么需要单独下一个交叉编译工具,并将修改 CROSS_COMPILE 的值。(可以参照http://www.linuxidc.com/Linux/2010-08/27630.htm )修改此处意在告诉 make 在编译的时候要使用该工具链。


4. 开始编译
在 kernel 目录下执行 make:
$ make
除个别警告外编译过程一切顺利,最终在 /kernel/arch/arm/boot 目录下面生成一个 zImage ,即为编译好的内核镜像了。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu 10.04下Android的内核和文件系统编译
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏