配置规则 (Config_Rules) 对象类
描述
"配置规则" (Config_Rules) 对象类包含配置管理器使用的配置规则。 配置管理器在系统引导期间分两个阶段运行。 第一阶段负责配置基本设备,以便能够配置真正的根设备并使其准备就绪,以便运行。 在根文件系统启动并运行后,第二阶段会配置系统中的其余设备。 也可以在运行时调用 Configuration Manager。 配置管理器例程是由 Config_Rules 对象类中的规则驱动的。
交付系统时,将使用预定义的配置规则预装入 Config_Rules 对象类。 有三种类型的规则: 阶段 1 ,阶段 2 和阶段 2 服务。 您可以使用 ODM 命令在此对象类中添加,除去,更改和显示新的或现有的配置规则,以定制配置管理器的行为。 但是,对第 1 阶段规则所作的任何更改都必须写入引导文件系统才能生效。 这是使用 博斯引导 命令完成的。
系统中的所有逻辑和物理设备都组织在称为节点的树结构集群中。 有关节点或树结构的信息,请参阅 "设备配置管理器概述" 在 内核扩展和设备支持编程概念 中。 Config_Rules 对象类中的规则指定配置管理器所执行的程序名。 通常,这些程序是节点的顶部的配置程序。 调用这些程序时,将在标准输出中返回需要配置的下一个较低级别设备的名称。
配置管理器通过调用这些设备的 配置方法 来配置下一个较低级别的设备。 然后,这些设备会返回要配置的设备名称的列表。 在不返回更多设备名称之前,将重复此过程。 同一节点中的所有设备都按横向顺序配置。
系统引导的第二阶段需要两组规则: 第 2 阶段和服务。 键在前面板上的位置决定了使用哪组规则。 当密钥位于服务位置时,将使用服务规则。 如果密钥位于任何其他位置,那么将使用第 2 阶段规则。 此对象类的配置管理器阶段描述符中指示了不同类型的规则。
每个配置规则都具有关联的引导掩码。 如果此掩码具有非零值,那么它表示该规则所适用的引导类型。 例如,如果掩码具有 磁盘 _ 启动 值,那么该规则将应用于磁盘为基本设备的系统引导。 引导掩码的类型在 /usr/include/sys/cfgdb.h 文件中定义。
Descriptors
配置规则 对象类中包含以下描述符:
| ODM 类型 | 描述符名称 | 描述 | 描述符状态 |
|---|---|---|---|
| ODM_SHORT | phase | 配置管理器阶段 | 必需 |
| ODM_SHORT | SEQ | 序列值 | 必需 |
| ODM_LONG | 引导掩码 | 引导类型 | 必需 |
| ODM_VCHAR | rule_value [RULESIZE] | 规则值 | 必需 |
以下描述了这些描述符:
| 描述信息 | 描述 |
|---|---|
| 配置管理器阶段 | 此描述符指示应该在第 1 阶段,第 2 2 阶段或第 2 阶段服务下执行规则的阶段。
|
| 序列值 | 就这一阶段的其他规则而言,seqnumber 指示执行此程序时的顺序。 一般情况下,越低seq数字,优先级越高。 例如,具有以下条件的规则:seq值为 2 时,将在具有seq5 个数字。 有一个例外: 值为 0 表示 DONT_CARE 条件,并且任何规则都具有以下值:seq最后执行 0 的数目。 |
| 引导类型 | 如果boot_mask字段具有非零值,它表示该规则所适用的引导类型。 如果在调用 cfgmgr 命令时使用了 命令 标志,那么 cfgmgr 命令会将指定的掩码应用于此字段以确定是否执行规则。 缺省情况下, cfgmgr 命令始终执行规则,对于该规则,boot_mask字段具有 0 值。 |
| 规则值 | 此为要调用的程序的完整路径名。 规则值描述符还可能包含应该传递给该程序的任何选项。 但是,选项必须跟在程序名后面,因为将执行整个字符串,就像在命令行上输入了一样。 注: 每个要执行的程序都有一个规则。 如果需要多个营销计划,那么必须添加多个规则。
|