In the Solaris Express release, GRUB uses the direct boot implementation. The contents of the menu.lst file varies, depending on the Solaris release you are running, the installation method that is used, and whether you are booting the system from a ZFS root or a UFS root.
GRUB ZFS boot support
For a description of the menu.lst file and an example, see Description of the menu.lst File (ZFS Support).
GRUB UFS boot support
For a description of the menu.lst file and an example, see Description of the menu.lst File (UFS Support).
GRUB hypervisor support
For a description of the menu.lst file and instructions on booting an x86 based system with this implementation of GRUB, see Description of a menu.lst File That Supports Hypervisor Technology.
In this implementation of GRUB, the multiboot module is no longer used.
The following are various examples of a menu.lst file for a boot environment that contains a ZFS boot loader:
Because the miniroot is mounted as the real root file system, the entry for failsafe booting in the menu.lst file does not change to the ZFS bootfs property, even if the failsafe archive is read from a ZFS dataset. The ZFS dataset is not accessed after the boot loader reads the miniroot.
title Solaris 11 s10x_90 X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive title Solaris 11 failsafe findroot (pool_rpool,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe |
title be1 findroot (BE_be1,0,a) bootfs rpool/ROOT/szboot_0508 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe |
The following are examples of a menu.lst file on a system that supports booting from UFS.
title Solaris 10 5/08 s10x_nbu6wos_nightly X86 findroot (pool_rpool,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console-ttyb module /boot/x86.miniroot-safe |
title be1 findroot (BE_be1,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe |
You can run the Solaris OS as a virtualized control domain, with the hypervisor. To run the Solaris release with this support, there must be an entry in menu.lst file that specifies the hypervisor. This entry can either be the default boot menu item, or you can select this entry manually at boot time. After you upgrade your system for the first time to a Solaris release that includes this support, the bootadm command automatically adds a GRUB menu.lst entry for the hypervisor.
The following are menu.lst entries for this GRUB implementation:
title Solaris on xVM kernel$ /boot/$ISADIR/xen.gz module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive |
The kernel$ line specifies a path to xen.gz file, followed by optional hypervisor arguments.
The first module$ line includes the path to UNIX twice, followed by any arguments for the Solaris dom0 kernel.
The second module$ line provides the path to the boot archive.
Note that the path to UNIX in the menu.lst entry for the hypervisor uses i86xpv, not i86pc. The options that are interpreted by the hypervisor are added to end of the kernel$ line, after the xen.gz file information.
If you choose to run the Solaris release as a stand-alone OS, you can continue to use the same GRUB menu entries that you used previously.
For example:
title Solaris Nevada ... X86 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive |
For more information about how to modify GRUB menu.lst entries, see x86: How to Modify Boot Behavior by Editing the menu.lst File.