RK3568平台(基础篇)GKI开发方式

一.什么是GKI

GKI:Generic Kernel Image 通用内核映像。
Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加载模块中。核心内核为驱动模块提供了稳定的内核模块接口,模块驱动和核心内核可以独立进行更新。内核接口可以通过upstream的方式进行扩展。 Soc和板级厂商在驱动开发时需要使用已经定义的内核接口,如果要新加核心内核接口需要提交给google,这个周期会比较长,所以要提前做好开发准备。

二.GKI开发方式

以test_power模块为例:

1.添加模块编译

在kernel-5.10/arch/arm64/configs/smart_gki.config中添加

    CONFIG_TEST_POWER=m

2.编译ko

项目根目录执行命令./build.sh -CK

3.strip驱动文件

llvm-strip -g kernel-5.10/drivers/power/supply/test_power.ko

4.将ko打包到vendor_boot并自动加载

cp kernel-5.10/drivers/power/supply/test_power.ko mkcombinedroot/vendor_ramdisk/lib/modules/

<

你可能感兴趣的:(瑞芯微,linux)