diff --git a/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md b/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md index 839f4e385eb7fd998662d0551df1d8d03644331e..0ac9b5c98ceab59faee82e1cad7b9d41af04cf08 100755 --- a/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md +++ b/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md @@ -8,26 +8,25 @@ appspawn被init启动后,等待接收进程间消息,根据消息内容启 ## 功能简介 -- 安全控制  支持为app设置SELinux标签。 +- 安全控制
  支持为app设置SELinux标签。 - 应用进程控制 - 支持为app设置AccessToken。 - 支持重启前,appspawn停止后,可同时停止所有已孵化的app进程。 -- 冷启动 - 支持应用通过aa命令冷启动应用。 +- 冷启动
支持应用通过aa命令冷启动应用。 ``` - param set appspawn.cold.boot true // 打开冷启动状态 + param set appspawn.cold.boot true // 打开冷启动开关 aa start -d 12345 -a $name -b $package -C - 参考: + 参考命令: aa start -d 12345 -a ohos.acts.startup.sysparam.function.MainAbility -b ohos.acts.startup.sysparam.function -C ``` ## 基本概念 -appspawn注册的服务名称为“appspawn”, appspawn 通过监听本地socket,接收来自客户端的请求消息。消息类型为AppProperty的结构体, 定义路径为:“base/startup/appspawn_standard/interfaces/innerkits/include/sclient_socket.h“。 +appspawn注册的服务名称为“appspawn”。appspawn 通过监听本地socket,接收来自客户端的请求消息。消息类型为AppProperty的结构体,定义路径为:“base/startup/appspawn_standard/interfaces/innerkits/include/sclient_socket.h”。 **表1** 字段说明 @@ -46,14 +45,14 @@ appspawn注册的服务名称为“appspawn”, appspawn 通过监听本地socke ## 开发指导 -接口定义路径: “base/startup/appspawn_standard/interfaces/innerkits/include/client_socket.h“,表 2为接口说明。 +接口定义路径: “base/startup/appspawn_standard/interfaces/innerkits/include/client_socket.h”,表 2为接口说明。 ### 接口说明 - **表2** 字段说明 + **表2** 接口说明 -| 字段名 | 说明 | +| 接口名 | 说明 | | -------- | -------- | | CreateClient | 创建client。 | | CloseClient | 关闭client。 | @@ -64,7 +63,7 @@ appspawn注册的服务名称为“appspawn”, appspawn 通过监听本地socke ## 开发实例 -接口使用参考方式: +接口使用参考: ``` @@ -83,14 +82,14 @@ std::shared_ptr clientSocket = std::make_uniqueReadSocketMessage((void *)&pid, sizeof(pid)); - // 如果失败,返回pid如果小于等于0,则错误,否则返回应用的进程id + // 如果失败,返回pid小于等于0;否则返回应用的进程id ``` ## 常见问题 -### 冷启动失败 +### 冷启动应用失败 **现象描述** @@ -98,6 +97,6 @@ std::shared_ptr clientSocket = std::make_unique- 小型系统设备(参考内存≥1MB),如Hi3516DV300、Hi3518EV300 | +| base/startup/appspawn_lite | 小型系统设备(参考内存 ≥ 1 MiB),如Hi3516DV300 、Hi3518EV300 | +| base/startup/bootstrap_lite | 轻量系统设备(参考内存 ≥ 128 KiB),如Hi3861V100 | +| base/startup/init_lite | 小型系统设备(参考内存 ≥ 1 MiB),如Hi3516DV300、Hi3518EV300 | +| base/startup/syspara_lite | - 轻量系统设备(参考内存 ≥ 128 KiB),如Hi3861V100
- 小型系统设备(参考内存 ≥ 1 MiB),如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代码段。 diff --git a/zh-cn/device-dev/subsystems/subsys-boot-syspara.md b/zh-cn/device-dev/subsystems/subsys-boot-syspara.md index f5ce784775bd766dfa13e5f2d81d18b5a1117ef4..234f1803372d3e1444aa26a1a94dfffe426edeb5 100755 --- a/zh-cn/device-dev/subsystems/subsys-boot-syspara.md +++ b/zh-cn/device-dev/subsystems/subsys-boot-syspara.md @@ -3,7 +3,7 @@ ## 系统参数简介 -syspara系统为各系统服务提供简单易用的键值对访问接口,使得各个系统服务可以通过各自的系统参数来进行业务功能的配置。系统参数的访问和操作有以下几个基本原语 +syspara系统为各系统服务提供简单易用的键值对访问接口,使得各个系统服务可以通过各自的系统参数来进行业务功能的配置。系统参数的访问和操作有下图所示几个基本原语: **图1** 系统参数操作原语 @@ -13,12 +13,12 @@ syspara系统为各系统服务提供简单易用的键值对访问接口,使 | 功能 | 说明 | | -------- | -------- | -| get | 获取系统参数的值 | -| set | 设置系统参数的值 | -| wait | 同步等待系统参数的值变更 | -| watch | 异步观察系统参数的值变更 | +| get | 获取系统参数的值。 | +| set | 设置系统参数的值。 | +| wait | 同步等待系统参数的值变更。 | +| watch | 异步观察系统参数的值变更。 | -系统参数名称采用点分格式由多段组成,每一段由字母、数字、下划线组成,总长度不超过96字节;系统参数名称分为两类: +系统参数名称采用点分格式由多段组成,每一段由字母、数字、下划线组成,总长度不超过96字节。系统参数名称分为两类: **表2** 系统参数名称 @@ -33,7 +33,7 @@ syspara系统为各系统服务提供简单易用的键值对访问接口,使 | 类别 | 前缀 | 说明 | | -------- | -------- | -------- | -| 常量 | **const.** | 常量参数,一旦赋值后续不会再变更;值最大长度为4096字节(包括结束符)。 | +| 常量 | **const.** | 常量参数,一旦赋值后续不会再变更,值最大长度为4096字节(包括结束符)。 | | 可写 | 其它 | 可写参数,重启后丢失,值最大长度96字节(包括结束符)。 | | 可持久化 | **persist.** | 可写并可持久化保存参数,重启后不会丢失,值最大长度96字节(包括结束符)。 | @@ -83,12 +83,12 @@ Last line." | -------- | -------- | -------- | | 字符串 | const.product.name=OHOS-PRODUCT | 不支持多行字符串,不支持注释。 | | 数字 | const.os.version.api=26 | 数字不需要引号。 | -| 布尔 | const.telephony.enable=false | 布尔型的可以为0,1,false,true。 | +| 布尔 | const.telephony.enable=false | 布尔型的可以为0,1或false,true。 | ### 系统参数DAC访问控制定义文件 -当前系统参数的访问权限控制通过自主访问控制(**Discretionary Access Control**)方式管理,访问权限定义文件后缀名为**".para.dac"**,示例如下: +当前系统参数的访问权限控制通过自主访问控制(Discretionary Access Control)方式管理,访问权限定义文件后缀名为**".para.dac"**,示例如下: ``` @@ -97,7 +97,7 @@ const.product.="root:root:660" 如上所示,可以通过**参数路径**为相同前缀的所有系统参数定义一类访问权限信息;DAC信息通过":"分三段来描述,分别为参数的user,group以及UGO规则信息。 -UGO规则信息每一位的定义如下: +UGO规则信息每一位的定义如下图所示: **图2** UGO规则信息 @@ -132,7 +132,7 @@ ohos_prebuilt_etc("ohos.para.dac") { | 类别 | 路径 | 说明 | | -------- | -------- | -------- | -| 内核参数 | /proc/cmdline | 内核参数中ohospara.xxx=valXXX类型的参数都转换成ohos.boot.xxx=valXXX系统参数 | +| 内核参数 | /proc/cmdline | 内核参数中ohospara.xxx=valXXX类型的参数都转换成ohos.boot.xxx=valXXX系统参数。 | | OS固定值 | /system/etc/param/ohos_const/\*.para | OS固定系统参数值参数优先加载。 | | vendor参数值 | /vendor/etc/param/\*.para | 厂商参数值定义文件次优先级加载,可以覆盖system参数值定义。 | | system参数值 | /system/etc/param/\*.para | 最后加载system参数值定义文件,文件中的系统参数值如果已经存在,则忽略掉。 | @@ -140,7 +140,7 @@ ohos_prebuilt_etc("ohos.para.dac") { ## shell命令使用说明 -通过shell命令中可直接操作系统参数: +通过shell命令中可直接操作系统参数。系统参数shell命令如下表所示: **表6** 系统参数shell命令说明 @@ -148,7 +148,7 @@ ohos_prebuilt_etc("ohos.para.dac") { | 功能 | 说明 | | -------- | -------- | | param get [**key**] | 获取指定key名称的系统参数值;如果不指定任何name,则返回所有系统参数值。 | -| param set **key value** | 设置指定key名称的参数值为value | +| param set **key value** | 设置指定key名称的参数值为value。 | | param wait **keyvalue** | 同步等待指定key名称的系统参数值与value匹配。value可支持模糊匹配,如"\*"表示任何值,"val\*"表示只匹配前三个val字符。 | | param dump | 显示系统参数的统计信息。 | @@ -185,8 +185,8 @@ ohos_prebuilt_etc("ohos.para.dac") { | const char\* GetBuildHost(void) | 返回构建主机名。 | | const char\* GetBuildTime(void) | 返回构建时间。 | | const char\* GetBuildRootHash(void) | 返回当前版本hash。 | -| const char\* GetOsReleaseType(void) | 返回系统发布类型 | -| int GetDevUdid(char \*udid, int size) | 获取设备udid | +| const char\* GetOsReleaseType(void) | 返回系统发布类型。 | +| int GetDevUdid(char \*udid, int size) | 获取设备udid。 | ## 开发实例