高通平台Tag精确寻找进阶教程

高通平台Tag精确寻找进阶教程一、ReleaseTag列表二、对Tag规律进行总结三、搜索关键字四、如果已知分支号五、官方rom完全无法找到任何信息

一、 Release Tag列表

进入https://www.codeaurora.org/xwiki/bin/QAEP/release
并把此表格复制粘贴到excel中,并进行必要的排序和筛选
这里写图片描述
数据页面,按排序功能,主关键字Chipset,次关键字Android Version
为方便查看,可打开筛选功能

二、对Tag规律进行总结

把上面的表格进行归纳终结,对常用或比较新的cpu的tag规律列出来,剩余没有列出的请读者自行总结。

Chipset Manifest Android Version
msm8994 LNX.LA.0.0-*-8×94.0.xml 4.4.2
msm8994 LA.BF64.0.2-*-8×94.0.xml 4.4.4
msm8994 LNX.LA.0.0-*-8×94.0.xml 4.4.4
msm8994 LA.BF64.1.x-*-8×94.0.xml 5.x
msm8992 LA.BF64.1.x-*-8×92.0.xml 5.x
msm8974 M8974AAAAANLYA*.xml 4.1.1/4.2.2
msm8974 LNX.LA.3.x-*-8×74.0.xml 4.3/4.4
msm8974 LA.BF.1.x-*-8×74.0.xml 5.x
msm8960 M8960AAAAANLYA*.xml 4.0.4/4.1.1/4.1.2/4.2.0/4.2.1/4.2.2/4.3.0
msm8960 LNX.LA.2.7.x-*-8960.0.xml 4.4.0/4.4.1/4.4.2/4.4.3
msm8960 LA.AF.1.x-*-8064.0.xml 5.x
msm8939 LNX.LA.x.x-*-8939.0.xml 4.4.2/4.4.3/4.4.4
msm8930 M8930AAAAANLYA*.xml 4.0.4/4.1.1/4.1.2/4.2/4.2.1/4.2.2/4.3.0
msm8930 LNX.LA.2.7-*-8930.0.xml 4.4/4.4.1/4.4.2/4.4.3/4.4.4
msm8926 LNX.LA.3.x-*-8×26.0.xml 4.3
msm8916 LNX.LA.3.7.x-*-8×16.0.xml 4.4.2/4.4.3
msm8916_32 LNX.LA.3.7.x-*-8×16.0.xml 4.4.2/4.4.3/4.4.4
msm8916_32 LA.BR64.1.x-*-8×16.0.xml 5.x
msm8916_64 LA.BR.1.x-*-8×16.0.xml 5.x
msm8916_64 LA.BR64.x-*-8×16.0.xml 5.x
apq8064 A8064AAAAANLYA*.xml 4.0.4/4.1.1/4.1.2/4.2.0/4.2.1/4.2.24.3.0
apq8064 LNX.LA.2.7.x-*-8064.0.xml 4.4.0/4.4.1/4.4.2/4.4.3/4.4.4
apq8084 A8084AAAAANLYA*.xml 4.3/4.4/4.4.2
apq8084 LNX.LA.3.6.x-*-8084.0.xml 4.4.2
apq8084 LNX.LA.3.6.x-*-8084.0.xml 4.4.3/4.4.4
apq8084 LA.BF.2.1-*-8084.0.xml 5.x

三、搜索关键字

参考上表,在搜索关键字时更有针对性
举例
1.假设手机是msm8974平台,而官方rom为4.2
grep –r “M8974AAAAA”
2.假设手机是msm8974平台,官方rom为4.4.2
grep –r “LNX.LA”
3.前面提到的通用的关键字也可以尝试
grep –r “AU_LINUX_ANDROID”
4.如果都找不到,那么就用这个:
grep –r “Branch”

结果:
1.可以找到精确的tag,当然皆大欢喜
2.只找到分支号信息,例如:kk_2.7_rb1.28或LNX.LA.3.5.1_RB1.1
3.Branch信息是空的,完全找不到任何信息

四、如果已知分支号

就以泛泰A910来举例(msm8974平台),上面的搜索关键字只能找到LNX.LA.3.5.1_RB1.1分支号,并且已知官方rom为4.4.2 KVT49L

1.同步高通代码仓库

记得连接国内站点(用国内dns或改hosts都行),不然同步一天都同步不下来
git clone git://codeaurora.org/kernel/msm
进入刚同步好的文件夹(kernel_msm),打开终端
git branch -a > ../msm_branch_all.txt
把所有分支号都列出来,新建并存到上一级目录的msm_branch_all.txt

2.寻找内核仓库对应的分支号

打开msm_branch_all.txt,可以找到remotes/origin/LNX.LA.3.5.1_RB1.1

3.切换到需要的分支

git checkout -t remotes/origin/LNX.LA.3.5.1_RB1.1

4.查看此分支tag命名规律

在终端中执行gitk
往下找到任意黄色标签
这里写图片描述
从这里可以知道,这个分支对应的tag命名规律是LNX.LA.3.5.1-xxxxx-8×74.0

5. 同步manifests并列出所有近似名tag

repo init -u git://codeaurora.org/platform/manifest.git -b release –repo-url=git://codeaurora.org/tools/repo.git –repo-branch=caf-stable

进入manifests打开终端
find . -name "LNX.LA.3.5.1-*-8x74.0*"
./LNX.LA.3.5.1-06310-8×74.0.xml
./LNX.LA.3.5.1-00310-8×74.0.xml
./LNX.LA.3.5.1-09210-8×74.0.xml
./LNX.LA.3.5.1-06510-8×74.0.xml
./LNX.LA.3.5.1-01710-8×74.0.xml
./LNX.LA.3.5.1-05210-8×74.0.xml
./LNX.LA.3.5.1-07410-8×74.0.xml
./LNX.LA.3.5.1-07510-8×74.0.xml
./LNX.LA.3.5.1-03910-8×74.0.xml
./LNX.LA.3.5.1-05110-8×74.0.xml
./LNX.LA.3.5.1-05910-8×74.0.xml
./LNX.LA.3.5.1-07910-8×74.0.xml
./LNX.LA.3.5.1-09110-8×74.0.xml
./LNX.LA.3.5.1-06910-8×74.0.xml
./LNX.LA.3.5.1-05510-8×74.0.xml
./LNX.LA.3.5.1-03010-8×74.0.xml
./LNX.LA.3.5.1-02410-8×74.0.xml
./LNX.LA.3.5.1-09310-8×74.0.xml
./LNX.LA.3.5.1-05710-8×74.0.xml
./LNX.LA.3.5.1-02010-8×74.0.xml
./LNX.LA.3.5.1-09010-8×74.0.xml
./LNX.LA.3.5.1-07710-8×74.0.xml
./LNX.LA.3.5.1-08810-8×74.0.xml
./LNX.LA.3.5.1-00910-8×74.0.xml
./LNX.LA.3.5.1-01110-8×74.0.xml
./LNX.LA.3.5.1-04510-8×74.0.xml
./LNX.LA.3.5.1-06810-8×74.0.xml
./LNX.LA.3.5.1-06110-8×74.0.xml
./LNX.LA.3.5.1-06210-8×74.0.xml
./LNX.LA.3.5.1-03310-8×74.0.xml
./LNX.LA.3.5.1-02710-8×74.0.xml
./LNX.LA.3.5.1-04210-8×74.0.xml
./LNX.LA.3.5.1-07010-8×74.0.xml
./LNX.LA.3.5.1-01510-8×74.0.xml
./LNX.LA.3.5.1-08610-8×74.0.xml

再通过review页面来查看对应的版本,并把范围缩小到4.4.2 KVT49L(从官方rom得知的版本号)
https://www.codeaurora.org/cgit/quic/la/platform/build/tag/?id=

tag版本 android版本
LNX.LA.3.5.1-02010-8×74.0 KVT49L
LNX.LA.3.5.1-02410-8×74.0 KVT49L
LNX.LA.3.5.1-02710-8×74.0 KVT49L
LNX.LA.3.5.1-03010-8×74.0 KVT49L
LNX.LA.3.5.1-03310-8×74.0 KVT49L
LNX.LA.3.5.1-03910-8×74.0 KVT49L
LNX.LA.3.5.1-04210-8×74.0 KVT49L
LNX.LA.3.5.1-04510-8×74.0 KVT49L
LNX.LA.3.5.1-05110-8×74.0 KVT49L
LNX.LA.3.5.1-05210-8×74.0 KVT49L
LNX.LA.3.5.1-05510-8×74.0 KVT49L
LNX.LA.3.5.1-05710-8×74.0 KVT49L
LNX.LA.3.5.1-05910-8×74.0 KVT49L

这下就只剩下13项了。

6.checkout高通内核代码

先把上面13项的高通内核代码checkout出来
每checkout一次,就新建一个文件夹,并把内核代码复制进去
git checkout LNX.LA.3.5.1-02010-8×74.0
……
git checkout LNX.LA.3.5.1-05910-8×74.0

7. 对比官方内核代码与高通内核代码

官方内核当然要先解压并放好,然后打开Beyond Compare
逐次把上面checkout出来的13个高通内核与官方内核代码进行对比,记得对比规则勾选 基于规则比较
这里写图片描述
每次对比完成后,打开Beyond Compare菜单的Session->Folder Compare Info
如上图所示,记下有多少个文件相同

然后建立一个表格,每个tag有多少相似文件,找到相似文件最多者,即是精确的tag版本
这里写图片描述
在本例里,精确的tag即为LNX.LA.3.5.1-02410-8×74.0

五、官方rom完全无法找到任何信息

1.如果碰巧某些机型只有一个分支
例如apq8064平台,官方rom为4.4.2
从步骤一的表格可以查得LNX.LA.2.7-*-8064.0,就只有这种情况,那么就可以直接开始源代码对比了。

2.如果不幸分支非常多,那么只能把所有分支列出来,按照上面的办法,每个分支都进行对比

3.通过时间信息辅助判断,release tag页面第一列即为发布日期,官方初始内核会比高通tag日期晚,例如官方内核发布日期是2014.6.1,那么对应的高通内核一定是2014.6以前的,那么2014.7或以后的高通内核就可以排除掉了。

4.还可能存在更加方便快捷的办法,请读者自行总结吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37870.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注