Vous pouvez afficher et modifier la valeur des paramètres dans l'EEPROM à l'aide de la commande eeprom. Aucun privilège particulier n'est nécessaire pour afficher les paramètres EEPROM. Cependant, pour modifier ces paramètres, vous devez prendre le rôle root.
Notez les informations supplémentaires suivantes concernant la définition et le stockage des propriétés EEPROM sur les plateformes x86.
Sur les plateformes x86, la définition des propriétés EEPROM est simulée par :
le stockage des propriétés propres à Oracle Solaris dans le fichier /boot/solaris/bootenv.rc.
La manipulation du menu GRUB pour simuler l'effet de la définition de certaines propriétés EEPROM.
L'implémentation du stockage NVRAM pour les variables propres à l'environnement UEFI.
La définition des propriétés boot-args ou boot-file entraîne la création et la manipulation d'une entrée particulière du menu GRUB, ceci étant le seul moyen de simuler cet effet sur les plates-formes x86. Le titre de l'entrée spéciale du menu GRUB est Solaris bootenv rc. Celle-ci est marquée en tant qu'entrée par défaut lors de sa création.
Il est possible de remplacer les propriétés définies à l'aide de la commande eeprom en attribuant d'autres valeurs à leur nom sur la ligne de commande du noyau (en modifiant le menu GRUB au moment de l'initialisation, par exemple). Vous pouvez par exemple définir la propriété de la console sur graphics à l'aide de la commande eeprom, puis ajouter B console=text à la ligne de commande du noyau au moment de l'initialisation. Dans ce cas, la console est définie sur le type text, même si le fichier bootenv.rc spécifie la valeur graphics.
Pour obtenir des informations plus détaillées, reportez-vous à la page de manuel eeprom(1M).
Pour les systèmes compatibles UEFI, les paramètres sont stockés à deux endroits. Les variables propres à Oracle Solaris sont stockées dans le fichier bootenv.rc. Les variables propres à UEFI sont définies dans le stockage NVRAM. Contrairement à SPARC avec OBP, les variables d'Oracle Solaris ne sont pas utilisées par le microprogramme UEFI. Pour rendre les variables propres à UEFI accessibles, utilisez l'option –u avec la commande eeprom.
La plupart des variables UEFI sont au format binaire et sont converties dans un format lisible. Lorsqu'aucune conversion n'est possible, un hexdump est imprimé.
Les paramètres EEPROM varient en fonction de la plate-forme. Par exemple, le paramètre boot-device est disponible sur les plates-formes SPARC, mais pas sur les plates-formes x86. Pour afficher les paramètres EEPROM disponibles sur le type de système dont vous disposez, exécutez la commande eeprom sans arguments.
Exemple 4-3 Affichage de tous les paramètres EEPROML'exemple ci-dessous présente la sortie de la commande eeprom sur un système x86 :
$ eeprom keyboard-layout=Unknown ata-dma-enabled=1 atapi-cd-dma-enabled=1 ttyb-rts-dtr-off=false ttyb-ignore-cd=true ttya-rts-dtr-off=false ttya-ignore-cd=true ttyb-mode=9600,8,n,1,- ttya-mode=9600,8,n,1,- lba-access-ok=1 console=ttyaExemple 4-4 Affichage d'un paramètre EEPROM spécifique
Pour afficher la valeur d'un paramètre EEPROM spécifique, ajoutez le nom du paramètre à la commande eeprom, comme suit :
$ /usr/sbin/eeprom console console=ttyaExemple 4-5 Affichage de tous les paramètres EEPROM UEFI
L'exemple suivant présente comment afficher tous les paramètres UEFI sur un système en mode UEFI. Vous devez prendre le rôle root pour pouvoir utiliser cette commande.
# eeprom -u MonotonicCounter=0x1f2 OsaBootOptNum=0xffff ConOut=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ConIn=/PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() /PciRoot(0x0)/Pci(0x1d,0x0)/USB(0x1,0x0)/USB(0x8,0x0) BootOrder=Boot0000 Boot0001 Boot0002 Boot0003 Boot0004 Boot0005 Boot0006 Lang=eng PlatformLang=en-US Timeout=0x1 Boot0001=description:string=[UEFI]USB:USBIN:USB USB Hard Drive , flags:int=1, device_path: \ string=/PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x004D5353,0x800,0x3b5800), \ optional_data:string=AMBO Boot0002=description:string=[UEFI]PXE:NET0:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(002128e77478), \ optional_data:string=AMBO Boot0003=description:string=[UEFI]PXE:NET1:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x1)/MAC(002128e77479), \ optional_data:string=AMBO Boot0004=description:string=[UEFI]PXE:NET2:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(002128e7747a), \ optional_data:string=AMBO Boot0005=description:string=[UEFI]PXE:NET3:Intel(R) Ethernet Controller 10 Gigabit X540-AT2, \ flags:int=1, device_path:string=/PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(002128e7747b), \ optional_data:string=AMBO Boot0006=description:string=[UEFI]SAS:PCIE3:ATA HITACHI HDS7225SA81A, flags:int=1, \ device_path:string=/PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0) \ /MessagingPath(10,2c00b .... 12010100) \ /HD(1,GPT,BCB01265-4665-F1CA-8BF5-9C4FB95962FA,0x100,0x80000), optional_data:string=AMBO Boot0000=description:string=Oracle Solaris s12_13, flags:int=1, device_path: \ string=HD(1,GPT,C7398875-60D2-A9E0-83EE-94DAA21B0383,0x100,0x80000), file_path:string=/EFI/Oracle/grubx64.efi USB_POINT=5139417f00000000 ConOutDev=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ConInDev=/PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() /PciRoot(0x0)/Pci(0x1d,0x0)/USB(0x1,0x0)/USB(0x8,0x0) BootOptionSupport=0x1 ErrOutDev=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() ErrOut=/PciRoot(0x0)/Pci(0x1c,0x7)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(2147549440) /PciRoot(0x0)/Pci(0x1f,0x0)/Serial(0x0)/Uart(115200,8,N,1)/UartFlowCtrl(None)/VenPcAnsi() PlatformLangCodes=en-US S3PerfAdd=hexdump:989fd6aa00000000 LangCodes=eng BootCurrent=Boot0000Exemple 4-6 Affichage d'un paramètres UEFI spécifique
# eeprom -u Boot0000 Boot0000=description:string=Oracle Solaris s12_13, flags:int=1, device_path: \ string=HD(1,GPT,C7398875-60D2-A9E0-83EE-94DAA21B0383,0x100,0x80000), \ file_path:string=/EFI/Oracle/grubx64.efi
La procédure suivante explique comment définir le périphérique d'initialisation par défaut sur un système SPARC. Sur les plates-formes x86, il faut définir le périphérique d'initialisation dans l'utilitaire de configuration adapté au type de microprogramme, comme le gestionnaire d'initialisation UEFI.
Reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
# eeprom attribute=value
# eeprom attribute
La sortie doit afficher la valeur eeprom pour l'attribut modifié.
Pour définir le paramètre auto_boot sur la valeur false, saisissez la commande suivante à l'aide du rôle root :
# eeprom auto-boot?=falseExemple 4-8 Définition des arguments d'initialisation de noyau
Vous pouvez définir des arguments d'initialisation de noyau en indiquant une valeur pour le paramètre boot-args. Par exemple, entrez la commande suivante pour indiquer au système d'initialiser le débogueur de noyau :
# eeprom boot-args=-kExemple 4-9 Définition des paramètres du périphérique de console
Pour passer la console Oracle Solaris en mode graphique, utilisez la commande suivante :
# eeprom console=graphicsExemple 4-10 Définition d'un paramètre sur un système compatible UEFI
Cet exemple présente comment modifier l'ordre d'initialisation sur un système compatible UEFI :
# eeprom -u BootOrder="Boot0005 Boot0001 Boot0002 Boot0003 Boot0004 Boot0000"
Reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
Dans cet exemple, un paramètre personnalisé nommé attribute est supprimé.
# eeprom -u -d attribute
# eeprom -u attribute eeprom: read: attribute doesn't exist