Puede visualizar y modificar el valor de los parámetros de la EEPROM con el comando eeprom. No necesita ningún privilegio especial para visualizar los parámetros de la EEPROM. Sin embargo, para modificar estos parámetros, debe asumir el rol de usuario root.
Observe la siguiente información adicional sobre cómo se establecen y se almacenan las propiedades de la EEPROM en las plataformas x86.
En las plataformas x86, la configuración de las propiedades de la EEPROM se simula mediante lo siguiente:
Almacenamiento de propiedades específicas de Oracle Solaris en el archivo /boot/solaris/bootenv.rc.
Manipulación del menú de GRUB para simular el efecto de establecer determinadas propiedades de la EEPROM.
Implementación de almacenamiento NVRAM para variables específicas para el entorno UEFI.
Al establecer las propiedades boot-args o boot-file, se crea y se manipula una entrada de menú de GRUB especial, ya que esta es la única forma de simular el efecto en las plataformas x86. El título de la entrada de menú de GRUB especial es Solaris bootenv rc. Esta entrada especial se marca como entrada predeterminada cuando se crea.
Las propiedades que se establecen con el comando eeprom se pueden sustituir al establecer los nombres de propiedades en valores diferentes en la línea de comandos del núcleo, por ejemplo, al editar el menú de GRUB en el inicio. Un ejemplo sería usar el comando eeprom y agregar B console=text a la línea de comandos del núcleo en el inicio para establecer la propiedad de la consola en graphics. En este caso, el tipo de consola se establece en text, aunque el archivo bootenv.rc especifica el valor graphics.
Para obtener más información, consulte la página del comando man eeprom(1M).
En los sistemas activados para UEFI, los parámetros se almacenan en dos lugares. Las variables específicas de Oracle Solaris se almacenan en el archivo bootenv.rc. Las variables específicas de UEFI se establecen en el almacenamiento NVRAM. A diferencia de SPARC con OBP, las variables de Oracle Solaris no son consumidas por el firmware UEFI. Para que las variables específicas de UEFI estén disponibles, utilice la opción –u con el comando eeprom.
La mayoría de las variables de UEFI están en formato binario y se traducen a un formato legible. Cuando no es posible la traducción, se imprime un volcado hexadecimal.
Los parámetros de la EEPROM varían según la plataforma. Por ejemplo, boot-device es un parámetro de las plataformas SPARC, pero no de las plataformas x86. Para ver los parámetros disponibles de la EEPROM para su tipo de sistema, utilice el comando eeprom sin argumentos.
Ejemplo 4-3 Visualización de todos los parámetros de la EEPROMEn el ejemplo a continuación, se muestra la salida del comando eeprom en un sistema basado en 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=ttyaEjemplo 4-4 Visualización de un parámetro específico de la EEPROM
Para mostrar el valor de un parámetro específico de la EEPROM, agregue el nombre de parámetro al comando eeprom de la siguiente manera:
$ /usr/sbin/eeprom console console=ttyaEjemplo 4-5 Visualización de todos los parámetros de la EEPROM de UEFI
En el ejemplo a continuación, se muestra cómo visualizar todos los parámetros de UEFI en un sistema en modo UEFI. Para ejecutar este comando, debe asumir el rol de usuario root.
# 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=Boot0000Ejemplo 4-6 Visualización de un parámetro específico de UEFI
# 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
En el procedimiento siguiente, se describe cómo establecer el dispositivo de inicio predeterminado en un sistema basado en SPARC. En las plataformas x86, el dispositivo de inicio se establece mediante la utilidad de configuración del tipo de firmware, por ejemplo, UEFI Boot Manager.
# eeprom attribute=value
# eeprom attribute
La salida debe mostrar el nuevo valor de eeprom para el atributo cambiado.
Para establecer el parámetro auto_boot en false, escriba el siguiente comando con el rol de usuario root:
# eeprom auto-boot?=falseEjemplo 4-8 Configuración de los argumentos de inicio del núcleo
Para establecer los argumentos de inicio del núcleo, puede especificar un valor para el parámetro boot-args. Por ejemplo, escriba el comando siguiente para especificar que el sistema inicia el depurador del núcleo:
# eeprom boot-args=-kEjemplo 4-9 Configuración de parámetros para el dispositivo de consola
Para conmutar la configuración de la consola de Oracle Solaris al modo de gráfico, utilice el siguiente comando:
# eeprom console=graphicsEjemplo 4-10 Configuración de un parámetro en un sistema activado para UEFI
En este ejemplo, se muestra cómo cambiar el orden de inicio en un sistema activado para UEFI:
# eeprom -u BootOrder="Boot0005 Boot0001 Boot0002 Boot0003 Boot0004 Boot0000"
En este ejemplo, se suprime un parámetro personalizado denominado attribute.
# eeprom -u -d attribute
# eeprom -u attribute eeprom: read: attribute doesn't exist