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.