JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Booting and Shutting Down Oracle Solaris 11.1 Systems     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information


1.  Booting and Shutting Down a System (Overview)

2.  x86: Administering the GRand Unified Bootloader (Tasks)

3.  Shutting Down a System (Tasks)

4.  Booting a System (Tasks)

5.  Booting a System From the Network (Tasks)

SPARC: Booting a System From the Network

SPARC: Network Boot Processes

SPARC: Requirements for Booting a System From the Network

SPARC: Setting Network Boot Arguments in the OpenBoot PROM

SPARC: How to Specify Network Boot Arguments in the OpenBoot PROM

SPARC: Setting Up an NVRAM Alias to Automatically Boot by Using DHCP

SPARC: How to Boot a System From the Network

x86: Booting a System From the Network

x86: Requirements for Booting a System From the Network

x86: Where the GRUB 2 PXE Boot Image Is Installed

x86: Booting Systems With UEFI and BIOS Firmware From the Network

x86: How to Boot a System From the Network

6.  Troubleshooting Booting a System (Tasks)


x86: Booting a System From the Network

The following information is provided in this section:

You might need to boot a system from the network for recovery purposes or to install Oracle Solaris. Any system can boot from the network, if a boot server is available. Any x86 based system whose network adapter firmware supports the Preboot eXecution Environment (PXE) specification can be used to boot Oracle Solaris. GRUB 2 is the PXE Network Bootstrap Program (NBP) that is then used to load the Oracle Solaris kernel and to proceed with the boot process.

To perform a network boot of an x86 based system to install Oracle Solaris or for recovery purposes, a DHCP server that is configured for PXE clients is required. A boot server that provides tftp service is also required.

The DHCP server supplies the information that the client needs to configure its network interface. If you are setting up an AI server, that server can also be the DHCP server. Or, you can set up a separate DHCP server. For more information about DHCP, see Part III, DHCP, in System Administration Guide: IP Services.

x86: Requirements for Booting a System From the Network

Keep the following information in mind when booting an x86 based system from the network:

The DHCP server must be able to respond to the DHCP classes, PXEClient with the following information:

The sequence for performing a PXE boot from the network is as follows:

  1. The firmware is configured to boot from a network interface.

  2. The firmware sends a DHCP request.

  3. The DHCP server replies with the server address and the name of the boot file.

  4. The firmware downloads pxegrub2 (or grub2netx64.efi) by using TFTP and then executes the GRUB 2 image.

  5. The system downloads a GRUB configuration file by using TFTP.

    This file displays the boot menu entries that are available.

  6. After you select a menu entry, the system begins to load Oracle Solaris.

x86: Where the GRUB 2 PXE Boot Image Is Installed

Similar to GRUB Legacy, the GRUB 2 PXE boot image is installed in the root directory of the TFTP server. The name of the boot image depends on how AI was configured. The appropriate DHCP BootFile option contains the name of the PXE boot image. Both BIOS and UEFI firmware types are supported automatically, if the AI image is GRUB 2 based. No special arguments are required.

On an installed Oracle Solaris instance, the PXE boot images for both a BIOS-targeted and UEFI-targeted images are stored in boot/grub, in the root directory of the AI image, for example, /export/auto_install/my_ai_service/boot/grub.

This directory contains the following contents:

bash-4.1$ cd grub/
bash-4.1$ ls
grub_cfg_net i386-pc splash.jpg x86_64-efi
grub2netx64.efi pxegrub2 unicode.pf2 

There are firmware-specific subdirectories for GRUB 2 modules that are in the i386-pc directory for systems with BIOS firmware, and the x64_64-efi directory for 64-bit UEFI systems. However, files in these directories are not used during a network boot (modules are built into the GRUB 2 images and are not transferred over TFTP).

Note - If you are using a DHCP server that is not managed by the installadm command, you will need to configure the server in accordance with how the installadm command normally configures an accessible DHCP server, which is to set up the BootFile based on the client architecture identifier. As an aid to the administrator, the installadm command prints out the client arch boot file paths that should be set for manually configured DHCP servers.

x86: Booting Systems With UEFI and BIOS Firmware From the Network

Bootable network adapters include firmware that complies with the PXE specification. When activated, the PXE firmware performs a DHCP exchange on the network and downloads the BootFile macro that the DHCP server included in the DHCP response from the TFTP server that is also in the DHCP response. For Oracle Solaris, this BootFile macro, pxegrub2 (for systems with BIOS firmware), or grub2netx64.efi (for systems with 64-bit UEFI firmware), is GRUB 2. GRUB then proceeds to download the unix kernel, and the boot archive then loads both into memory. At which point, control is transferred to the Oracle Solaris kernel.

The network boot process on a system with UEFI firmware is very similar to the process on a system with BIOS firmware, with the exception that systems with UEFI firmware make a slightly different DHCP request, which provides the DHCP server with enough information to customize the BootFile macro that is returned for the UEFI system. Systems with UEFI firmware require UEFI boot applications, not BIOS-targeted boot programs, which would otherwise be returned as the BootFile macro from the DHCP server. After the UEFI boot application (GRUB) that is specified in the BootFile macro (grub2netx64.efi or the equivalent) is downloaded to the UEFI client, the boot loader (GRUB) is then executed. As with the BIOS network boot process, GRUB downloads the unix kernel and boot archive from the DHCP-specified TFTP server, then loads both into memory, and finally transfers control to the unix kernel.

x86: How to Boot a System From the Network

Before You Begin

  1. Assume the root role.

    See How to Use Your Assigned Administrative Rights in Oracle Solaris 11.1 Administration: Security Services.

  2. Perform a reboot of the system through the BIOS.
    # reboot -p

    On systems that have the Fast Reboot feature enabled by default, the firmware is bypassed during a reboot unless the -p option is specified. Specifying this option enables a standard (slow reboot) of the, so you can access the system's firmware utility to specify a PXE boot and installation. For more information about Fast Reboot, see Accelerating the Reboot Process.

  3. Instruct the BIOS or UEFI firmware to boot from the network.
    • If your system uses a specific keystroke sequence to boot from the network, type that sequence as soon as the BIOS or UEFI firmware screen is displayed.

      For example, press F12 on a system with BIOS firmware to enter the setup utility.

    • If you need to manually modify the firmware settings to boot from the network, type the keystroke sequence to access the firmware setup utility. Then, modify the boot priority to boot from the network.
  4. When the GRUB menu is displayed, select the network installation image that you want to install, the press Return to boot and install that image.

    The system will proceed to boot and install the selected Oracle Solaris installation image from the network. The installation can take several minutes to complete. For information about performing AI installations, see Part III, Installing Using an Install Server, in Installing Oracle Solaris 11.1 Systems.