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

OpenHarmony中.cfg引导启动配置文件中不同jobs配置项启动顺序

笔者最近在移植soc到OpenHarmony时,遇到了内核amd GPU驱动在初始化时无法加载ramdisk中全部显卡固件的问题,于是将gpu驱动编译成ko形式在init阶段去加载,笔者希望尽量越早加载该ko越好,现将经验分享如下:

开发环境和前置知识

  • OpenHarmony 5.0.0 版本
  • 引导启动配置文件
    • https://gitcode.com/openharmony/docs/blob/OpenHarmony-5.0.3-Release/zh-cn/device-dev/subsystems/subsys-boot-init-cfg.md

关键代码

  • 5.0.0/base/startup/init/services/init/standard/init.c
      // execute initPostTrigger(EVENT_TRIGGER_BOOT, "pre-init", strlen("pre-init"));PostTrigger(EVENT_TRIGGER_BOOT, "init", strlen("init"));TriggerServices(START_MODE_BOOT);PostTrigger(EVENT_TRIGGER_BOOT, "post-init", strlen("post-init"));TriggerServices(START_MODE_NORMAL);clock_gettime(CLOCK_MONOTONIC, &(g_bootJob.startTime));
    
    这个部分去触发不同阶段的启动事件。 可以分析得出配置项启动顺序:pre-init > init > post-init

image.png

所以对于需要启动非常早的操作可以在5.0.0/base/startup/init/services/etc/init.cfg的pre-init配置中添加,也可以选择自己创建一个.cfg引导启动配置文件

image.png

http://www.dtcms.com/a/296549.html

相关文章:

  • MBPO 算法:让智能体像人一样 “先模拟后实操”—强化学习(17)
  • 构建企业级Docker日志驱动:将容器日志无缝发送到腾讯云CLS
  • 《AI流程编排中的Graph观测:设计原理与集成实践》
  • 网卡配置网卡ip和经过网关的ip
  • PAT 甲级题目讲解:1003《Emergency》
  • JavaSE:对一门面向对象语言有一个初步认识
  • Java 大视界 -- Java 大数据在智能教育自适应学习路径规划与学习效果强化中的应用(362)
  • LeetCode 10:正则表达式匹配
  • MyBatis-Plus--PageHelper 与 MyBatis-Plus 分页插件
  • SAP全自动化工具开发:Excel自动上传与邮件通知系统
  • Flutter之Widget体系与布局原理
  • 汉字转拼音
  • Kiro AI是如何帮我实现发布 harpoon 项目
  • 如何使用 php-vulnerability-hunter
  • 中国网专访百胜软件董事长兼CEO黄飞:中台助力新时代下零售行业的探索
  • go下载包
  • go语言基础教程:【1】基础语法:变量
  • Verilog 提取信号的上升沿或者下降沿
  • Python中常用标准库(时间库、随机库、正则表达式)
  • shell 正则表达式
  • Golang 语言中的指针介绍
  • 高版本Android跨应用广播通信实例
  • 40、鸿蒙Harmony Next开发:UI场景化-组件截图(ComponentSnapshot)
  • C++第一节课入门
  • Qt 元对象系统(Meta-Object System)解析
  • 前端安全问题怎么解决
  • 企业资产管理智能化:IT运维如何借力数字化管理提效避坑?
  • 配置DNS服务的正反向解析
  • 详解FreeRTOS开发过程(六)-- 队列
  • ESP32- 项目应用1 智能手表之更新时间 #3