高通平台Tag精确寻找教程

发布于:2022-08-09 ⋅ 阅读:(434) ⋅ 点赞:(0)


Note: Qualcomm Innovation Center Inc. maintained repositories have migrated to git.codelinaro.org. 

注意:Qualcomm Innovation Center Inc. 维护的存储库已迁移到 git.codelinaro.org。


注意:本文面向一般大众,笔者也没有什么c语言基础,只是把我自学的东西分享出来而已。如果有哪里写得不好,请联系我修改,谢谢。

Email: hisenyiu2015@gmail.com


升级内核代码的原理

前提当然是准确的找到内核当前的版本了。当然,相对于caf内核而言,厂商内核肯定是基于某个高通内核版本进行修改的。
厂商同步了高通caf kernel,在某个内核基线上,加入各式各样的驱动,加入一些安全补丁,就成了官方内核。

如果是Android版本较高或者CPU较新的Tag,请点击

https://wiki.codelinaro.org/en/clo/la/release


如果是Android版本较低或者CPU很旧的Tag,请点击 https://wiki.codelinaro.org/en/clo/la/release-backup

一、 Release Tag列表

进入 https://wiki.codelinaro.org/en/clo/la/release-backup
并把此表格导入到excel中,并进行必要的排序和筛选 

数据页面,按排序功能,主关键字Chipset,次关键字Android Version 
为方便查看,可打开筛选功能

 

二、对Tag规律进行总结

本文以Lenovo X3c70的soc为例,从官方ROM已知开源的kernel source,soc是msm8992,Android版本是6.0.1
把上面的表格进行归纳终结,筛选Chipset为msm8992,Android version为6.01的tag列出来

三、依据内核版本找到对应的release tag
1.同步高通内核代码仓库
打开手机->设置->关于手机,查看到内核的版本是3.10,直接把msm-3.10的源码同步下来
git clone https://git.codelinaro.org/clo/la/kernel/msm-3.10

2 对比官方内核代码与高通内核代码
把上面列表中的15个Tag逐一checkout出来和官方源码对比
git checkout LA.BF64.1.2.2-02040-8x92.0
... ...
git checkout LA.BF64.1.2.2-04340-8x92.0

每checkout一次,用Beyond Compare和官方源码对比

 每次对比完成后,打开Beyond Compare菜单的Session->Folder Compare Info 
如上图所示,记下有多少个文件相同

然后建立一个表格,每个tag有多少相似文件,找到相似文件最多者,即是精确的tag版本 

        Tag                     same

LA.BF64.1.2.2-02040-8x92.0      46162
LA.BF64.1.2.2-02140-8x92.0      46164
LA.BF64.1.2.2-02240-8x92.0      46161
LA.BF64.1.2.2-02540-8x92.0      46160
LA.BF64.1.2.2-02840-8x92.0      46160
LA.BF64.1.2.2-02940-8x92.0      46159
LA.BF64.1.2.2-03140-8x92.0      46158
LA.BF64.1.2.2-03240-8x92.0      46152
LA.BF64.1.2.2-03340-8x92.0      46143
LA.BF64.1.2.2-03440-8x92.0      46142
LA.BF64.1.2.2-03540-8x92.0      46141
LA.BF64.1.2.2-03640-8x92.0      46140
LA.BF64.1.2.2-03840-8x92.0      46133
LA.BF64.1.2.2-04140-8x92.0      46130
LA.BF64.1.2.2-04340-8x92.0      46129

在本例里,精确的tag即为LA.BF64.1.2.2-02140-8x92.0

需要注意的是,厂商内核源码的开源日期肯定是比release tag发步时间晚的。

特别致谢 benjaminwan