Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
7e0a2b1b
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看板
未验证
提交
7e0a2b1b
编写于
9月 20, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 20, 2022
浏览文件
操作
浏览文件
下载
差异文件
!9237 FIX: 补充system说明
Merge pull request !9237 from cheng_jinsong/0907_sysparam
上级
71d104df
60dc61f8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
80 addition
and
2 deletion
+80
-2
zh-cn/device-dev/subsystems/subsys-boot-appspawn.md
zh-cn/device-dev/subsystems/subsys-boot-appspawn.md
+2
-2
zh-cn/device-dev/subsystems/subsys-boot-init-service.md
zh-cn/device-dev/subsystems/subsys-boot-init-service.md
+15
-0
zh-cn/device-dev/subsystems/subsys-boot-init-sysparam.md
zh-cn/device-dev/subsystems/subsys-boot-init-sysparam.md
+63
-0
未找到文件。
zh-cn/device-dev/subsystems/subsys-boot-appspawn.md
浏览文件 @
7e0a2b1b
...
...
@@ -66,7 +66,7 @@
支持通过aa命令冷启动应用。
```
param set
appspawn.cold.boot true
// 打开冷启动开关
param set
startup.appspawn.cold.boot 1
// 打开冷启动开关
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
...
...
@@ -169,5 +169,5 @@
<br>
  
通过命令冷启动应用, 应用拉起失败。
 
**解决方法**
<br>
  
1. 需要设置 param set
appspawn.cold.boot true
生效。
<br>
  
1. 需要设置 param set
startup.appspawn.cold.boot 1
生效。
<br>
  
2. 确认冷启动命令是否正确。
\ No newline at end of file
zh-cn/device-dev/subsystems/subsys-boot-init-service.md
浏览文件 @
7e0a2b1b
...
...
@@ -162,6 +162,21 @@
| int ServiceSetReady(const char
*
serviceName) | 设置服务准备 | 返回值:成功返回0,失败返回-1
<br>
参数:
<br>
serviceName: 服务名 |
| int StartServiceByTimer(const char
*
serviceName, uint64_t timeout) | 定时启动服务 | 返回值:成功返回0,失败返回-1
<br>
参数:
<br>
serviceName: 服务名
<br>
timeout: 超时时间 |
| int StopServiceTimer(const char
*
serviceName) | 停止服务计时器 | 返回值:成功返回0,失败返回-1
<br>
参数:
<br>
serviceName: 服务名 |
-
服务控制接口的DAC配置
服务控制接口配置DAC,需要修改/base/startup/init/services/etc/group文件,在组servicectrl中添加对应的用户id,例如:
```
java
servicectrl:x:
1050
:
root
,
shell
,
system
,
samgr
,
hdf_devmgr
```
-
服务控制接口的selinux配置
服务控制接口配置selinux,需要在init.te文件中添加该服务接口所需要的selinux权限,例如为init、samgr、hdf_devmgr等服务配置系统参数写权限:
```
java
allow
{
init
samgr
hdf_devmgr
}
servicectrl_param:
parameter_service
{
set
};
```
### 开发步骤
此处以要新增一个名为MySystemApp的系统服务为例进行说明,使用如下配置:
...
...
zh-cn/device-dev/subsystems/subsys-boot-init-sysparam.md
浏览文件 @
7e0a2b1b
...
...
@@ -98,6 +98,55 @@ OHOS系统参数为各系统服务提供简单易用的键值对访问接口,
!
[
UGO规则信息
](
figures/系统参数DAC.png
)
-
系统参数配置selinux策略
-
添加selinux标签
为系统参数添加selinux标签,首先需要在文件/base/security/selinux/sepolicy/base/public/parameter.te中定义标签,例如:
```
java
type
servicectrl_param
,
parameter_attr
```
标签定义完成后,在文件/base/security/selinux/sepolicy/base/public/parameter_contexts中添加和标签关联的系统参数前缀,这里以前缀ohos.servicectrl.为例:
```
java
ohos
.
servicectrl
.
u:object_r:servicectrl_param:
s0
```
-
给init授权,允许map等操作,在文件/base/security/selinux/sepolicy/ohos_policy/startup/init/public/init.te中补充下面内容:
```
java
allow
servicectrl_param
tmpfs:
filesystem
associate
;
allow
init
servicectrl_param:
file
{
map
open
read
relabelto
relabelfrom
};
```
-
设置写权限,这里允许init samgr hdf_devmgr 进行系统参数写:
```
java
allow
{
init
samgr
hdf_devmgr
}
servicectrl_param:
parameter_service
{
set
};
```
-
设置读权限,如果只允许部分进程访问可单独对该进程授权:
```
java
allow
{
xxx
}
servicectrl_param:
file
{
map
open
read
};
```
-
如果全部允许,则设置为:
```
java
allow
{
domain
-
limit_domain
}
servicectrl_param:
file
{
map
open
read
};
```
-
建议:
各个子系统只保留两个系统参数标签:
一个私有,用来控制系统参数设置
一个公有,允许所有服务进行访问
-
默认参数加载
系统参数的加载顺序如下:
...
...
@@ -111,6 +160,20 @@ OHOS系统参数为各系统服务提供简单易用的键值对访问接口,
| system参数 | /system/etc/param/
*
.para | 加载各子系统定义的参数参数。如果系统参数已经存在,则忽略掉。 |
| persist参数 | /data/parameters/ | 如果持久化参数存在,则最后加载持久化系统参数。持久化系统参数会覆盖加载的默认系统参数。 |
#### 系统参数标签文件大小配置
如果标签对应的系统参数个数多,超过5条时,需要配置系统参数标签文件的大小,默认大小(512),配置文件为/base/startup/init/services/etc/param/ohos.para.size
配置规则:
系统参数标签=大小
例如:
```
java
startup_init_param
=
40960
```
### 约束与限制
仅限小型系统、标准系统下使用。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录