This procedure shows how to manually update the menu.lst file with user defined entries that use the findroot command. Typically, these entries are added after an installation or an upgrade. For guidelines on adding user-defined entries that use the findroot command, see x86: Implementation of the findroot Command.
Become superuser or assume an equivalent role.
Create a boot signature file on the root (/) file system or root pool that is booted.
For a ZFS pool, my-pool, create the boot signature file in the /my-pool/boot/grub/bootsign directory.
# touch /my-pool/boot/grub/bootsign/user-sign
For a UFS file system, create the boot signature file in the /boot/grub/bootsign directory of the root file system to be booted.
# touch /boot/grub/bootsign/user-sign
Make sure the file name that you choose for the boot signature is unique. Do not use system generated signature names or user signature names that are duplicated across multiple instances of the Solaris software. Doing so might prevent the system from booting or cause the wrong Solaris instance to boot.
Add a menu entry that contains the findroot command.
Locate the active menu.lst file:
# bootadm list-menu
Using a text editor, edit the active menu.lst file, adding the following entry:
title User Solaris boot entry findroot (user-sign, 3, c) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive
In the preceding example, the 3 represents the 4th fdisk partition (partitions start at 0). The c represents the slice within a Solaris fdisk partition (slices start with a).
Reboot the system.
The new entry appears in the GRUB menu and can be selected to boot the specified Solaris OS instance.