GKI ABI-check SOP
ABI check是用于校验生成的kernel中ko与google释放的ko所计算出来的CRC是否相等。
在GKI版本中,很多kernel中的配置有=y变成了=m,编译成了ko,XTS测试时,会替换boot镜像, 替换成google释放的boot.img,这时候如果产生break,会开不了机,例如卡白米反复重启,也就是KMI Break问题。
在启动的时候,我们自己的ko文件,没法被Google Kernel加载上,也就是Kernel起不来,就卡白米。
Google对这一块的逻辑是:
对whitelist下的symbol进行crc计算
ko加载时,把ko中symbol的crc和第一步中的crc值进行对比
匹配的话加载,不匹配的话就表示你vendor的ko和我不兼容
主要诱发原因几个:改函数了、改结构体了、改enum了。统称KMI break。
而ABI check就是针对这种情况去做一个检查,检查kernel中哪些接口、变量被改动了,在生成的报告中可以看到有哪些地方被改动了。
ABI-check环境配置与步骤:
环境准备:
首先电脑需要有python3环境,公司ubuntu台式机一般自带python环境,没有可自行安装。
拉取GoogleKernel源码:
mkdir GoogleKernel && cd Google Kernel
repo init -u [https://android.googlesource.com/kernel/manifest](https://android.googlesource.com/kernel/manifest) -b common-android11-5.4
repo sync


1604

被折叠的 条评论
为什么被折叠?



