
Note: Qualcomm Innovation Center Inc. maintained repositories have migrated to git.codelinaro.org.注意Qualcomm Innovation Center Inc. 维护的存储库已迁移到 git.codelinaro.org。注意本文面向一般大众笔者也没有什么c语言基础只是把我自学的东西分享出来而已。如果有哪里写得不好请联系我修改谢谢。Email: hisenyiu2015gmail.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 sourcesoc是msm8992Android版本是6.0.1把上面的表格进行归纳终结筛选Chipset为msm8992Android version为6.01的tag列出来三、依据内核版本找到对应的release tag1.同步高通内核代码仓库打开手机-设置-关于手机查看到内核的版本是3.10直接把msm-3.10的源码同步下来git clone https://git.codelinaro.org/clo/la/kernel/msm-3.102 对比官方内核代码与高通内核代码把上面列表中的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发布的时间晚的。特别致谢benjaminwanhttps://blog.csdn.net/benjaminwan