Android : 下载内核源码 and 编译打包

宁可枝头抱香死,何曾吹落北风中。这篇文章主要讲述Android : 下载内核源码 and 编译打包相关的知识,希望能为你提供帮助。
一、Android内核源码的下载:
【Android : 下载内核源码 and 编译打包】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^
































    推荐阅读