下载编译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




更多相关文章

  1. Android出现adb device offline
  2. 在linux下编译Android
  3. android源码编译出现No private recovery resources for TARGET_
  4. [翻译] Android(安卓)+ TensorFlow机器学习示例
  5. Android(安卓)studio 打包apk如何重命名apk名称
  6. android的m、mm、mmm编译命令的使用
  7. Android(安卓)with the NDK_001
  8. android ndk编译x264开源(用于android的ffmpeg中进行软编码)
  9. Android应用程序编译问题

随机推荐

  1. MySQL中Multiple primary key defined报
  2. mysql第一次安装成功后初始化密码操作步
  3. macOS下mysql 8.0.16 安装配置图文教程
  4. mac系统下mysql 8.0.11 安装指南
  5. Mysql错误Every derived table must have
  6. windows下mysql 8.0.15 详细安装使用教程
  7. mysql定时删除过期数据记录的简单方法
  8. Mybatis mapper动态代理的原理解析
  9. MySQL下载安装详情图文教程
  10. mysql 8.0.17 安装图文教程