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.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Create a boot signature file on the root (/) file system or root pool that will be 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 Oracle Solaris. Doing so might prevent the system from booting or cause the wrong Oracle 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 to add the following entry:
title User Solaris boot entry findroot (user-sign, 3, c) kernel$ /platform/i86pc/multiboot module /platform/i86pc/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 is displayed in the GRUB menu and can be selected to boot the specified Oracle Solaris OS instance.