-
-
[原创]编译内核(Pixel 2)
-
发表于:
2019-11-27 10:00
15667
-
这是我在学习编译Pixel2手机内核时所记录的笔记,内容没有亮点只是记录了我编译Pixel2 手机内核时的步骤。 区别于网上其他大佬说的方法我这里没有修改编译工具的源码,只是添加了编译时所需要的工具,刷入编译好的内核到手机中没有出现触摸屏失灵可以正常使用。
编译内核配置项:
内核分支为:remotes/origin/android-msm-wahoo-4.4-pie-r2 pixel2手机 android9.1版本
编译内核:
#: mkdir ~/bin
#: PATH=~/bin:$PATH
# curl https://storage.googleapis.com/git-repo-downloads/repo > repo
# 如果不行可以使用下面的:
# curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > repo
# chmod a+x ~/bin/repo
#: mkdir ~/bin
#: PATH=~/bin:$PATH
# curl https://storage.googleapis.com/git-repo-downloads/repo > repo
# 如果不行可以使用下面的:
# curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > repo
# chmod a+x ~/bin/repo
选择分支:
# repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
// 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
// REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
// 如果需要指定版本
// N2G48C android-9.0.0_r3
# repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-9.0.0_r3
# repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
// 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
// REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
// 如果需要指定版本
// N2G48C android-9.0.0_r3
# repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-9.0.0_r3
同步源码:
kernel下载
创建空目录存放内核文件:
# mkdir WORKING_DIRECTORY
# cd WORKING_DIRECTORY
# mkdir WORKING_DIRECTORY
# cd WORKING_DIRECTORY
git下载:
// 清华
# git clone https://aosp.tuna.tsinghua.edu.cn/android/kernel/msm.git
// 谷歌
# git clone https://android.googlesource.com/kernel/msm.git
# cd msm //进入msm工程目录
// 清华
# git clone https://aosp.tuna.tsinghua.edu.cn/android/kernel/msm.git
// 谷歌
# git clone https://android.googlesource.com/kernel/msm.git
# cd msm //进入msm工程目录
各个芯片版本:
exynos 项目包含适用于 Nexus 10 的内核源代码,可用作在 Samsung Exynos 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/exynos
goldfish 项目包含适用于模拟平台的内核源代码。
git clone https://android.googlesource.com/kernel/goldfish
hikey-linaro 项目用于 HiKey 参考板,可用作在 HiSilicon 620 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/hikey-linaro
msm 项目包含适用于 ADP1、ADP2、Nexus One、Nexus 4、Nexus 5、Nexus 6、Nexus 5X、Nexus 6P、Nexus 7 (2013)、Pixel 和 Pixel XL 的源代码,可用作在 Qualcomm MSM 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/msm
omap 项目用于 PandaBoard 和 Galaxy Nexus,可用作在 TI OMAP 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/omap
samsung 项目用于 Nexus S,可用作在 Samsung Hummingbird 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/samsung
tegra 项目用于 Xoom、Nexus 7 (2012)、Nexus 9,可用作在 NVIDIA Tegra 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/tegra
x86_64 项目包含适用于 Nexus Player 的内核源代码,可用作在 Intel x86_64 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/x86_64
exynos 项目包含适用于 Nexus 10 的内核源代码,可用作在 Samsung Exynos 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/exynos
goldfish 项目包含适用于模拟平台的内核源代码。
git clone https://android.googlesource.com/kernel/goldfish
hikey-linaro 项目用于 HiKey 参考板,可用作在 HiSilicon 620 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/hikey-linaro
msm 项目包含适用于 ADP1、ADP2、Nexus One、Nexus 4、Nexus 5、Nexus 6、Nexus 5X、Nexus 6P、Nexus 7 (2013)、Pixel 和 Pixel XL 的源代码,可用作在 Qualcomm MSM 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/msm
omap 项目用于 PandaBoard 和 Galaxy Nexus,可用作在 TI OMAP 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/omap
samsung 项目用于 Nexus S,可用作在 Samsung Hummingbird 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/samsung
tegra 项目用于 Xoom、Nexus 7 (2012)、Nexus 9,可用作在 NVIDIA Tegra 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/tegra
x86_64 项目包含适用于 Nexus Player 的内核源代码,可用作在 Intel x86_64 芯片组上开展相关工作的着手点。
git clone https://android.googlesource.com/kernel/x86_64
git同步分支:
# git checkout 4.4.4-xxxxxxx (在手机中查看/proc/version获取)
// 也可以选择这个版本 同步分支
# git checkout -b android-msm-wahoo-4.4-pie-r2 /origin/android-msm-wahoo-4.4-pie-r2 (依据手机信息在 branch中自行寻找)
# git checkout 4.4.4-xxxxxxx (在手机中查看/proc/version获取)
// 也可以选择这个版本 同步分支
# git checkout -b android-msm-wahoo-4.4-pie-r2 /origin/android-msm-wahoo-4.4-pie-r2 (依据手机信息在 branch中自行寻找)
编译内核配置项:
设备 |
二进制文件路径 |
源码路径 |
编译配置 |
taimen |
device/google/wahoo-kernel |
kernel/msm |
wahoo_defconfig |
walleye |
device/google/wahoo-kernel |
kernel/msm |
wahoo_defconfig |
angler |
device/huawei/angler-kernel |
kernel/msm |
angler_defconfig |
marlin |
device/google/marlin-kernel |
kernel/msm |
marlin_defconfig |
... |
... |
... |
... |
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课