|
|||||||||||||||||||||||||||||
1. Solaris Management Tools (Road Map) 2. Working With the Solaris Management Console (Tasks) 3. Working With the Sun Java Web Console (Tasks) 4. Managing User Accounts and Groups (Overview) 5. Managing User Accounts and Groups (Tasks) 6. Managing Client-Server Support (Overview) 7. Managing Diskless Clients (Tasks) 8. Introduction to Shutting Down and Booting a System 9. Shutting Down and Booting a System (Overview) 10. Shutting Down a System (Tasks) 11. Modifying Solaris Boot Behavior (Tasks) 12. Booting a Solaris System (Tasks) 13. Troubleshooting Booting a Solaris System (Tasks) 14. Managing the Solaris Boot Archives (Tasks) 15. x86: GRUB Based Booting (Reference) 16. Managing Services (Overview) 18. Managing Software (Overview) 19. Managing Software With Solaris System Administration Tools (Tasks) 20. Managing Software by Using Package Commands (Tasks) 21. Managing Solaris Patches by Using the patchadd Command (Tasks) |
x86: Solaris Support for the GRUB BootloaderThe following sections contain additional reference information for administering GRUB in the Solaris OS x86: GRUB TerminologyTo thoroughly grasp GRUB concepts, an understanding of the following terms is essential. Note - Some of the terms that are described in this list are not exclusive to GRUB based booting.
x86: Functional Components of GRUBGRUB consists of the following functional components:
You cannot use the dd command to write stage1 and stage2 images to disk. The stage1 image must be able to receive information about the location of the stage2 image that is on the disk. Use the installgrub command, which is the supported method for installing GRUB boot blocks. Naming Conventions That Are Used for Configuring GRUBGRUB uses conventions that are slightly different from previous Solaris releases. Understanding the GRUB device-naming conventions can assist you in correctly specifying drive and partition information when you configure GRUB on your system. The following table describes the GRUB device-naming conventions for this Solaris release. Table 15-1 Conventions for GRUB Devices
Note - All GRUB device names must be enclosed in parentheses. For more information about fdisk partitions, see Guidelines for Creating an fdisk Partition in System Administration Guide: Devices and File Systems. Naming Conventions That Are Used by the findroot CommandStarting with the Solaris 10 10/08 release, the findroot command replaces the root command that was previously used by GRUB. The findroot command provides enhanced capabilities for discovering a targeted disk, regardless of the boot device. The findroot command also supports booting from a ZFS root file system This command replaces the root command that was formerly used by GRUB. The following is a description of the device naming convention that is used by the findroot command for various GRUB implementations:
How Multiple Operating Systems Are Supported by GRUBThis section describes how multiple operating systems that are on the same disk are supported with GRUB. The following is an example of an x86 based system that has the Solaris 10 10/08 OS, the Solaris 9 OS, Linux, and Windows installed on the same disk. Table 15-2 Sample GRUB Menu Configuration
Based on the preceding information, the GRUB menu would look like the following: title Solaris 10 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris 9 OS (pre-GRUB) root (hd0,2,a) chainloader +1 makeactive title Linux root (hd0,1) kernel <from Linux GRUB menu...> initrd <from Linux GRUB menu...> title Windows root (hd0,0) chainloader +1 Note - The Solaris slice must be the active partition. Also, do not indicate makeactive under the Windows menu. Doing so causes the system to boot Windows every time. Note that if Linux has installed GRUB on the master boot block, you cannot access the Solaris boot option. The inability to access the Solaris boot option occurs whether or not you designate it as the active partition. In this case, you can do one of the following:
For information about the Solaris Live Upgrade boot environment, see Solaris Express Installation Guide: Solaris Live Upgrade and Upgrade Planning. x86: Supported GRUB ImplementationsIn the Solaris Express release, GRUB uses the direct boot implementation. The contents of the menu.lst file varies, depending on the Solaris release you are running, the installation method that is used, and whether you are booting the system from a ZFS root or a UFS root.
Note - In this implementation of GRUB, the multiboot module is no longer used. Description of the menu.lst File (ZFS Support)The following are various examples of a menu.lst file for a boot environment that contains a ZFS boot loader: Note - Because the miniroot is mounted as the real root file system, the entry for failsafe booting in the menu.lst file does not change to the ZFS bootfs property, even if the failsafe archive is read from a ZFS dataset. The ZFS dataset is not accessed after the boot loader reads the miniroot. Example 15-1 Default menu.lst File (New Installation or Standard Upgrade)title Solaris 11 s10x_90 X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive title Solaris 11 failsafe findroot (pool_rpool,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe Example 15-2 Default menu.lst File (Solaris Live Upgrade)title be1 findroot (BE_be1,0,a) bootfs rpool/ROOT/szboot_0508 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe Description of the menu.lst File (UFS Support)The following are examples of a menu.lst file on a system that supports booting from UFS. Example 15-3 Default GRUB menu.lst File (New Installation or Standard Upgrade)title Solaris 10 5/08 s10x_nbu6wos_nightly X86 findroot (pool_rpool,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 Example 15-4 Default GRUB menu.lst File (Solaris Live Upgrade)title be1 findroot (BE_be1,0,a) kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/platform/i86pc/kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe Description of a menu.lst File That Supports Hypervisor TechnologyYou can run the Solaris OS as a virtualized control domain, with the hypervisor. To run the Solaris release with this support, there must be an entry in menu.lst file that specifies the hypervisor. This entry can either be the default boot menu item, or you can select this entry manually at boot time. After you upgrade your system for the first time to a Solaris release that includes this support, the bootadm command automatically adds a GRUB menu.lst entry for the hypervisor. The following are menu.lst entries for this GRUB implementation: title Solaris on xVM kernel$ /boot/$ISADIR/xen.gz module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive
Note that the path to UNIX in the menu.lst entry for the hypervisor uses i86xpv, not i86pc. The options that are interpreted by the hypervisor are added to end of the kernel$ line, after the xen.gz file information. If you choose to run the Solaris release as a stand-alone OS, you can continue to use the same GRUB menu entries that you used previously. For example: title Solaris Nevada ... X86 kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS module$ /platform/i86pc/$ISADIR/boot_archive For more information about how to modify GRUB menu.lst entries, see x86: How to Modify Boot Behavior by Editing the menu.lst File. |
||||||||||||||||||||||||||||
|