You might need to modify the menu.lst file for one of the following reasons:
To add new OS entries
To add GRUB console redirection information
Because only the active GRUB menu.lst file is used to boot the system, make sure you edit the correct file. Changing any other GRUB menu.lst file has no effect on the menu that is displayed when you boot the system.
The location of the active menu.lst file varies, depending on whether you have a system with a UFS root or a ZFS root.
For a UFS root, the active menu.lst file is /boot/grub/menu.lst.
You can determine the location of the active GRUB menu.lst file by using the bootadm command with the list-menu subcommand.
# bootadm list-menu
For more information about the bootadm command, see the bootadm(1M) man page.
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.
To add a new OS entry to the active menu.lst file, use a text editor to modify the file.
The comments within the menu.lst file provide you with the necessary information for adding a new OS entry.
The following is an example of a menu.lst file for a system that is running a release with ZFS boot support. Boot entries in the menu.lst file vary, depending on the Oracle Solaris release that you are running.
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris Solaris 10 s10x_nbu6wos_nightly X86 kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive #---------------------END BOOTADM--------------------
Do not directly edit the original contents of the menu.lst file. To make changes to any of the OS entries in the file, manually edit the file to duplicate the existing content. Then, make the modifications to the duplicated content.
Also note when manually adding new entries to the file, never include guard comments, for example, “Added by bootadm”. These comments are reserved for use by the system. Not using these comments ensures that these entries remain intact during a software upgrade.
If you have added any additional entries, beyond the default entries, make any equivalent changes manually.
The [-B *] and [*] flags must be preserved, if these flags exist in the original menu.lst file. Also, the failsafe entry should always have an -s flag.
After adding the required information, save the file.
Note that any changes you make to the file take effect at the next system reboot.
If you are running Linux, and install Oracle Solaris, the Linux entry is not preserved in the GRUB menu when the system is rebooted. Before installing or upgrading your system, save a copy of the menu.lst file that contains the Linux information. After the installation, add the Linux information to the newly created menu.lst file in the Solaris partition.
Because changes you make to the menu.lst file are not directly related to the Oracle Solaris OS, you cannot make them by using the eeprom command. You must edit the file directly. Note that the software upgrade process preserves any changes that you make to the menu.lst file.
GRUB is capable of booting both Linux and Oracle Solaris. However, Linux GRUB is not capable of booting Oracle Solaris.
Always ensure that one of the following conditions are met:
That the fdisk partition is active, that it has GRUB installed, and that the menu.lst file is the active GRUB menu.
That Oracle Solaris GRUB is installed to the Master Boot Record (MBR), and that it refers to the menu.lst in the fdisk partition.
For a detailed description of the GRUB menu.lst that pertains to each Oracle Solaris release, see x86: Supported GRUB Versions.
The following examples show what a menu.lst file looks like on a system that has an Oracle Solaris ZFS boot loader. By default, this system will boot from a ZFS root file system. Note that the contents of the file varies, depending on the installation type.
New installation or standard upgrade:
title Solaris 10 s10x_nbu6wos_nightly X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe
Oracle Solaris Live Upgrade
title be1 findroot (BE_be1,0,a) bootfs rpool/ROOT/szboot_0508 kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-sa
The following examples show what a menu.lst file looks like on a system that has a UFS root file system installed. By default, this system will boot from a UFS root file system.
New installation or standard upgrade:
title Solaris 10 s10x_nbu6wos_nightly X86 findroot (rootfs0,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
Oracle Solaris Live Upgrade:
title be1 findroot (BE_be1,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe