The multiboot program that previously implemented the kernel side of the
Multiboot Specification is no longer used. The kernel can now now be
directly booted from the GRUB bootloader.
The kernel to boot is specified in /boot/grub/menu.lst. The
entries in this file are automatically converted by install and upgrade
tools using bootadm(1M) to entries compatible with direct boot
semantics. However, the message ID SUNOS-8000-AK indicates that
menu.lst could not be automatically converted and you must edit
this file as specified below. See boot(1M) and
bootadm(1M) for more information on GRUB's menu.lst file
and the direct boot service.
menu.lst changes if you are running Solaris on hardware
The default entries in the menu.lst file for a multiboot
environment typically look like this:
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Nevada snv_53 X86
kernel /platform/i86pc/multiboot [*]
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
kernel /boot/multiboot kernel/unix [-B *] -s [*]
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
The first entry specifies the default kernel to boot via the multiboot
service. The second entry specifies the failsafe miniroot.
The default boot entry above must be changed to work in the direct boot
environment. The lines that begin with the kernel and
module keywords must be modified as follows. Note that the
[*] flag must be preserved if present in the original
menu.lst file and the kernel and module keywords
must each have a $ appended.
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Nevada snv_53 X86
kernel$ /platform/i86pc/kernel/$ISADIR/unix [*]
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------
This will boot 64-bit Solaris on 64-bit capable machines, and 32-bit
Solaris on all other machines. To boot 32-bit Solaris, you must remove
$ISADIR in two places in the first entry: before unix in
the kernel line, and before boot_archive in the module line:
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Nevada snv_53 X86
kernel$ /platform/i86pc/kernel/unix [*]
module$ /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
The failsafe entry must also be changed. The line that begins with the
keyword kernel must be changed as follows. Note that the [-B
*] and [*] flags must be preserved if present in the original
menu.lst file. The failsafe entry should always have a
-s flag.
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
kernel /boot/platform/i86pc/kernel/unix [-B *] -s [*]
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
In addition, if you have added any entries beyond the default, you will
need to manually make equivalent changes.