Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
b2bb7f76
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b2bb7f76
编写于
5月 06, 2022
作者:
K
king_he
提交者:
Gitee
5月 06, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/device-dev/subsystems/subsys-boot-overview.md.
Signed-off-by:
N
king_he
<
6384784@qq.com
>
上级
f5834550
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
15 deletion
+13
-15
zh-cn/device-dev/subsystems/subsys-boot-overview.md
zh-cn/device-dev/subsystems/subsys-boot-overview.md
+13
-15
未找到文件。
zh-cn/device-dev/subsystems/subsys-boot-overview.md
浏览文件 @
b2bb7f76
# 启动恢复子系统概述
## 启动恢复子系统上下文
下图是启动子系统上下文结构图:
启动子系统上下文结构如下图所示。
**图1**
下图是启动子系统上下文结构图:
**图1**
启动子系统上下文结构
!
[
zh-cn_image_0000001217858866
](
figures/zh-cn_image_0000001217858866.png
)
...
...
@@ -15,7 +14,7 @@
2.
init进程启动后,会挂载tmpfs,procfs,创建基本的dev设备节点,提供最基本的根文件系统。
3.
init也会启动ueventd监听内核热插拔设备事件,为这些设备创建dev设备节点;
包括block设备各个分区设备
都是通过此事件创建。
3.
init也会启动ueventd监听内核热插拔设备事件,为这些设备创建dev设备节点;
各个分区设备(包括block设备)
都是通过此事件创建。
4.
init进程挂载block设备各个分区(system,vendor)后,开始扫描各个系统服务的init启动脚本,并拉起各个SA服务。
...
...
@@ -26,10 +25,10 @@
7.
由于应用都需要加载JS的运行环境,涉及大量准备工作,因此appspawn作为应用的孵化器,在接收到foundation里的应用启动请求时,可以直接孵化出应用进程,减少应用启动时间。
启动子系统内部
涉及
以下组件:
启动子系统内部
包含
以下组件:
-
init启动引导组件
init启动引导组件对应的进程为init进程,是内核完成初始化后启动的第一个用户态进程。init进程启动之后,读取init.cfg配置文件,根据解析结果,执行相应命令(见
[
第2章表2
](
../subsystems/subsys-boot-init.md
)
描述
)并依次启动各关键系统服务进程,在启动系统服务进程的同时设置其对应权限。
init启动引导组件对应的进程为init进程,是内核完成初始化后启动的第一个用户态进程。init进程启动之后,读取init.cfg配置文件,根据解析结果,执行相应命令(见
[
第2章表2
](
../subsystems/subsys-boot-init.md
)
)并依次启动各关键系统服务进程,在启动系统服务进程的同时设置其对应权限。
-
ueventd启动引导组件
ueventd负责监听内核设备驱动插拔的netlink事件,根据事件类型动态管理相应设备的dev节点。
...
...
@@ -38,7 +37,7 @@
负责接收
**用户程序框架**
的命令孵化应用进程,设置新进程的权限,并调用应用程序框架的入口函数。
-
bootstrap服务启动组件
提供了各服务和功能的启动入口标识。在
SAMGR
启动时,会调用bootstrap标识的入口函数,并启动系统服务。
提供了各服务和功能的启动入口标识。在
samgr
启动时,会调用bootstrap标识的入口函数,并启动系统服务。
-
syspara系统属性组件
系统属性组件,根据OpenHarmony产品兼容性规范提供获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置/读取系统属性的接口。
...
...
@@ -46,22 +45,21 @@
## 约束与限制
启动恢复子系统源代码目录和适配平台:
下表为启动恢复子系统源代码目录和适配平台。
**表1**
启动恢复子系统源代码目录和适配平台
| 名称 | 适配平台 |
| -------- | -------- |
| base/startup/appspawn_lite | 小型系统设备(参考内存
≥1M
B),如Hi3516DV300
、Hi3518EV300 |
| base/startup/bootstrap_lite | 轻量系统设备(参考内存
≥128K
B),如Hi3861V100 |
| base/startup/init_lite | 小型系统设备(参考内存
≥1M
B),如Hi3516DV300、Hi3518EV300 |
| base/startup/syspara_lite | -
轻量系统设备(参考内存
≥128KB),如Hi3861V100
<br/>
-
小型系统设备(参考内存≥1M
B),如Hi3516DV300、Hi3518EV300 |
| base/startup/appspawn_lite | 小型系统设备(参考内存
≥ 1 Mi
B),如Hi3516DV300
、Hi3518EV300 |
| base/startup/bootstrap_lite | 轻量系统设备(参考内存
≥ 128 Ki
B),如Hi3861V100 |
| base/startup/init_lite | 小型系统设备(参考内存
≥ 1Mi
B),如Hi3516DV300、Hi3518EV300 |
| base/startup/syspara_lite | -
轻量系统设备(参考内存
≥ 128 KiB),如Hi3861V100
<br/>
-
小型系统设备(参考内存 ≥ 1 Mi
B),如Hi3516DV300、Hi3518EV300 |
-
init启动引导组件:
-
每个系统服务启动时都需要编写各自的启动脚本文件init.cfg,定义各自的服务名、可执行文件路径、权限和其他信息。
-
每个系统服务各自安装其启动脚本到/system/etc/init目录下,init进程统一扫
码
执行。
-
每个系统服务各自安装其启动脚本到/system/etc/init目录下,init进程统一扫
描
执行。
-
新芯片平台移植时,平台相关的初始化配置需要增加平台相关的初始化配置文件/vendor/etc/init/init.{hardware}.cfg;该文件完成平台相关的初始化设置,如安装ko驱动,设置平台相关的/proc节点信息。
-
配置文件init.cfg仅支持json格式。
-
新芯片平台移植时,平台相关的初始化配置需要增加平台相关的初始化配置文件/vendor/etc/init/init.{hardware}.cfg。该文件完成平台相关的初始化设置,如安装ko驱动,设置平台相关的/proc节点信息。配置文件init.cfg仅支持json格式。
-
bootstrap服务启动组件:需要在链接脚本中配置zInit代码段。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录