Règles de configuration (Config_Rules) Classe d'objets
Descriptif
La classe d'objets Règles de configuration (Config_Rules) contient les règles de configuration utilisées par le gestionnaire de configuration. Le gestionnaire de configuration s'exécute en deux phases lors de l'amorçage du système. La première phase est responsable de la configuration des unités de base de sorte que l'unité racine réelle puisse être configurée et prête pour l'opération. La seconde phase configure le reste des unités du système une fois que le système de fichiers racine est en cours d'exécution. Le gestionnaire de configuration peut également être appelé lors de l'exécution. La routine du gestionnaire de configuration est guidée par les règles de la classe d'objets Config_Rules.
La classe d'objets Config_Rules est préchargée avec des règles de configuration prédéfinies lors de la livraison du système. Il existe trois types de règles: phase 1, phase 2 et service de phase 2. Vous pouvez utiliser les commandes ODM pour ajouter, supprimer, modifier et afficher des règles de configuration nouvelles ou existantes dans cette classe d'objets afin de personnaliser le comportement du gestionnaire de configuration. Cependant, toutes les modifications apportées à une règle de phase 1 doivent être écrites dans le système de fichiers d'amorçage pour être efficaces. Cette commande est effectuée à l'aide de la commande Botte bosboot .
Toutes les unités logiques et physiques du système sont organisées en clusters de structures arborescenes appelées noeuds. Pour plus d'informations sur les noeuds ou les structures d'arborescence, voir "Présentation de Device Configuration Manager" Dans Concepts de programmation de prise en charge des extensions et des périphériques du noyau. Les règles de la classe d'objets Config_Rules définissent les noms de programme exécutables par le gestionnaire de configuration. Généralement, ces programmes sont les programmes de configuration pour le haut des noeuds. Lorsque ces programmes sont appelés, les noms des périphériques de niveau inférieur suivants qui doivent être configurés sont renvoyés dans la sortie standard.
Le gestionnaire de configuration configure les unités de niveau inférieur suivantes en appelant Configurer la méthode pour ces unités. A leur tour, ces unités renvoient une liste de noms d'unité à configurer. Ce processus est répété jusqu'à ce qu'aucun autre nom d'unité ne soit renvoyé. Toutes les unités du même noeud sont configurées dans un ordre transversal.
La deuxième phase de l'amorçage du système nécessite deux ensembles de règles: la phase 2 et le service. La position de la clé sur le panneau frontal détermine l'ensemble de règles utilisé. Les règles de service sont utilisées lorsque la clé est en position de maintenance. Si la clé est dans une autre position, les règles de la phase 2 sont utilisées. Différents types de règles sont indiqués dans le descripteur de phase du gestionnaire de configuration de cette classe d'objets.
Chaque règle de configuration comporte un masque d'amorçage associé. Si ce masque a une valeur différente de zéro, il représente le type d'amorçage auquel la règle s'applique. Par exemple, si le masque a une valeur DISK_BOOT , la règle s'applique aux démarrages système où les disques sont des unités de base. Le type de masque d'amorçage est défini dans le fichier /usr/include/sys/cfgdb.h .
Descripteurs
La classe d'objets Règles de configuration contient les descripteurs suivants:
| Type ODM | Nom du descripteur | Descriptif | Statut du descripteur |
|---|---|---|---|
| ODM_SHORT | phase | Phase du gestionnaire de configuration | Obligatoire |
| ODM_SHORT | Séq | Valeur de séquence | Obligatoire |
| ODM_LONG | Masque d'amorçage | Type de démarrage | Obligatoire |
| ODM_VCHAR | Val_règle [ RULESIZE ] | Valeur de règle | Obligatoire |
Ces descripteurs sont décrits comme suit:
| Descripteur | Descriptif |
|---|---|
| Phase du gestionnaire de configuration | Ce descripteur indique la phase qu'une règle doit être exécutée en phase 1, phase 2 ou service de phase 2.
|
| Valeur de séquence | En ce qui a trait aux autres règles de cette phase,seqNombre indique l'ordre dans lequel exécuter ce programme. En général, laseq, plus la priorité est élevée. Par exemple, une règle avec unseqNuméro 2 est exécuté avant une règle avec unseqNombre de 5. Il existe une exception à cette règle: la valeur 0 indique une condition DONT_CARE et toute règle avec unseqNuméro de 0 est exécuté en dernier. |
| Type de démarrage | Si la commandeboot_maskA une valeur différente de zéro, elle représente le type d'amorçage auquel la règle s'applique. Si l'indicateur -m est utilisé lors de l'appel de la commande Cfgmgr , la commande Cfgmgr applique le masque spécifié à cette zone pour déterminer s'il faut exécuter la règle. Par défaut, la commande Cfgmgr exécute toujours une règle pour laquelleboot_maskA une valeur 0. |
| Valeur de règle | Il s'agit du nom de chemin complet du programme à appeler. Le descripteur de valeur de règle peut également contenir toutes les options qui doivent être transmises à ce programme. Cependant, les options doivent suivre le nom du programme, car toute la chaîne sera exécutée comme si elle avait été tapée sur la ligne de commande. Remarque: Il existe une règle pour chaque programme à exécuter. Si plusieurs programmes sont nécessaires, plusieurs règles doivent être ajoutées.
|