Go to main content

Booting and Shutting Down Oracle® Solaris 11.4 Systems

Exit Print View

Updated: November 2020
 
 

Working With EEPROM Parameters

With appropriate privileges, you can use the eeprom command to display and modify EEPROM parameter settings.

On x86 systems, when you set boot-args or boot-file properties, a special entry called Solaris bootenv rc is automatically added to the GRUB menu and is marked as the default entry. Thus, on x86 systems, you can also use the GRUB menu to set certain EEPROM properties.


Caution  -  Properties that are set with the eeprom command can be overridden by kernel command lines. For example, if, during boot time, you access the kernel command line from the GRUB menu and set some parameters, those settings are applied to the system instead of the settings in the boot file.


For more detailed information, see the eeprom(8) man page.

EEPROM Parameters on UEFI Systems

On UEFI enabled systems, the parameters are stored in two places. Oracle Solaris specific variables are stored in /boot/solaris/bootenv.rc file. UEFI specific variables are set in the NVRAM store. Unlike SPARC with OBP, Oracle Solaris variables are not consumed by UEFI firmware.

Most UEFI variables are in a binary format and are translated to a readable format. When translation is not possible, a hexdump is printed.

Viewing EEPROM Parameters

EEPROM parameters vary by platform. To view the available EEPROM parameters for your system type, use the following general syntax:

$ eeprom [-u] [parameter]

The –u option displays UEFI specific parameters on UEFI enabled systems.

Used by itself, the eeprom command displays all EEPROM parameters. This example refers to an x86 based system:

$ 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=ttya

This example displays UEFI EEPROM parameters. Note that the sample shows a partial output.

$ 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
...

Setting EEPROM Parameters

To configure EEPROM parameters or properties, use the following general syntax:

$ eeprom [-u] [-d] parameter=value

The –u option pertains to UEFI specific parameters. The –d option deletes the parameter setting.


Note -  On x86 platforms, certain properties such as boot-device are set through the setup utility for your firmware type, for example, UEFI Boot Manager. Thus setting the boot device with the eeprom applies only to SPARC based platforms.

The following are additional examples of setting EEPROM parameter values:

  • Disable automatic reboot:

    $ eeprom auto-boot?=false
  • Set kernel boot arguments:

    $ eeprom boot-args=-k 
  • Set the console device:

    $ eeprom console=graphics
  • Set the boot order on a UEFI enabled system:

    $ eeprom -u BootOrder="Boot0005 Boot0001 Boot0002 Boot0003 Boot0004 Boot0000"
  • Delete a UEFI EEPROM Parameter

    $ eeprom -u -d BootOrder