Android的环境搭建、内核和源码build
2012-02-01 20:03
381 查看
Android源代码下载和编译:
http://source.android.com/source/initializing.html
按照官方指导,成功Build!
Android开发环境的搭建:
http://developer.android.com/sdk/installing.html
实际上很简单,就四步:
1. 安装JDK,
2. 下载Android SDK,
3. 安装Eclipse(安装插件ADT),
4. 通过ADT将SDK配置进来(Window->Preferences->Android->SDK Location),
5. 通过SDK附带的Android SDK Manager来进行SDK的管理(Window->Android SDK Manager)。
Android内核下载和编译:
背景知识:
Android模拟器运行需要四个文件,分别是:
Kernel镜像:zImage,和Android镜像文件:system.img、userdata.img、ramdisk.img。
执行emulator命令时,如果不带任何参数,则Kernel镜像默认使用Android源码目录下的/prebuilt/android-arm/kernel下的kernel-qemu,而Android镜像文件则默认使用ANDROID_PRODUCT_OUT目录下的system.img、userdata.img、ramdisk.img。
当然,我们也可以指定镜像文件来运行模拟器:
emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
一、下载Kernel源代码
官方文档:
http://source.android.com/source/initializing.html
只提到了Kernel的下载,其中goldfish对应的是emulator的Kernel,其它的都是针对各个硬件平台的Kernel,例如msm是高通的,omap是TI的,等等。针对各个硬件平台的Kernel不一定都能build成功,需要做大量的移植工作。所以我们一般都只进行emulator,也就是goldfish的build。
注意:git clone之后,记得git checkout才能拿到指定branch的源代码。
二、准备Tool Chain
首先我们需要准备build kernel需要的tool chain,其实在Android源码目录下的/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin已经提供了一整套tool chain,当然我们也可以单独下载tool chain,只能下载免费的Lite版本,:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
下载“ARM processors”标题下面的“Download the EABI Release”。
下载之后得到一个压缩包,直接解压就可以,并把所在的路径export到~\.bashrc中:
export PATH=$PATH:<tool chain所在的路径>/bin
如果你使用Android源码中提供的tool chain,也需要把所在的路径export到~\.bashrc中:
export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
保存后,记得同步变化:
$ source ~/.bashrc
三、修改Kernel的Makefile
打开kernel目录下的Makefile文件,进行下面的修改:
1. ARCH ?= 的值设定为: ARCH ?= arm
2. CROSS_COMPILE ?= 的值设定为tool chain的前缀:CROSS_COMPILE ?= arm-eabi-(Android源码的Tool Chain)或者arm-none-linux-gnueabi-(自己下载的Tool Chain)
四、生成.config文件
Linux支持多种平台架构,在Kernel源码的arch目录下,已经将各种平台架构的源码分门别类。为了配置方便,在各种平台架构的目录下,一般都配有一个名为configs的目录。其中,放置着许多已经初步配置好的defconfig文件。
比如我们需要编译arm架构的内核,那我们就可以从arch/arm/configs/中找到各种具体芯片_defconfig,例如,高通的msm_defconfig等等。
Kernel在build时需要根目录里面的.config文件,该文件有以下几种方式获得:
1. 可以通过adb pull /proc/config.gz获得,并gunzip config.gz得到。
2. 可以通过make defconfig,前提是该defconfig已经存在,实际上就是:cp arch/arm/configs/defconfig .config。
3. 可以通过make menuconfig,进行图形化界面的设定。
五、生成Kernel的映像文件为:
~/kernel-goldfish/arch/arm/boot目录下的zImage
http://source.android.com/source/initializing.html
按照官方指导,成功Build!
Android开发环境的搭建:
http://developer.android.com/sdk/installing.html
实际上很简单,就四步:
1. 安装JDK,
2. 下载Android SDK,
3. 安装Eclipse(安装插件ADT),
4. 通过ADT将SDK配置进来(Window->Preferences->Android->SDK Location),
5. 通过SDK附带的Android SDK Manager来进行SDK的管理(Window->Android SDK Manager)。
Android内核下载和编译:
背景知识:
Android模拟器运行需要四个文件,分别是:
Kernel镜像:zImage,和Android镜像文件:system.img、userdata.img、ramdisk.img。
执行emulator命令时,如果不带任何参数,则Kernel镜像默认使用Android源码目录下的/prebuilt/android-arm/kernel下的kernel-qemu,而Android镜像文件则默认使用ANDROID_PRODUCT_OUT目录下的system.img、userdata.img、ramdisk.img。
当然,我们也可以指定镜像文件来运行模拟器:
emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
一、下载Kernel源代码
官方文档:
http://source.android.com/source/initializing.html
只提到了Kernel的下载,其中goldfish对应的是emulator的Kernel,其它的都是针对各个硬件平台的Kernel,例如msm是高通的,omap是TI的,等等。针对各个硬件平台的Kernel不一定都能build成功,需要做大量的移植工作。所以我们一般都只进行emulator,也就是goldfish的build。
注意:git clone之后,记得git checkout才能拿到指定branch的源代码。
二、准备Tool Chain
首先我们需要准备build kernel需要的tool chain,其实在Android源码目录下的/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin已经提供了一整套tool chain,当然我们也可以单独下载tool chain,只能下载免费的Lite版本,:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
下载“ARM processors”标题下面的“Download the EABI Release”。
下载之后得到一个压缩包,直接解压就可以,并把所在的路径export到~\.bashrc中:
export PATH=$PATH:<tool chain所在的路径>/bin
如果你使用Android源码中提供的tool chain,也需要把所在的路径export到~\.bashrc中:
export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
保存后,记得同步变化:
$ source ~/.bashrc
三、修改Kernel的Makefile
打开kernel目录下的Makefile文件,进行下面的修改:
1. ARCH ?= 的值设定为: ARCH ?= arm
2. CROSS_COMPILE ?= 的值设定为tool chain的前缀:CROSS_COMPILE ?= arm-eabi-(Android源码的Tool Chain)或者arm-none-linux-gnueabi-(自己下载的Tool Chain)
四、生成.config文件
Linux支持多种平台架构,在Kernel源码的arch目录下,已经将各种平台架构的源码分门别类。为了配置方便,在各种平台架构的目录下,一般都配有一个名为configs的目录。其中,放置着许多已经初步配置好的defconfig文件。
比如我们需要编译arm架构的内核,那我们就可以从arch/arm/configs/中找到各种具体芯片_defconfig,例如,高通的msm_defconfig等等。
Kernel在build时需要根目录里面的.config文件,该文件有以下几种方式获得:
1. 可以通过adb pull /proc/config.gz获得,并gunzip config.gz得到。
2. 可以通过make defconfig,前提是该defconfig已经存在,实际上就是:cp arch/arm/configs/defconfig .config。
3. 可以通过make menuconfig,进行图形化界面的设定。
五、生成Kernel的映像文件为:
~/kernel-goldfish/arch/arm/boot目录下的zImage
相关文章推荐
- Android内核源码级调试环境搭建
- Android源码编译环境搭建
- Android源码下载及开发环境的搭建
- ubuntu 13.10搭建MTK android源码编译环境
- 一、tiny4412开发板Android环境搭建之编译安卓源码
- Freescale I.mx 6 Android 4.2.2源码编译环境搭建(基于ubuntu12.04 LTS)
- android修改源码环境搭建
- ubuntu12.04编译android源码环境搭建____安装JDK 1.6
- Android 源码环境搭建配置与问题解析(一)
- ubuntu12.04编译android源码环境搭建____配置USB
- Android之ubuntu源码开发环境搭建笔记
- Linux Mint 13 的安装、配置及搭建Android源码编译环境
- ubuntu环境:下载、编译模拟器平台android内核源码
- linux环境Android源码编译环境搭建
- Android源码开发环境搭建
- Android源码编译教程之环境搭建
- Android环境建立之编译Android内核源码笔记---2
- androidpn-环境搭建和源码导入与运行
- Android 源码编译环境搭建(64位Ubuntu)各种依赖包安装