您的位置:首页 > 其它

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

2017-03-23 14:23 274 查看
点击打开链接

一、 Releas点击打开链接e Tag列表

进入https://www.codeaurora.org/xwiki/bin/QAEP/release 
并把此表格复制粘贴到excel中,并进行必要的排序和筛选 



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

二、对Tag规律进行总结

把上面的表格进行归纳终结,对常用或比较新的cpu的tag规律列出来,剩余没有列出的请读者自行总结。
ChipsetManifestAndroid Version
msm8994LNX.LA.0.0-*-8x94.0.xml4.4.2
msm8994LA.BF64.0.2-*-8x94.0.xml4.4.4
msm8994LNX.LA.0.0-*-8x94.0.xml4.4.4
msm8994LA.BF64.1.x-*-8x94.0.xml5.x
msm8992LA.BF64.1.x-*-8x92.0.xml5.x
msm8974M8974AAAAANLYA*.xml4.1.1/4.2.2
msm8974LNX.LA.3.x-*-8x74.0.xml4.3/4.4
msm8974LA.BF.1.x-*-8x74.0.xml5.x
msm8960M8960AAAAANLYA*.xml4.0.4/4.1.1/4.1.2/4.2.0/4.2.1/4.2.2/4.3.0
msm8960LNX.LA.2.7.x-*-8960.0.xml4.4.0/4.4.1/4.4.2/4.4.3
msm8960LA.AF.1.x-*-8064.0.xml5.x
msm8939LNX.LA.x.x-*-8939.0.xml4.4.2/4.4.3/4.4.4
msm8930M8930AAAAANLYA*.xml4.0.4/4.1.1/4.1.2/4.2/4.2.1/4.2.2/4.3.0
msm8930LNX.LA.2.7-*-8930.0.xml4.4/4.4.1/4.4.2/4.4.3/4.4.4
msm8926LNX.LA.3.x-*-8x26.0.xml4.3
msm8916LNX.LA.3.7.x-*-8x16.0.xml4.4.2/4.4.3
msm8916_32LNX.LA.3.7.x-*-8x16.0.xml4.4.2/4.4.3/4.4.4
msm8916_32LA.BR64.1.x-*-8x16.0.xml5.x
msm8916_64LA.BR.1.x-*-8x16.0.xml5.x
msm8916_64LA.BR64.x-*-8x16.0.xml5.x
apq8064A8064AAAAANLYA*.xml4.0.4/4.1.1/4.1.2/4.2.0/4.2.1/4.2.24.3.0
apq8064LNX.LA.2.7.x-*-8064.0.xml4.4.0/4.4.1/4.4.2/4.4.3/4.4.4
apq8084A8084AAAAANLYA*.xml4.3/4.4/4.4.2
apq8084LNX.LA.3.6.x-*-8084.0.xml4.4.2
apq8084LNX.LA.3.6.x-*-8084.0.xml4.4.3/4.4.4
apq8084LA.BF.2.1-*-8084.0.xml5.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-8x74.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-8x74.0.xml 
./LNX.LA.3.5.1-00310-8x74.0.xml 
./LNX.LA.3.5.1-09210-8x74.0.xml 
./LNX.LA.3.5.1-06510-8x74.0.xml 
./LNX.LA.3.5.1-01710-8x74.0.xml 
./LNX.LA.3.5.1-05210-8x74.0.xml 
./LNX.LA.3.5.1-07410-8x74.0.xml 
./LNX.LA.3.5.1-07510-8x74.0.xml 
./LNX.LA.3.5.1-03910-8x74.0.xml 
./LNX.LA.3.5.1-05110-8x74.0.xml 
./LNX.LA.3.5.1-05910-8x74.0.xml 
./LNX.LA.3.5.1-07910-8x74.0.xml 
./LNX.LA.3.5.1-09110-8x74.0.xml 
./LNX.LA.3.5.1-06910-8x74.0.xml 
./LNX.LA.3.5.1-05510-8x74.0.xml 
./LNX.LA.3.5.1-03010-8x74.0.xml 
./LNX.LA.3.5.1-02410-8x74.0.xml 
./LNX.LA.3.5.1-09310-8x74.0.xml 
./LNX.LA.3.5.1-05710-8x74.0.xml 
./LNX.LA.3.5.1-02010-8x74.0.xml 
./LNX.LA.3.5.1-09010-8x74.0.xml 
./LNX.LA.3.5.1-07710-8x74.0.xml 
./LNX.LA.3.5.1-08810-8x74.0.xml 
./LNX.LA.3.5.1-00910-8x74.0.xml 
./LNX.LA.3.5.1-01110-8x74.0.xml 
./LNX.LA.3.5.1-04510-8x74.0.xml 
./LNX.LA.3.5.1-06810-8x74.0.xml 
./LNX.LA.3.5.1-06110-8x74.0.xml 
./LNX.LA.3.5.1-06210-8x74.0.xml 
./LNX.LA.3.5.1-03310-8x74.0.xml 
./LNX.LA.3.5.1-02710-8x74.0.xml 
./LNX.LA.3.5.1-04210-8x74.0.xml 
./LNX.LA.3.5.1-07010-8x74.0.xml 
./LNX.LA.3.5.1-01510-8x74.0.xml 
./LNX.LA.3.5.1-08610-8x74.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-8x74.0KVT49L
LNX.LA.3.5.1-02410-8x74.0KVT49L
LNX.LA.3.5.1-02710-8x74.0KVT49L
LNX.LA.3.5.1-03010-8x74.0KVT49L
LNX.LA.3.5.1-03310-8x74.0KVT49L
LNX.LA.3.5.1-03910-8x74.0KVT49L
LNX.LA.3.5.1-04210-8x74.0KVT49L
LNX.LA.3.5.1-04510-8x74.0KVT49L
LNX.LA.3.5.1-05110-8x74.0KVT49L
LNX.LA.3.5.1-05210-8x74.0KVT49L
LNX.LA.3.5.1-05510-8x74.0KVT49L
LNX.LA.3.5.1-05710-8x74.0KVT49L
LNX.LA.3.5.1-05910-8x74.0KVT49L
这下就只剩下13项了。

6.checkout高通内核代码

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

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

官方内核当然要先解压并放好,然后打开Beyond Compare 
逐次把上面checkout出来的13个高通内核与官方内核代码进行对比,记得对比规则勾选 基于规则比较 


 
每次对比完成后,打开Beyond Compare菜单的Session->Folder Compare Info 
如上图所示,记下有多少个文件相同然后建立一个表格,每个tag有多少相似文件,找到相似文件最多者,即是精确的tag版本 


 
在本例里,精确的tag即为LNX.LA.3.5.1-02410-8x74.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.还可能存在更加方便快捷的办法,请读者自行总结吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: