Android内核源码交叉编译
2011-09-01 14:19
441 查看
一、使用git下载android内核部分源码
首先新建要保存android内核源码的目录
mkdir
android_kernel
cd
android_kernel
android
kernel的网站http://android.git.kernel.org/
git
clone git://android.git.kernel.org/kernel/common.git
下载android内核源码,完成之后会看到common目录,内核的源码就算下载完成了
如果想下载某一内核的版本,可以使用下面几个命令:
git
branch -a // 显示所有的分支
git
branch -r // 显示romote端的分支
git
checkout // 检出某一分支
二、设置交叉编译环境
交叉编译的环境在android源码已经存在,源码的下载可以参考《下载编译android源码》。在源码目录的android_source/prebuilt/linux-x86/toolchain/,可以看到多个交叉编译的工具
一般使用最新版本。
三、配置编译时的config文件
因为编译的镜像是要刷到模拟器运行的,模拟器的处理器架构是基于goldfish,所以需要下载有关goldfish的config文件。下载方法:
下载remotes/origin/archive/android-gldfish-2.6.29
版本:
git
checkout origin/archive/android-gldfish-2.6.29
然后就可以到arch/arm/configs下看到goldfish_defconfig这个文件了。
把goldfish_defconfig文件拷贝到android_kernel目录,并重命名为.config
四、make编译
首先设置环境:
export
PATH=$PATH:~/android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
然后修改Makefile:
ARCH =
arm #体系结构为arm
CROSS_COMPILE
= arm-eabi- #交叉编译工具链前缀,参考/toolchain/arm-eabi-4.4.3/bin
然后就可以make编译了,编译过程中会连续提示yes/not,能看懂的多注意几眼,看不懂的一路狂按Enter,最后如果前面的设置正确,编译完整后会看到下面的提示:
OBJCOPY
arch/arm/boot/zImage
Kernel:
arch/arm/boot/zImage is ready
五、编译得到zImage,用新内核启动模拟器
./emulator
-avd android2.1 -kernel ~/kernel-2.6.29/arch/arm/boot/zImage
在模拟器上查看系统信息:
首先新建要保存android内核源码的目录
mkdir
android_kernel
cd
android_kernel
android
kernel的网站http://android.git.kernel.org/
git
clone git://android.git.kernel.org/kernel/common.git
下载android内核源码,完成之后会看到common目录,内核的源码就算下载完成了
如果想下载某一内核的版本,可以使用下面几个命令:
git
branch -a // 显示所有的分支
git
branch -r // 显示romote端的分支
git
checkout // 检出某一分支
二、设置交叉编译环境
交叉编译的环境在android源码已经存在,源码的下载可以参考《下载编译android源码》。在源码目录的android_source/prebuilt/linux-x86/toolchain/,可以看到多个交叉编译的工具
mac@mac-desktop:~/works/android_dev/prebuilt/linux-x86/toolchain$ ls -all 总用量 44 drwxr-xr-x 9 mac mac 4096 2011-08-28 15:16 arm-eabi-4.2.1 drwxr-xr-x 9 mac mac 4096 2011-08-28 15:16 arm-eabi-4.3.1 drwxr-xr-x 10 mac mac 4096 2011-08-28 15:16 arm-eabi-4.4.0 drwxr-xr-x 10 mac mac 4096 2011-08-28 15:16 arm-eabi-4.4.3 drwxr-xr-x 10 mac mac 4096 2011-08-28 15:16 arm-linux-androideabi-4.4.x drwxr-xr-x 6 mac mac 4096 2011-08-28 15:16 i686-android-linux-4.4.3 drwxr-xr-x 8 mac mac 4096 2011-08-28 15:17 i686-linux-glibc2.7-4.4.3 drwxr-xr-x 10 mac mac 4096 2011-08-28 15:17 i686-unknown-linux-gnu-4.2.1 drwxr-xr-x 6 mac mac 4096 2011-08-28 15:17 sh-4.3.3 |
三、配置编译时的config文件
因为编译的镜像是要刷到模拟器运行的,模拟器的处理器架构是基于goldfish,所以需要下载有关goldfish的config文件。下载方法:
mac@mac-desktop:~/works/kernel-2.6.29$ git branch -a * (no branch) android-2.6.29 android-2.6.36 remotes/origin/HEAD -> origin/android-2.6.36 remotes/origin/android-2.6.35 remotes/origin/android-2.6.36 remotes/origin/android-2.6.37 remotes/origin/android-2.6.38 remotes/origin/android-2.6.39 remotes/origin/android-3.0 remotes/origin/archive/android-2.6.25 remotes/origin/archive/android-2.6.27 remotes/origin/archive/android-2.6.29 remotes/origin/archive/android-2.6.32 remotes/origin/archive/android-gldfish-2.6.29 remotes/origin/archive/android-goldfish-2.6.27 remotes/origin/linux-bcm43xx-2.6.39 remotes/origin/linux-wl12xx-2.6.39 |
版本:
git
checkout origin/archive/android-gldfish-2.6.29
然后就可以到arch/arm/configs下看到goldfish_defconfig这个文件了。
把goldfish_defconfig文件拷贝到android_kernel目录,并重命名为.config
四、make编译
首先设置环境:
export
PATH=$PATH:~/android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
然后修改Makefile:
ARCH =
arm #体系结构为arm
CROSS_COMPILE
= arm-eabi- #交叉编译工具链前缀,参考/toolchain/arm-eabi-4.4.3/bin
然后就可以make编译了,编译过程中会连续提示yes/not,能看懂的多注意几眼,看不懂的一路狂按Enter,最后如果前面的设置正确,编译完整后会看到下面的提示:
OBJCOPY
arch/arm/boot/zImage
Kernel:
arch/arm/boot/zImage is ready
五、编译得到zImage,用新内核启动模拟器
./emulator
-avd android2.1 -kernel ~/kernel-2.6.29/arch/arm/boot/zImage
在模拟器上查看系统信息:
相关文章推荐
- Android内核源码交叉编译
- Ubuntu 14.04 64位编译Android4.2.2内核源码goldfish
- 读后感--第二章android源码下载及编译--深入理解android内核设计思想
- Android系统篇之----编写简单的驱动程序并且将其编译到内核源码中
- Android源码和内核源码的下载,编译和执行
- Android 编译内核kernel源码
- Android 及内核源码下载编译
- ubuntu10.04下android最新内核源码编译
- 如何编译Android内核源码
- Ubuntu Android源码以及内核下载与编译
- 下载编译android源码(4.0.3)内核(ubuntu11.04)
- Android内核源码学习:1、MacOS 编译Android源码-工具
- Android4.0.1源码及内核编译效果
- Android I9100 源码编译 Step.6----下载&安装内核编译器
- Android系统篇之—-编写简单的驱动程序并且将其编译到内核源码中【转】
- android-4.0源码编译及内核编译(android-gldfish-2.6.29)
- Ubuntu下Android源码以及内核下载与编译
- 如何在32位ubuntu11.10 下编译android 4.0.1源码和goldfish内核