An extension has been made to GRUB to enable kernel$, module$, and $ISADIR usage in the menu.lst file.
The bootadm command installs a default boot entry in the menu.lst file that is similar to the following:
kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/kernel/$ISADIR/unix /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-ROOTFS module$ /platform/i86pc/$ISADIR/boot_archive
The kernel$ and module$ keywords are identical to the kernel and module commands that are used in the GRUB multiboot implementation. The $ISADIR keyword has the added capability to expand to amd64 on 64-bit capable hardware. If the x86 based system is not 64-bit capable, the $ISADIR keyword is a null value (""). In this instance, the system boots the 32-bit kernel.
These changes do not prevent you from booting of a newer Solaris kernel with an older implementation of GRUB. Nor do the changes prevent you from booting of an older Solaris kernel with a newer implementation of GRUB.
GRUB based booting is not available on SPARC based systems.
The following feature enhancements are part of the new diskless boot scheme:
The OS server is now capable of serving multiple Solaris releases simultaneously.
With the new diskless boot scheme, you can perform a pxegrub based network boot , where multiple releases are presented to a client from the GRUB menu.
Vendor-specific options are now specified in the boot archive.
In previous releases, client-specific boot properties, typically defined in the bootenv.rc file, were provided by using vendor-specific options for the DHCP setup. The total length of the information that was required frequently exceeded the limit in the DHCP specification.
With the boot new scheme, this information is part of the boot archive. The PXE/DHCP server is only required to provide the server IP address, the boot file, pxegrub, and possibly a client-specific menu file, through Site Option 150.