grub - GRand Unified Bootloader 2 software on Oracle Solaris
The current release of the Oracle Solaris operating system is shipped with the GRUB (GRand Unified Bootloader) 2 software. GRUB is developed and supported by the Free Software Foundation.
The overview for the GRUB Manual, accessible at www.gnu.org, describes GRUB:
Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to an operating system kernel software (such as Linux or GNU Mach). The kernel, in turn, initializes the rest of the operating system (for example, a GNU [Ed. note: or Solaris] system).
GNU GRUB is a very powerful boot loader that can load a wide variety of free as well as proprietary operating systems with chain-loading. GRUB is designed to address the complexity of booting a personal computer; both the program and this manual are tightly bound to that computer platform, although porting to other platforms may be addressed in the future. Note: Oracle has ported GRUB to the Solaris operating system.
One of the important features in GRUB is flexibility; GRUB understands filesystems and kernel executable formats, so you can load an arbitrary operating system the way you like, without recording the physical position of your kernel on the disk. Thus you can load the kernel just by specifying its file name and the drive and partition where the kernel resides.
Among Solaris machines, GRUB is supported on x86 platforms. The GRUB software that is shipped with Solaris adds one utility not present in the open-source distribution:
Enables you to manage the boot archive and make changes to the GRUB menu.
Beyond this Solaris-specific utility, the GRUB software is described in the GRUB manual, a PDF version of which is available from the Oracle web site.
Most administrators will not need to manually execute the GRUB utilities (which can be found in /usr/lib/grub2/bios and /usr/lib/grub2/uefi64 for systems with BIOS firmware and 64-bit UEFI firmware, respectively), as bootadm(1M) provides an interface to modifying the GRUB menu.
Administrators should not manually edit the GRUB configuration file, grub.cfg, which can be found in the /boot/grub subdirectory of the top-level ZFS dataset for the system's root pool (that is, /rpool/boot/grub). This file is automatically regenerated when an administrator changes the boot configuration with bootadm(1M). Advanced administrators who want to directly create GRUB menu entries must edit the supplemental GRUB configuration file named custom.cfg, which is stored in the same directory as the grub.cfg file. Note that on a freshly-installed system, this file will not be present, so the administrator will need to create it.
Previous versions of Solaris have documented the use of the installgrub(1M) command for installing the GRUB boot loader. This command is deprecated and is present ONLY for convenience, disaster recovery, and downgrading back to a Solaris boot environment in which GRUB Legacy is the system boot loader. Please consult the “Booting and Shutting Down Oracle Solaris” documentation for further details.