高通平台Tag精确寻找进阶教程
點擊打開鏈接
一、 Releas點擊打開鏈接e Tag列表
進入https://www.codeaurora.org/xwiki/bin/QAEP/release?
并把此表格復制粘貼到excel中,并進行必要的排序和篩選?
數據頁面,按排序功能,主關鍵字Chipset,次關鍵字Android?Version?
為方便查看,可打開篩選功能
二、對Tag規律進行總結
把上面的表格進行歸納終結,對常用或比較新的cpu的tag規律列出來,剩余沒有列出的請讀者自行總結。
| msm8994 | LNX.LA.0.0-*-8x94.0.xml | 4.4.2 |
| msm8994 | LA.BF64.0.2-*-8x94.0.xml | 4.4.4 |
| msm8994 | LNX.LA.0.0-*-8x94.0.xml | 4.4.4 |
| msm8994 | LA.BF64.1.x-*-8x94.0.xml | 5.x |
| msm8992 | LA.BF64.1.x-*-8x92.0.xml | 5.x |
| msm8974 | M8974AAAAANLYA*.xml | 4.1.1/4.2.2 |
| msm8974 | LNX.LA.3.x-*-8x74.0.xml | 4.3/4.4 |
| msm8974 | LA.BF.1.x-*-8x74.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-*-8x26.0.xml | 4.3 |
| msm8916 | LNX.LA.3.7.x-*-8x16.0.xml | 4.4.2/4.4.3 |
| msm8916_32 | LNX.LA.3.7.x-*-8x16.0.xml | 4.4.2/4.4.3/4.4.4 |
| msm8916_32 | LA.BR64.1.x-*-8x16.0.xml | 5.x |
| msm8916_64 | LA.BR.1.x-*-8x16.0.xml | 5.x |
| msm8916_64 | LA.BR64.x-*-8x16.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-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=
| LNX.LA.3.5.1-02010-8x74.0 | KVT49L |
| LNX.LA.3.5.1-02410-8x74.0 | KVT49L |
| LNX.LA.3.5.1-02710-8x74.0 | KVT49L |
| LNX.LA.3.5.1-03010-8x74.0 | KVT49L |
| LNX.LA.3.5.1-03310-8x74.0 | KVT49L |
| LNX.LA.3.5.1-03910-8x74.0 | KVT49L |
| LNX.LA.3.5.1-04210-8x74.0 | KVT49L |
| LNX.LA.3.5.1-04510-8x74.0 | KVT49L |
| LNX.LA.3.5.1-05110-8x74.0 | KVT49L |
| LNX.LA.3.5.1-05210-8x74.0 | KVT49L |
| LNX.LA.3.5.1-05510-8x74.0 | KVT49L |
| LNX.LA.3.5.1-05710-8x74.0 | KVT49L |
| LNX.LA.3.5.1-05910-8x74.0 | KVT49L |
這下就只剩下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.還可能存在更加方便快捷的辦法,請讀者自行總結吧。
總結
以上是生活随笔為你收集整理的高通平台Tag精确寻找进阶教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: recovery的init.rc中挂载s
- 下一篇: Android的开机流程及对应源码位置分