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
执行结果可能如下:
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出现adb device offline
- 在linux下编译Android
- android源码编译出现No private recovery resources for TARGET_
- [翻译] Android(安卓)+ TensorFlow机器学习示例
- Android(安卓)studio 打包apk如何重命名apk名称
- android的m、mm、mmm编译命令的使用
- Android(安卓)with the NDK_001
- android ndk编译x264开源(用于android的ffmpeg中进行软编码)
- Android应用程序编译问题