一、Android内核源码的下载:
1.Google GIT地址:
$ git clone https://android.googlesource.com/kernel/common.git
$ git clone https://android.googlesource.com/kernel/exynos.git
$ git clone https://android.googlesource.com/kernel/goldfish.git
$ git clone https://android.googlesource.com/kernel/msm.git
$ git clone https://android.googlesource.com/kernel/omap.git
$ git clone https://android.googlesource.com/kernel/samsung.git
$ git clone https://android.googlesource.com/kernel/tegra.git
2.清华服务器地址:
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/common.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/exynos.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/hikey-linaro.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/lk.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/omap.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/samsung.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/tegra.git
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/x86_64.git
goldfish这个project包含了适合于模拟器平台的源码;
msm这个project包含了适合于ADP1、ADP2、Nexus One、Nexus 4的源码,并且可以作为高通MSM芯片组开发定制内核工作的起始点;
omap这个project包含了适合于PandaBoard、Galaxy Nexus的源码,并且可以作为德州仪器OMAP芯片组内核开发定制工作的起始点;
samsung这个project包含了适合于Nexus S的源码,并且可以作为三星蜂鸟芯片组内核开发定制工作的起始点;
tegra这个project包含了适合于Xoom和Nexus 7的源码,并且可以作为英伟达图睿芯片组内核开发定制工作的起始点;
exynos这个project包含了适合与Nexus 10的源码,并且可以作为三星猎户座芯片组内核开发定制工作的起始点。
二、编译:
1.代码库download之后会在对应的目录下可以通过 ls -al 查看到 .git , git branch -a 查看所有分支,我手上nexus平板刷的Android5.0的系统,所有选择以下内核版本:
git checkout remotes/origin/android-tegra-flounder-3.10-lollipop-release
2.分支代码下载好之后:
(1)修改Makefile:
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
修改为:
ARCH ?= arm
CROSS_COMPILE ?= arm-eabi-
(2)配置:
kernel/xxx/arch/arm/configs/ ,目录下有很多配置文件
make tegra_defconfig ,选择默认配置,之后会生成 .config
make menuconfig ,可以通过此命令进一步配置内核更新 .config
(3)编译:
配置好内核后就可以输入 : make ,等待zImage的生成。
三、打包zImage 到 boot.img,并刷机:
# 下载解打包工具 https://github.com/derekhe/u8825d-bootimg-scripts # 解压到任意地方后,从手机上获取得你现在正使用的boot.img放到解压出来的目录 # 1. 解压现有的boot.img ./unpack-bootimg.pl boot.img # 2. 拷贝编译的zImage文件到此目录,路径自己确定 cp ../arch/arm/boot/zImage ./ # 3. 打包zImage和ramdisk目录 mv boot.img boot.img.bak ./repack-bootimg.pl zImage boot.img-ramdisk boot.img # 4. 刷入boot.img,手机重启的瞬间要记得按音量减键 ./adb reboot ./fastboot devices ./fastboot erase boot ./fastboot flash boot boot.img./fastboot reboot 如果能正常开机,就congratulation!!!^v^