System Administration Guide: Basic Administration

ProcedureSPARC: How to Boot From a ZFS Root File System

Booting from 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.

Note –

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.

  1. 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.

  2. Bring the system to the ok prompt.

    # init 0
  3. (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.

  4. To boot a specified entry, type the number of the entry and press Return:

    Select environment to boot: [1 - 2]:
  5. 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
  6. After the system has booted, type the following command to verify the active BE:

    # prtconf -vp | grep whoami
    • To display the boot path for the active BE, type:

      # prtconf -vp | grep bootpath
    • Alternately, you can type the following command to determine whether the corrected BE was booted:

      # df -lk

Example 12–6 SPARC: Booting From a ZFS Root File System

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
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
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:

See Also

For information about booting the failsafe archive for a specified ZFS bootable dataset, see How to Boot the Failsafe Archive on a SPARC Based System.