当前位置: 首页 > wzjs >正文

腾讯快速建站平台北京网站优化怎么样

腾讯快速建站平台,北京网站优化怎么样,简洁的网站案例,室内设计在线设计软件OpenHarmony子系统开发 - init启动引导组件(八) 十、DeviceInfo适配说明 启动子系统设备信息说明 系统参数接口名描述const.product.devicetypeconst char* GetDeviceType(void)返回当前设备类型const.product.manufacturerconst char* GetManufactur…

OpenHarmony子系统开发 - init启动引导组件(八)

十、DeviceInfo适配说明

启动子系统设备信息说明

系统参数接口名描述
const.product.devicetypeconst char* GetDeviceType(void)返回当前设备类型
const.product.manufacturerconst char* GetManufacture(void)返回当前设备生产厂家信息
const.product.brandconst char* GetBrand(void)返回当前设备品牌信息
const.product.nameconst char* GetMarketName(void)返回当前设备传播名
const.build.productconst char* GetProductSeries(void)返回当前设备产品系列名
const.product.modelconst char* GetProductModel(void)返回当前设备认证型号
const.software.modelconst char* GetSoftwareModel(void)返回当前设备内部软件子型号
const.product.hardwareversionconst char* GetHardwareModel(void)返回当前设备硬件版本号
const.product.hardwareprofileconst char* GetHardwareProfile(void)返回当前设备硬件profile
ohos.boot.snconst char* GetSerial(void)返回当前设备序列号(SN号)
const.product.software.versionconst char* GetDisplayVersion(void)返回当前设备用户可见的软件版本号
const.product.bootloader.versionconst char* GetBootloaderVersion(void)返回当前设备Bootloader版本号
const.product.udidint GetDevUdid(char *udid, int size)获取设备udid(先通过参数获取,获取失败通过计算获取)
const char *AclGetSerial(void)返回当前设备序列号(SN号)(带访问权限检查)
int AclGetDevUdid(char *udid, int size)获取设备udid(带访问权限检查)

设备信息来源

OHOS 固定值参数的适配

  • OHOS 固定值参数:

    const.ohos.version.security_patch
    const.ohos.releasetype
    const.ohos.apiversion
    const.ohos.fullname
    
  • 适配说明:

    OHOS 固定值参数由OHOS系统填充,厂商不能也不需适配,目前这部分参数主要定义在/base/startup/init/services/etc/param/ohos_const/ohos.para文件中。

厂商固定值参数的适配:

  • 厂商固定值参数:

    const.product.devicetype
    const.product.manufacturer
    const.product.brand
    const.product.name
    const.build.product
    const.product.model
    const.software.model
    const.product.hardwareversion
    const.product.hardwareprofile
    const.product.software.version
    const.product.bootloader.version
    const.build.characteristics
    ... ...
  • 适配说明:

    由各产品根据自身情况在vendor目录下适配。

    • 标准系统以RK3568为例,在/vendor/hihope/rk3568/etc/para/hardware_rk3568.para中适配,并安装到指定目录。

      ohos_prebuilt_etc("para_for_chip_prod") {source = "./para/hardware_rk3568.para"install_images = [ chip_prod_base_dir ]relative_install_dir = "para"part_name = "product_rk3568"
      }
      
    • 轻量系统与小型系统在产品对应的hals/utils/sys_param/vendor.para文件中配置。例如:

      const.product.manufacturer=Talkwebconst.product.brand=Talkwebconst.product.name=Niobeconst.build.product=Niobeconst.product.model=Niobe407const.software.model="2.0.0"const.product.hardwareversion="1.0.0"const.product.hardwareprofile="RAM:192K,ROM:1M,ETH:true"
      ... ...
      

厂商动态参数的适配

厂商动态值参数,目前有三种获取形式:cmdline读取,编译宏定义,在BUILD.gn中定义。

  1. cmdline中读取的值有:ohos.boot.hardware、ohos.boot.bootslots、ohos.boot.sn等,其中ohos.boot.sn的获取略有不同,具体如下:

    • 标准系统的Serial从参数ohos.boot.sn读取。

      ohos.boot.sn参数值的获取方式:首先从cmdline(由uboot生成)获取,如果获取到的是sn值则直接读取,若获取的是文件路径,则从文件中读取;当获取不到时从默认的Sn文件读取,默认文件为:/sys/block/mmcblk0/device/cid;/proc/bootdevice/cid

    • 轻量系统与小型系统的Serial各产品在实现过程中可能有自己特殊的算法,因此OpenHarmony支持在hals/utils/sys_param目录下hal_sys_param.c文件中通过HalGetSerial()接口自定算法来获取Serial。

  2. 编译宏定义的形式获取参数,目前主要在轻量系统与小型系统中用到,例如:

    defines = ["INCREMENTAL_VERSION=\"${ohos_version}\"","BUILD_TYPE=\"${ohos_build_type}\"","BUILD_USER=\"${ohos_build_user}\"","BUILD_TIME=\"${ohos_build_time}\"","BUILD_HOST=\"${ohos_build_host}\"","BUILD_ROOTHASH=\"${ohos_build_roothash}\"",
    ]
    
  3. 在BUILD.gn中定义,可参考文件/base/startup/init/services/etc/BUILD.gn,例如:

    if (target_cpu == "arm64") {extra_paras += [ "const.product.cpu.abilist=arm64-v8a" ]
    }
    if (build_variant == "user") {extra_paras += ["const.secure=1","const.debuggable=0",]
    } else if (build_variant == "root") {extra_paras += ["const.secure=0","const.debuggable=1",]
    }
    if (device_type != "default") {extra_paras += ["const.product.devicetype=${device_type}","const.build.characteristics=${device_type}",]
    }
    module_install_dir = "etc/param"
特别说明:
  1. 小型系统的产品需要在hals/utils/sys_param/BUILD.gn中添加vendor.para的编译,具体如下:

    copy("vendor.para") {sources = [ "./vendor.para" ]outputs = [ "$root_out_dir/vendor/etc/param/vendor.para" ]
    }
    
  2. 轻量系统的产品由于没有文件系统,在编译时会把hal_sys_param.c和vendor.para文件转化为头文件,编译时直接编译到系统中。

十一、ueventd介绍说明

概述

ueventd负责监听内核设备驱动插拔的netlink事件,根据事件类型动态管理相应设备的dev节点。

配置文件说明

ueventd配置文件类型

ueventd 的配置文件在/base/startup/init/ueventd/etc/目录下,配置文件主要分三个类型,分别是:device、 sysfs、 firmware。

目前配置的为device类型,当需要对创建的节点权限有DAC的设置要求时在该文件中配置。

不同的文件类型根据文件开头的字段来区分,以device 为例:

  [device] # 表示文件类型# <device name> <mode> <uid> <gid> <parameter>/dev/null 0666 0 0

ueventd配置文件的说明

  • ueventd的配置文件名为ueventd.config.

  • ueventd配置文件的内容主要有5个字段组成,例如:

/dev/null 0666 0 0
/dev/binder 0666 0 0
/dev/hwbinder 0666 0 0
/dev/vndbinder 0666 0 0
/dev/input/event* 0660 0 input

ueventd配置文件的字段说明

字段说明
device name设备节点名称
mode设备节点所给予的权限,遵循UGO模型
uid设备节点的uid
gid设备节点的gid
parameter设备节点参数信息,作用类似于通知,如果设备创建了,会设置一个对应parameter,根据参数信息便于其他进程对该节点进行对应的操作
/dev/null 0666 0 0 device_null
如在dev/null节点下操作:
当设备被创建,设置startup.uevent.device_null "added";当设备被卸载,我们会设置startup.uevet.device_null "removed"
  • 特别说明

由于启动分区的个节点可能会随设备的不同发生变化,因此支持通过在ueventd.config配置软连接的权限来修改其对应的物理设备节点的权限。 这部分节点主要在/dev/block/by-name目录下:

lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 boot_linux -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 bootctrl -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 ueventd ueventd 21 2017-08-10 16:22 chip-prod -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 misc -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 ramdisk -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 ueventd ueventd 20 2017-08-10 16:22 resource -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 ueventd ueventd 20 2017-08-10 16:22 sys-prod -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 system -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 uboot -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 ueventd ueventd 21 2017-08-10 16:22 updater -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 ueventd ueventd 21 2017-08-10 16:22 userdata -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root    root    20 2017-08-10 16:22 vendor -> /dev/block/mmcblk0p8

配置实例如下:

/dev/block/by-name/misc 0660 update update
/dev/block/by-name/bootctrl 0660 update update

设备节点的selinux 标签设置

设备节点的selinux 标签在/base/security/selinux_adapter/sepolicy/base/system/file_contexts文件中设置,当某个节点的selinux标签未设置时,其会继承父目录的标签selinux。

  • 节点标签定义:
/dev/block(/.*)?                u:object_r:dev_block_file:s0
/dev/block/zram0                u:object_r:zram_device:s0
  • 使用ls -Zl 可以查看节点的selinux标签
# ls -Zl
total 0
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 boot_linux -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 bootctrl -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 ueventd ueventd u:object_r:dev_block_file:s0  21 2017-08-10 16:22 chip-prod -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 misc -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 ramdisk -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 ueventd ueventd u:object_r:dev_block_file:s0  20 2017-08-10 16:22 resource -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 ueventd ueventd u:object_r:dev_block_file:s0  20 2017-08-10 16:22 sys-prod -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 system -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 uboot -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 ueventd ueventd u:object_r:dev_block_file:s0  21 2017-08-10 16:22 updater -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 ueventd ueventd u:object_r:dev_block_file:s0  21 2017-08-10 16:22 userdata -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root    root    u:object_r:dev_block_file:s0  20 2017-08-10 16:22 vendor -> /dev/block/mmcblk0p8
http://www.dtcms.com/wzjs/210050.html

相关文章:

  • 推销网站话术沈阳seo博客
  • 网站换服务器对排名有影响吗最佳磁力吧ciliba
  • 网站建设的5个步骤是什么seo是什么职业岗位
  • 旅游网站建设多少钱软件外包网
  • 企业手机网站建设价位怎么在百度上发表文章
  • 如何做静态页网站b站推广网站2024mmm
  • 银川如何做百度的网站bt磁力bt天堂
  • 如何制作网站主页谷歌广告上海有限公司官网
  • 如何做织梦手机网站推广注册app拿佣金
  • 做网站是什么软件网络优化工程师有多累
  • 网站开发及mobile自适应多少钱网络营销最主要的工具是
  • 重庆开发网站免费学生html网页制作成品
  • 想做个人域名网站怎么做优化网站界面的工具
  • 昆山网站开发公司如何快速推广自己的网站
  • 新手学做网站 电子书青岛网站建设方案
  • 太原网站维护企业网络营销方案策划
  • 福利wordpress贵州百度seo整站优化
  • 网络推广培训监管站内关键词排名优化软件
  • 网站建设全部代码东莞市民最新疫情
  • 石家庄建立网站的公司seo优化网站网页教学
  • 为什么没人做团购网站域名比价网
  • 北海网站建设公司软文撰写公司
  • 凡科互动app百度seo网站
  • 厦门的网站建设公司哪家好百度网盘客服电话
  • wordpress菜单id被公司优化掉是什么意思
  • 做我的世界皮肤壁纸的网站泉州seo网站排名
  • 政府网站建设考核指标河北网站建设案例
  • 沈阳网站建设哪家好北京网站优化seo
  • 企业做的网站推广费用如何记账可以免费打开网站的软件
  • 西宁中小企业网站建设民生热点新闻