To support booting from an Oracle Solaris ZFS on the SPARC platform, two new boot options have been added:
Displays a list of available bootable datasets within a ZFS pool.
The boot -L command is executed from the OBP, not from the command line.
Boots the root file system for the specified ZFS bootable dataset.
If you are booting a system from a ZFS root file system, first use the boot command with the -L option from the OBP to print a list of the available BEs on the system. Then, use the -Z option to boot the specified BE.
For more information, see the boot(1M) man page.
On SPARC based systems, the menu.lst file contains the following two GRUB commands:
title – Provides a title for a boot environment (BE)
bootfs – Specifies the full name of the bootable dataset
To display a list of the bootable datasets within a ZFS pool, choose from the following methods:
Use the lustatus command. This command lists all of the BEs in a given ZFS pool.
Note that the lustatus command can also be used on x86 based systems.
Use the boot -L command. This command displays a list of the available BEs in a given ZFS pool and provides instructions for booting the system.
The following procedure describes how to use the boot -L command to list available BEs on a system. To boot a specified BE after running this command, follow the instructions that are printed on the screen.
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.
Bring the system to the ok PROM prompt.
# init 0 |
List the available BEs in a ZFS pool:
ok boot device-specifier -L |
To boot one of the entries that is displayed, type the number that corresponds to the entry.
Boot the specified BE by following the directions that are printed on the screen.
For instructions, see SPARC: How to Boot From a Specified ZFS Root File System.
# init 0 # svc.startd: The system is coming down. Please wait. svc.startd: 94 system services are now being stopped. svc.startd: The system is down. syncing file systems... done Program terminated ok boot -L . . . Boot device: /pci@1f,0/pci@1/scsi@8/disk@0,0 File and args: -L zfs-file-system Loading: /platformsun4u/bootlst 1.s10s_nbu6wos 2 zfs2BE Select environment to boot: [ 1 - 2 ]: 2 to boot the selected entry, invoke: boot [<root-device] -Z rpool/ROOT/zfs2BE |
For more information, see Chapter 5, Installing and Booting an Oracle Solaris ZFS Root File System, in Oracle Solaris ZFS Administration Guide.
Booting from Oracle Solaris ZFS differs from booting from UFS. When booting from ZFS, a device specifier identifies a storage pool, not a single root file system. A storage pool can contain multiple bootable datasets, or root file systems. Therefore, when booting from ZFS, you must also identify a root file system within the pool that is identified by the boot device as the default. By default, the default boot device is identified by the pool's bootfs property. This procedure shows how to boot the system by specifying a ZFS bootable dataset. See the boot(1M) man page for a complete description of all the boot options that are available.
If the bootfs property was previously set up correctly, for example, if you used the luactivate command to activate a BE, the system boots a ZFS root automatically.
For more information, see zpool(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.
Bring the system to the ok PROM prompt.
# init 0 |
(Optional) To display a list of available BEs, use the boot command with the -L option.
For instructions, see SPARC: How to List Available Bootable Datasets Within a ZFS Root Pool.
To boot a specified entry, type the number of the entry and press Return:
Select environment to boot: [1 - 2]: |
To boot the system, follow the instructions that are printed to the screen:
To boot the selected entry, invoke: boot [<root-device>] -Z rpool/ROOT/dataset
ok boot -Z rpool/ROOT/dataset |
For example:
# boot -Z rpool/ROOT/zfs2BE |
After the system has booted, type the following command to verify the active BE:
# prtconf -vp | grep whoami |
This example shows how to use the boot -Z command to boot a ZFS dataset on a SPARC based system.
# init 0 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. svc.startd: The system is down. syncing file systems... done Program terminated ok boot -Z rpool/ROOT/zfs2BEe Resetting LOM event: =44d+21h38m12s host reset g ... rProcessor Speed = 648 MHz Baud rate is 9600 8 Data bits, 1 stop bits, no parity (configured from lom) Firmware CORE Sun Microsystems, Inc. @(#) core 1.0.12 2002/01/08 13:00 software Power ON Verifying nVRAM...Done Bootmode is 0 [New I2C DIMM address] . . . Environment monitoring: disabled Executng last command: boot -Z rpool/ROOT/zfs2BE Boot device: /pci@1f,0/pci@1/scsi@8/disk@0,0 File and args: -Z rpool/ROOT/zfs2Be zfs-file-system Loading: /platform/SUNW,UltraAX-i2/boot_archive Loading: /platform/sun4u/boot_archive ramdisk-root hsfs-file-system Loading: /platform/SUNW,UltraAX-i2/kernel/sparcv9/unix Loading: /platform/sun4u/kernel/sparcv9/unix . . . Hostname: mallory NIS domainname is boulder.Central.Sun.COM Reading ZFS config: done. Mounting ZFS filesytems: (6/6) mallory console login: |
For information about booting the failsafe archive for a specified ZFS bootable dataset, see How to Boot a SPARC Based System in Failsafe Mode.