|Skip Navigation Links|
|Exit Print View|
|Booting and Shutting Down Oracle Solaris 11.1 Systems Oracle Solaris 11.1 Information Library|
The following information describes the various ways in which you can display and set boot attributes on SPARC and x86 platforms. For specific information about setting boot attributes on x86 based systems, either at boot time or by using the bootadm command, see x86: Adding Kernel Arguments by Editing the GRUB Menu at Boot Time.
The following procedures are provided in this section:
The boot PROM is used to boot a SPARC based system and to modify boot parameters. For example, you might want to reset the device from which to boot, change the default boot file or kernel, or run hardware diagnostics before bringing the system to a multiuser state.
If you need to perform any of the following tasks, you need to change the default boot device:
Add a new drive to the system either permanently or temporarily
Change the network boot strategy
Temporarily boot a stand-alone system from the network
# init 0
You might need to identify the devices on a system to determine the appropriate devices from which to boot.
Before You Begin
Before you can safely use the probe commands to determine what devices are attached to the system, you need to do the following:
Change the PROM auto-boot? value to false.
ok setenv auto-boot? false
Issue the reset-all command to clear system registers.
You can view the probe commands that are available on your system by using the sifting probe command:
ok sifting probe
If you run the probe commands without clearing the system registers, the following message is displayed:
ok probe-scsi This command may hang the system if a Stop-A or halt command has been executed. Please type reset-all to reset the system before executing this command. Do you wish to continue? (y/n) n
ok setenv auto-boot? true auto-boot? = true
Example 4-1 SPARC: Identifying the Devices on a System
The following example shows how to identify the devices connected to a system.
ok setenv auto-boot? false auto-boot? = false ok reset-all SC Alert: Host System has Reset Sun Fire T200, No Keyboard . . . Ethernet address 0:14:4f:1d:e8:da, Host ID: 841de8da. ok probe-ide Device 0 ( Primary Master ) Removable ATAPI Model: MATSHITACD-RW CW-8124 Device 1 ( Primary Slave ) Not Present Device 2 ( Secondary Master ) Not Present Device 3 ( Secondary Slave ) Not Present ok setenv auto-boot? true auto-boot? = true
Alternatively, you can use the devalias command to identify the device aliases and the associated paths of devices that might be connected to the system. For example:
ok devalias ttya /pci@7c0/pci@0/pci@1/pci@0/isa@2/serial@0,3f8 nvram /virtual-devices/nvram@3 net3 /pci@7c0/pci@0/pci@2/network@0,1 net2 /pci@7c0/pci@0/pci@2/network@0 net1 /pci@780/pci@0/pci@1/network@0,1 net0 /pci@780/pci@0/pci@1/network@0 net /pci@780/pci@0/pci@1/network@0 ide /pci@7c0/pci@0/pci@1/pci@0/ide@8 cdrom /pci@7c0/pci@0/pci@1/pci@0/ide@8/cdrom@0,0:f disk3 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@3 disk2 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@2 disk1 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@1 disk0 /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 disk /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0 scsi /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2 virtual-console /virtual-devices/console@1 name aliases
# init 0
ok printenv boot-device
Identifies the value for setting the device from which to boot.
For more information, see the printenv(1B) man page.
The default boot-device is displayed in a format that is similar to the following:
boot-device = /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
If the boot-device value specifies a network boot device, the output is similar to the following:
boot-device = /sbus@1f,0/SUNW,fas@e,8800000/sd@a,0:a \ /sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a disk net
Before You Begin
You might need to identify the devices on the system before you can change the default boot device to some other device. For information about identifying devices on the system, see SPARC: How to Identify Devices on a System.
# init 0
ok setenv boot-device device[n]
Identifies the boot-device value, such as disk or network. The n can be specified as a disk number. Use one of the probe commands if you need help identifying the disk number.
ok printenv boot-device
The new boot-device value is written to the PROM.
Example 4-2 SPARC: Changing the Default Boot Device by Using the Boot PROM
In this example, the default boot device is set to disk.
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device /pci@1f,4000/scsi@3/disk@1,0 boot-device = /pci@1f,4000/scsi@3/disk@1,0 ok printenv boot-device boot-device /pci@1f,4000/scsi@3/disk@1,0 ok boot Resetting ... screen not found. Can't open input device. Keyboard not present. Using ttya for input and output. . . . Rebooting with command: boot disk1 Boot device: /pci@1f,4000/scsi@3/disk@1,0 File and args:
In this example, the default boot device is set to the network.
# init 0 # INIT: New run level: 0 . . . The system is down. syncing file systems... done Program terminated ok setenv boot-device net boot-device = net ok printenv boot-device boot-device net disk ok reset . . . Boot device: net File and args: pluto console login:
You can display and modify the value of parameters in the EEPROM by using the eeprom command. You do not need any special privileges to display EEPROM parameters. However, to modify these parameters, you must become an administrator or assume the root role. See How to Use Your Assigned Administrative Rights in Oracle Solaris 11.1 Administration: Security Services.
EEPROM parameters vary by platform. For example, boot-device is a parameter on SPARC platforms, but not on x86 platforms. To view the available EEPROM parameters for your system type, use the eeprom command with no arguments.
For example, the following is output of the eeprom command on 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 shows the output of the eeprom command on SPARC based system:
$ eeprom ttya-rts-dtr-off=false ttya-ignore-cd=true keyboard-layout: data not available. reboot-command: data not available. security-mode=none security-password: data not available. security-#badlogins=0 verbosity=min pci-mem64?=false diag-switch?=false local-mac-address?=true fcode-debug?=false scsi-initiator-id=7 oem-logo: data not available. oem-logo?=false oem-banner: data not available. oem-banner?=false ansi-terminal?=true screen-#columns=80 screen-#rows=34 ttya-mode=9600,8,n,1,- output-device=virtual-console input-device=virtual-console auto-boot-on-error?=false load-base=16384 auto-boot?=true network-boot-arguments: data not available. boot-command=boot boot-file: data not available. boot-device=/pci@780/pci@0/pci@9/scsi@0/disk@0,0:a disk net multipath-boot?=false boot-device-index=0 use-nvramrc?=false nvramrc: data not available. error-reset-recovery=boot
When comparing the two examples, you can see that there are several additional parameters on a SPARC based system, as well as some SPARC parameters that are not available on an x86 based system.
Display a specific boot attribute's value, as follows:
$ eeprom attribute
$ eeprom auto-boot? auto-boot?=true
Set a specific EEPROM value by using the eeprom command, as follows:
# eeprom attribute=new-value
For example, to set the auto-boot parameter to false, you would type:
# eeprom auto-boot?=false
Display the changed value, as follows:
# eeprom auto-boot? auto-boot?=false
You can set kernel boot arguments by specifying a value for the boot-args parameter. For example, type the following command to specify that the system boot the kernel debugger:
# eeprom boot-args=-k
Switch the Oracle Solaris console setting to graphic mode, as follows:
# eeprom console=graphics
Note the following additional information about how EEPROM properties are set and stored on x86 platforms:
On x86 platforms, the setting of EEPROM properties is simulated by storing the properties in the /boot/solaris/bootenv.rc file, as well as by manipulating the GRUB menu to simulate the effect of setting certain EEPROM properties.
Setting the boot-args or boot-file properties causes a special GRUB menu entry to be created and manipulated, as this is the only way to simulate the effect on x86 platforms. The title of the special GRUB menu entry is Solaris bootenv rc. This special entry is marked as the default entry when it is created.
Properties that are set by using the eeprom command can be overridden by setting their property names to different values on the kernel command line, for instance, by editing the GRUB menu at boot time. One example would be to set the console property to graphics by using the eeprom command, then by adding B console=text to the kernel command line at boot time. In this case, the console type is set to text, even though the bootenv.rc file specifies a value of graphics.
For more detailed information, see the eeprom(1M) man page.
The following procedure describes how to set the default boot device on a SPARC based system. On x86 platforms, the boot device is set through the setup utility for your firmware type, for example, UEFI Boot Manager.
Note - On x86 platforms, the boot device is set through the setup utility for your firmware type, for example, UEFI Boot Manager.
# eeprom boot-device new-boot-device
# eeprom boot-device
The output should display the new eeprom value for the boot-device attribute.
During the shutdown process, if the console=graphics option was used to boot the system, and the shutdown is triggered by the Xorg server, a progress status indicator is displayed. To prevent the progress status indicator from displaying, set the new splash-shutdown property of the svc:/system/boot-config SMF service to false, as follows:
# svccfg -s svc:/system/boot-config:default setprop config/splash_shutdown = false # svcadm refresh svc:/system/boot-config:default