Virtual Ryan
Updating menu.lst for Solaris on Xen
If you were sent here by bfu or upgrade, then bootadm could not automatically process your $ROOT/boot/grub/menu.lst file. You must manually change your menu.lst file, or the machine may be unable to boot.
Background
The port of Solaris to Xen virtualization changes the boot architecture of Solaris on x86 platforms. Formerly, Solaris used grub to boot multiboot, which was then responsible for loading unix. Now, unix can be directly loaded by grub.
menu.lst Changes if you want to run i86pc Solaris (i.e. non-Xen)
grub uses the file /boot/grub/menu.lst to tell what to boot. The default entries formerly looked like:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris Nevada snv_40 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 is the default kernel, the second is failsafe. Additional flags may be present, which are represented above by [*] and [-B *]. These flags should be preserved during the change.
The kernel line must be changed for the default entry. In order to boot 32-bit Solaris, change the non-failsafe entry should be:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris Nevada snv_40 X86 kernel /platform/i86pc/kernel/unix [*] module /platform/i86pc/boot_archive #---------------------END BOOTADM--------------------
By default, bfu does not update the failsafe miniroot, so in most cases the failsafe entry should not be changed. However, if you manually update your failsafe archive, or were sent here by upgrade, you should make the change as shown here:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris failsafe kernel /platform/i86pc/kernel/unix [-B *] -s [*] module /boot/x86.miniroot-safe #---------------------END BOOTADM--------------------
Again, do not make this change if you are upgrading by bfu. Also, the "[-B *]" and "[*]" are not literal, but is representative of additional flags that may be present, and should be preserved if present.
In order to boot 64-bit Solaris, change the non-failsafe entry to:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris Nevada snv_40 X86 kernel /platform/i86pc/kernel/amd64/unix [*] module /platform/i86pc/boot_archive #---------------------END BOOTADM--------------------
Note the insertion of amd64 before unix. If necessary, make a similar change to the failsafe entry:
#---------- ADDED BY BOOTADM - DO NOT EDIT ---------- title Solaris failsafe kernel /platform/i86pc/kernel/amd64/unix -s [*] module /boot/x86.miniroot-safe #---------------------END BOOTADM--------------------
Also, if you have added any entries beyond the default, you will need to manually make the above changes.
menu.lst Changes if you want to run Xen on Solaris
bootadm assumes you will be running Solaris on hardware, not on Xen, and acts appropriately. If you do want to run Xen, you'll need to add an entry similar to the following for 64-bit:
title Solaris on Xen 64-bit kernel /boot/amd64/xen.gz dom0_mem=524288 com1=9600,8n1 console=com1 module /platform/i86xen/kernel/amd64/unix /platform/i86xen/kernel/amd64/unix -k module /platform/i86pc/boot_archive
or this for 32-bit:
title Solaris on Xen 32-bit kernel /boot/xen.gz dom0_mem=524288 com1=9600,8n1 console=com1 module /platform/i86xen/kernel/unix /platform/i86xen/kernel/unix -k module /platform/i86pc/boot_archive
Any questions?
If so, please direct them to the Xen OpenSolaris Discuss list.
Update (January 8, 2007)
The i86pc portion of this entry has been cleaned up and posted at http://www.sun.com/msg/SUNOS-8000-CF.
Posted at 06:23PM Jul 14, 2006 by rscott in Sun | Comments[1]
GOOD
Posted by 61.1.126.75 on November 01, 2007 at 09:59 AM PDT #