当前位置: 首页 > news >正文

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/

<

http://www.mrgr.cn/news/22465.html

相关文章:

  • JVM内存模型
  • C语言:刷题日志(2)
  • 代码随想录Day 38|背包问题完结,题目322.零钱兑换、279.完全平方数、139,单词拆分数
  • 两种常用损失函数:nn.CrossEntropyLoss 与 nn.TripletMarginLoss
  • Ansible简单部署与使用
  • C++11 的继续学习
  • 游泳馆押金管理+手牌管理+刷手牌 开通方法
  • 从状态管理到性能优化:全面解析 Android Compose
  • STM32(十二):DMA直接存储器存取
  • 【C++】STL学习——priority_queue(了解仿函数)
  • 防爆定位信标与防爆定位基站有什么区别?
  • 面板中的乐观更新(体验升级)
  • c++进阶——哈希表
  • java基础-IO(4)管道流 PipedOutputStream、PipedInputStream、PipedReader、PipedWriter
  • 逆元
  • C语言函数
  • Js实现继承的6种方式
  • 一文彻底搞懂:Java基本数据类型详解
  • C++11 atomic和内存序
  • 谈谈ES搜索引擎