Android kernel 下载编译笔记

下载编译Android内核主要可参考:http://source.android.com/source/building-kernels.html

创建工作目录后,在工作目录下运行git命令下载指定版本内核:

$ mkdir yourworkdir

$ cd yourworkdir

$ git clone https://android.googlesource.com/kernel/goldfish.git

https连接有问题的话改用http连接试试,https是加密数据协议,在国内会被屏蔽,http是明文协议没什么问题。

$ git clone http://android.googlesource.com/kernel/goldfish.git

执行结果可能如下:

Cloning into 'goldfish'...
remote: Sending approximately 499.98 MiB ...
remote: Counting objects: 41057, done
remote: Finding sources: 100% (150/150)
remote: Getting sizes: 100% (72/72)
remote: Compressing objects: 100% (329412/329412)
remote: Total 2442792 (delta 2048923), reused 2442757 (delta 2048918)
Receiving objects: 100% (2442792/2442792), 499.75 MiB | 1.28 MiB/s, done.
Resolving deltas: 100% (2049089/2049089), done.


其他可以下载的版本列表如下:

设备名称 二进制位置 源代码位置 编译配置文件
flo device/asus/flo-kernel/kernel kernel/msm flo_defconfig
deb device/asus/flo-kernel/kernel kernel/msm flo_defconfig
manta device/samsung/manta/kernel kernel/exynos manta_defconfig
mako device/lge/mako-kernel/kernel kernel/msm mako_defconfig
grouper device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
tilapia device/asus/grouper/kernel kernel/tegra tegra3_android_defconfig
maguro device/samsung/tuna/kernel kernel/omap tuna_defconfig
toro device/samsung/tuna/kernel kernel/omap tuna_defconfig
panda device/ti/panda/kernel kernel/omap panda_defconfig
stingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
wingray device/moto/wingray/kernel kernel/tegra stingray_defconfig
crespo device/samsung/crespo/kernel kernel/samsung herring_defconfig
crespo4g device/samsung/crespo/kernel kernel/samsung herring_defconfig

完成后当前目录下会出现goldfish目录,进入goldfish目录,运行git  branch -a命令,列出可抓取的分支版本,结果可能如下。

$ git  branch -a

* (no branch)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-goldfish-2.6.29
  remotes/origin/android-goldfish-3.4
  remotes/origin/linux-goldfish-3.0-wip
  remotes/origin/master

运行git checkout

git checkout -b android-goldfish-2.6.29 /origin/android-goldfish-2.6.29

标记分支可以选用git branch -a命令获得列表中的任何一个。


编译之前,配置与编译有关的环境变量,如果安装过android SDK,可以在SDK目录下指定gcc预编译命令路径

$ export PATH=$(pwd)/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin:$PATH

如果没有安装过,可以通过git下载一个

$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

设置 ARCH,SUBARCH,CROSS_COMPILE。

$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-

编译配置

$ make menuconfig

编译

$ make




你可能感兴趣的:(android,kernel,编译)