启动恢复子系统概述
启动恢复子系统负责从内核启动之后到应用启动之前的系统关键服务进程的启动过程以及设备恢复出厂设置的功能。涉及以下组件:
-
init启动引导组件
init启动引导组件对应的进程为init进程,是内核完成初始化后启动的第一个用户态进程。init进程启动之后,读取init.cfg配置文件,根据解析结果,执行相应命令(见第2章表2描述)并依次启动各关键系统服务进程,在启动系统服务进程的同时设置其对应权限。
-
appspawn应用孵化组件
负责接收用户程序框架的命令孵化应用进程,设置新进程的权限,并调用应用程序框架的入口函数。
-
bootstrap服务启动组件
提供了各服务和功能的启动入口标识。在SAMGR启动时,会调用boostrap标识的入口函数,并启动系统服务。
-
syspara系统属性组件
系统属性组件,根据OpenHarmony产品兼容性规范提供获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置/读取系统属性的接口。
-
startup启动组件
负责提供大型系统获取与设置操作系统相关的系统属性。
大型系统支持的系统属性包括:设备信息如设备类型、产品名称等,系统信息如系统版本、API版本等默认系统属性。
约束与限制
启动恢复子系统源代码目录和适配平台:
表 1 启动恢复子系统源代码目录和适配平台
-
init启动引导组件:
- 配置文件init.cfg烧写到单板之后变成只读模式,修改时必须重新打包和烧写rootfs镜像。
- 配置文件init.cfg仅支持json格式。
-
bootstrap服务启动组件:需要在链接脚本中配置zInit代码段。
-
syspara系统属性组件:SetParameter/GetParameter仅支持uid大于1000的应用调用。