Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coping0606
Docs
提交
bbc25351
D
Docs
项目概览
Coping0606
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
1
Fork
0
代码
文件
提交
分支
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,发现更多精彩内容 >>
未验证
提交
bbc25351
编写于
4月 01, 2022
作者:
O
openharmony_ci
提交者:
Gitee
4月 01, 2022
浏览文件
操作
浏览文件
下载
差异文件
!2951 docs: add host startup configuration development guide
Merge pull request !2951 from Zhang/master
上级
706e80de
e49818cf
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
16 addition
and
0 deletion
+16
-0
zh-cn/device-dev/driver/driver-hdf-development.md
zh-cn/device-dev/driver/driver-hdf-development.md
+16
-0
未找到文件。
zh-cn/device-dev/driver/driver-hdf-development.md
浏览文件 @
bbc25351
...
...
@@ -158,6 +158,9 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
template host { // host模板,继承该模板的节点(如下sample_host)如果使用模板中的默认值,则节点字段可以缺省
hostName = "";
priority = 100;
uid = ""; // 用户态进程uid,缺省为空,会被配置为hostName的定义值,即普通用户
gid = ""; // 用户态进程gid,缺省为空,会被配置为hostName的定义值,即普通用户组
caps = [""]; // 用户态进程Linux capabilities配置,缺省为空,需要业务模块按照业务需要进行配置
template device {
template deviceNode {
policy = 0;
...
...
@@ -173,6 +176,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
sample_host :: host{
hostName = "host0"; // host名称,host节点是用来存放某一类驱动的容器
priority = 100; // host启动优先级(0-200),值越大优先级越低,建议默认配100,优先级相同则不保证host的加载顺序
caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"]; // 用户态进程Linux capabilities配置
device_sample :: device { // sample设备节点
device0 :: deviceNode { // sample驱动的DeviceNode节点
policy = 1; // policy字段是驱动服务发布的策略,在驱动服务管理章节有详细介绍
...
...
@@ -188,6 +192,18 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
}
}
```
说明:
uid、gid、caps等配置项是用户态驱动的启动配置,内核态不用配置。
根据进程权限最小化设计原则,业务模块uid、gid不用配置,如上面的sample_host,使用普通用户权限,即uid和gid被定义为hostName的定义值。
如果普通用户权限不能满足业务要求,需要把uid、gid定义为system或者root权限时,请找安全专家进行评审。
进程的uid在文件base/startup/init_lite/services/etc/passwd中配置,进程的gid在文件base/startup/init_lite/services/etc/group中配置,进程uid和gid配置参考:[系统服务用户组添加方法](https://gitee.com/openharmony/startup_init_lite/wikis)。
caps值:比如业务模块要配置CAP_DAC_OVERRIDE,此处需要填写 caps = ["DAC_OVERRIDE"],不能填写为caps = ["CAP_DAC_OVERRIDE"]。
-
驱动私有配置信息(可选)
如果驱动有私有配置,则可以添加一个驱动的配置文件,用来填写一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考步骤1)传递给驱动,驱动的配置信息示例如下:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录