2022年Android内核源代码交叉编译[归 .pdf
-
资源ID:34882640
资源大小:66.60KB
全文页数:4页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年Android内核源代码交叉编译[归 .pdf
Android 内核源代码交叉编译本文是在 Ubuntu10.10 系统上进行实践的。1 因为我们需要Android 的模拟器,所以需要安装Android 的 SDK,并创建 AVD, 可以一次命名为AVD15,AVD22,AVD23,. AVD15 对应 1.5,AVD22 对应 2.2,AVD23 对应 2.3,. 获取.config 文件 : 在启动模拟器 AVD15 :$emulator -avd AVD15 $pull /proc/config.gz . /将/proc/config.gz 这个文件复制到本地的目录,对应 Linux 上运行该命令的当前工作的目录,下同然后,将其解压并保存为.config ,留待后面使用2 arm 编译器去网站 下载 arm 工具链注意选择较早的版本,很有可能是google 那班人在编译的时候选择的是当时的最新的版本,但是后来就一直用那个版本http:/ versions 即可看到所有的发行版本,2008q3-41 这个版本是经过很多人测试可以用的。解压后,设置环境变量,将/usr/local/arm-2008q3/bin 添加到 $PATH 中其中 /usr/local/ 为保存解压后的arm-tools-chain 的根目录3 下载 Android 的 Linux 内核记住是 Android 的 Linux 内核 (git clone git:/android.git.kernel.org/kernel/common.git) ,而不是通用的Linuxe 内核源码 (git clone git:/android.git.kernel.org/kernel/linux-2.6.git)$ git clone git:/android.git.kernel.org/kernel/common.git kernel-common 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - /其中 kernel-common 为存放从代码库下来的代码的目录,下同这一步是个漫长的等待. $ cd /kernel-common $ git branch $ android-2.6.36 /这个随着版本的变化而变化4 下载完 Android 的 Linux 内核源码,你会发现在 /arch/arm/configs/ 下没有 goldfish_defconfig这个文件,恩我们需要check_out gold_fi sh 版本(模拟器的硬件配置就是Gold_Fish 的) $ cd /kernel_common $ git branch -a $ *android-2.6.36 remotes/origin/HE AD - origin/android-2.6.36 remotes/origin/android-2.6.35 remotes/origin/android-2.6.36 remotes/origin/archi ve/android-2.6.25 remotes/origin/archi ve/android-2.6.27 remotes/origin/archi ve/android-2.6.29 remotes/origin/archi ve/android-2.6.32 remotes/origin/archi ve/android-gldfi sh-2.6.29 remotes/origin/archi ve/android-goldfi sh-2.6.27 /以上显示是目前看到的,将来的某个时候可以就有点不同了,甚至老版本的Branch 名字也会被修改/故要特别注意$ git checkout remotes/origin/archive/android-gldfish-2.6.29 /这个过程就快多了 ,等待下载完数据/git 这个东西确实不怎么好用,还是想念Windows 上 TortoiseS VN 当下载完,你就能在kernel-common/arch/arm/configs/下看到 goldfish_defconfi g 这个文件5 编译名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 1)将 1 中的.config 文件拷贝到/kernel_common 目录下2)修改/kernel_common 目录下的 Makefile 文件(修改两处)- 修改之掐最好备份下这个文件,因为如果你修改了这个文件用 git 获取新版本的时候会提示 Makefile 文件被修改ARCH ?= arm /制定 CPU 的架构为 ARM CROSS_COMPILE ?= ar m-none-linux-gnueabi- /arm编译工具前缀3) $ make goldfish_defconfig $ make -j2 / 现在的机器都是双核的,这样代码编译就快多了编译最后两行信息 : OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready 6 用我们刚刚编译成功内核启动模拟器(这样不会对原有的模拟器产生任何的影响) $ emulator -avd AVD15 -kernel /kernel_common/arch/arm/boot/zImage 如果模拟器能起来,那说明成功了。打开另外一个终端 ,这样就能解决上面的终端被占用的情况下,也能使用终端$ adb shell #cd /proc # cat version Linux version 2.6.29-00262-gb0d93fb-dirty (dreamdream-VGN-FW351J) (gcc version 4.3.2 (Sourcery G+ Lite 2008q3-41) ) #1 Fri Dec 24 12:31:28 CST 2010 # cat cupinfo cupinfo: No such file or directory # cat cpuinfo Processor : ARM926E J-S rev 5 (v5l) BogoMIP S : 272.79 Features : swp half thumb fastmult vfp edsp java CPU implementer : 0 x41 CPU architecture: 5TE J CPU variant : 0 x0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - CPU part : 0 x926 CPU revision : 5 Hardw are : Goldfish Revision : 0000 Serial : 0000000000000000 注: dreamdream-VGN-FW351J,其中的dream 为当前登录 Ubuntu 的用户名 ,而 dream-VGN-FW351J是机器名Sourcery G+ Lite 2008q3-41 这个就是 arm tools chain 的版本了名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -