Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning

Chapter 5 Upgrading With Solaris Live Upgrade (Tasks)

This chapter explains how to use Solaris Live Upgrade to upgrade and activate an inactive boot environment.


Note –

This chapter describes Solaris Live Upgrade for UFS file systems. The usage is the same for the luupgrade and luactivate commands for a ZFS boot environment. For procedures for migrating a UFS file system to a ZFS root pool or creating and installing a ZFS root pool, see Chapter 13, Creating a Boot Environment for ZFS Root Pools.


This chapter contains the following sections:

Task Map: Upgrading a Boot Environment

Table 5–1 Task Map: Upgrading With Solaris Live Upgrade

Task  

Description 

For Instructions 

Either upgrade a boot environment or install a Solaris Flash archive. 

  • Upgrade the inactive boot environment with an OS image.

  • Install a Solaris Flash archive on an inactive boot environment.

Activate an inactive boot environment. 

Makes changes effective and switches the inactive boot environment to active . 

Activating a Boot Environment

(optional) Switch back if a failure occurs when activating. 

Reactivates to the original boot environment if a failure occurs. 

Chapter 6, Failure Recovery: Falling Back to the Original Boot Environment (Tasks)

Upgrading a Boot Environment

Use the luupgrade command to upgrade a boot environment. This section provides the procedure for upgrading an inactive boot environment from files that are located on the following media:

Guidelines for Upgrading

When you upgrade a boot environment with the latest OS, you do not affect the active boot environment. The new files merge with the inactive boot environment critical file systems, but shareable file systems are not changed.

You can upgrade when RAID-1 volumes are installed, or if non-global zones are installed, or you can install a Solaris Flash:

Upgrading a System With Packages or Patches

You can use Solaris Live Upgrade to add patches and packages to a system. Solaris Live Upgrade creates a copy of the currently running system. This new boot environment can be upgraded or you can add packages or patches. When you use Solaris Live Upgrade, the only downtime the system incurs is that of a reboot. You can add patches and packages to a new boot environment with the luupgrade command.


Caution – Caution –

When adding and removing packages or patches, Solaris Live Upgrade requires packages or patches that comply with the SVR4 advanced packaging guidelines. While Sun packages conform to these guidelines, Sun cannot guarantee the conformance of packages from third-party vendors. If a package violates these guidelines, the package can cause the package-addition software to fail or alter the active boot environment during an upgrade.

For more information about packaging requirements, see Appendix B, Additional SVR4 Packaging Requirements (Reference).


Table 5–2 Upgrading a Boot Environment With Packages and Patches

Type of Installation 

Description 

For More Information 

Adding patches to a boot environment.  

Create a new boot environment and use the luupgrade command with the -t option.

To Add Patches to a Network Installation Image on a Boot Environment

Adding packages to a boot environment. 

Use the luupgrade command with the -p option.

To Add Packages to a Network Installation Image on a Boot Environment

ProcedureTo Upgrade a Network Installation Image on a Boot Environment

To upgrade by using this procedure, you must use a DVD or a network installation image. If the installation requires more than one CD, you must use the procedure To Upgrade a Network Installation Image From Multiple CDs.

  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Indicate the boot environment to upgrade and the path to the installation software by typing:


    # luupgrade -u -n BE_name -s os_image_path
    
    -u

    Upgrades a network installation image on a boot environment

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded

    -s os_image_path

    Specifies the path name of a directory that contains a network installation image


Example 5–1 Upgrading a Network Installation Image on a Boot Environment From DVD Media

In this example, the second_disk boot environment is upgraded by using DVD media. The pkgadd command adds the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -u -n second_disk -s /cdrom/cdrom0 


Example 5–2 Upgrading a Network Installation Image on a Boot Environment From a Network Installation Image

In this example, the second_disk boot environment is upgraded. The pkgadd command adds the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -u -n second_disk \ 
-s /net/installmachine/export/Solaris_10/OS_image 

ProcedureTo Upgrade a Network Installation Image From Multiple CDs

Because the network installation image resides on more than one CD, you must use this upgrade procedure. Use the luupgrade command with the -i option to install any additional CDs.

  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Indicate the boot environment to upgrade and the path to the installation software by typing:


    # luupgrade -u -n BE_name -s os_image_path
    
    -u

    Upgrades a network installation image on a boot environment

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded

    -s os_image_path

    Specifies the path name of a directory that contains a network installation image

  4. When the installer is finished with the contents of the first CD, insert the second CD.

  5. This step is identical to the previous step, but the -u option is replaced by the -i option. Also, choose to run the installer on the second CD with menus or with text.

    • This command runs the installer on the second CD with menus.


      # luupgrade -i -n BE_name -s os_image_path
      
    • This command runs the installer on the second CD with text and requires no user interaction.


      # luupgrade -i -n BE_name -s os_image_path -O '-nodisplay -noconsole'
      
    -i

    Installs additional CDs. The software looks for an installation program on the specified medium and runs that program. The installer program is specified with -s.

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded.

    -s os_image_path

    Specifies the path name of a directory that contains an network installation image.

    -O '-nodisplay -noconsole'

    (Optional) Runs the installer on the second CD in text mode and requires no user interaction.

  6. Repeat Step 4 and Step 5 for each CD that you want to install.

    The boot environment is ready to be activated. See Activating a Boot Environment.


Example 5–3 SPARC: Upgrading a Network Installation Image From Multiple CDs

In this example, the second_disk boot environment is upgraded and the installation image is on two CDs: the Solaris Software - 1 and the Solaris Software - 2 CDs. The -u option determines if sufficient space for all the packages is on the CD set. The -O option with the -nodisplay and -noconsole options prevents the character user interface from displaying after the reading of the second CD. If you use these options, you are not prompted to type information.

Note: If you do not use the -O option with the -nodisplay and -noconsole options, the character user interface (CUI) is displayed. Sun no longer recommends using the CUI to do Solaris Live Upgrade tasks.

Install the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu

Insert the Solaris Software - 1 CD and type:


# luupgrade -u -n second_disk -s /cdrom/cdrom0/ 

Insert the Solaris Software - 2 CD and type the following.


# luupgrade -i -n second_disk -s /cdrom/cdrom0 -O '-nodisplay \ 
-noconsole'
Repeat this step for each CD that you need.

Repeat the previous step for each CD that you want to install.


ProcedureTo Add Packages to a Network Installation Image on a Boot Environment

In the following procedure, packages are removed from and added to a new boot environment.


Caution – Caution –

When you are upgrading. adding and removing packages or patches, Solaris Live Upgrade requires packages or patches that comply with the SVR4 advanced packaging guidelines. While Sun packages conform to these guidelines, Sun cannot guarantee the conformance of packages from third-party vendors. If a package violates these guidelines, the package can cause the package-addition software to fail or can alter the active boot environment.

For more information about packaging requirements, see Appendix B, Additional SVR4 Packaging Requirements (Reference).


  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. To remove a package or set of packages from a new boot environment, type:


    #  luupgrade -P -n second_disk package-name
    
    -P

    Indicates to remove the named package or packages from the boot environment

    -n BE_name

    Specifies the name of the boot environment where the package is to be removed

    package-name

    Specifies the names of the packages to be removed. Separate multiple package names with spaces.

  3. To add a package or a set of packages to the new boot environment, type:


    # luupgrade -p -n second_disk -s /path-to-packages package-name
    
    -p

    Indicates to add packages to the boot environment.

    -n BE_name

    Specifies the name of the boot environment where the package is to be added.

    -s path-to-packages

    Specifies the path to a directory that contains the package or packages that are to be added.

    package-name

    Specifies the names of the package or packages to be added. Separate multiple package names with a space.


Example 5–4 Adding packages to a Network Installation Image on a Boot Environment

In this example, packages are removed then added to the second_disk boot environment.


# luupgrade -P -n second_disk SUNWabc SUNWdef SUNWghi
# luupgrade -p -n second_disk -s /net/installmachine/export/packages \
SUNWijk SUNWlmn SUNWpkr

ProcedureTo Add Patches to a Network Installation Image on a Boot Environment

In the following procedure, patches are removed from and added to a new boot environment.


Caution – Caution –

When you are adding and removing packages or patches, Solaris Live Upgrade requires packages or patches that comply with the SVR4 advanced packaging guidelines. While Sun packages conform to these guidelines, Sun cannot guarantee the conformance of packages from third-party vendors. If a package violates these guidelines, the package can cause the package-addition software to fail or can alter the active boot environment.


  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. To remove a patch or set of patches from a new boot environment, type:


    # luupgrade -T -n second_disk patch_name
    
    -T

    Indicates to remove the named patch or patches from the boot environment.

    -n BE_name

    Specifies the name of the boot environment where the patch or patches are to be removed.

    patch-name

    Specifies the names of the patches to be removed. Separate multiple patch names with spaces.

  3. To add a patch or a set of patches to the new boot environment, type the following command.


    # luupgrade -t -n second_disk -s /path-to-patches patch-name
    
    -t

    Indicates to add patches to the boot environment.

    -n BE_name

    Specifies the name of the boot environment where the patch is to be added.

    -s path-to-patches

    Specifies the path to the directory that contains the patches that are to be added.

    patch-name

    Specifies the names of the patch or patches that are to be added. Separate multiple patch names with a space.


Example 5–5 Adding Patches to a Network Installation Image on a Boot Environment

In this example, patches are removed then added to the second_disk boot environment .


# luupgrade -T -n second_disk 222222-01
# luupgrade -t -n second_disk -s /net/installmachine/export/packages \
333333-01 4444444-01

ProcedureTo Obtain Information on Packages Installed on a Boot Environment

The follow procedure checks the integrity of the packages installed on the new boot environment.

  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. To check the integrity of the newly installed packages on the new boot environment, type:


    #  luupgrade -C -n BE_name -O "-v" package-name
    
    -C

    Indicates to run the pkgchk command on the named packages

    -n BE_name

    Specifies the name of the boot environment where the check is to be performed

    -O

    Passes the options directly to the pkgchk command

    package-name

    Specifies the names of the packages to be checked. Separate multiple package names with spaces. If package names are omitted, the check is done on all packages in the specified boot environment.

    -v

    Specifies to run the command in verbose mode


Example 5–6 Checking the Integrity of Packages on a Boot Environment

In this example, the packages SUNWabc, SUNWdef, and SUNWghi are checked to make sure they were installed properly and are not damaged.


# luupgrade -C -n second_disk SUNWabc SUNWdef SUNWghi

Upgrading by Using a JumpStart Profile

You can create a JumpStart profile to use with Solaris Live Upgrade. If you are familiar with the custom JumpStart program, this is the same profile that custom JumpStart uses. The following procedures enable you to create a profile, test the profile, and install by using the luupgrade command with the -j option.


Caution – Caution –

When you install the Solaris OS with a Solaris Flash archive, the archive and the installation media must contain identical OS versions. For example, if the archive is the Solaris 10 operating system and you are using DVD media, then you must use Solaris 10 DVD media to install the archive. If the OS versions do not match, the installation on the target system fails. Identical operating systems are necessary when you use the following keyword or command:


For more information see the following:

ProcedureTo Create a Profile to be Used by Solaris Live Upgrade

This procedure shows you how to create a profile for use with Solaris Live Upgrade. You can use this profile to upgrade an inactive boot environment by using the luupgrade command with the -j option.

For procedures to use this profile, see the following sections:

  1. Use a text editor to create a text file.

    Name the file descriptively. Ensure that the name of the profile reflects how you intend to use the profile to install the Solaris software on a system. For example, you might name this profile upgrade_Solaris_10.

  2. Add profile keywords and values to the profile.

    Only the upgrade keywords in the following tables can be used in a Solaris Live Upgrade profile.

    The following table lists the keywords you can use with the Install_type keyword values of upgrade or flash_install.

    Keywords for an Initial Archive Creation 

    Description 

    Reference 

    (Required) Install_type

    Defines whether to upgrade the existing Solaris environment on a system or install a Solaris Flash archive on the system. Use the following values with this keyword: 

    • upgrade for an upgrade

    • flash_install for a Solaris Flash installation

    • flash_update for a Solaris Flash differential installation

    For a description of all the values for this keyword, see install_type Profile Keyword (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Required for a Solaris Flash archive) archive_location

    Retrieves a Solaris Flash archive from a designated location.  

    For a list of values that can be used with this keyword, see archive_location Keyword in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) cluster (adding or deleting clusters)

    Designates whether a cluster is to be added or deleted from the software group that is to be installed on the system.  

    For a list of values that can be used with this keyword, see cluster Profile Keyword (Adding Software Groups) (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) geo

    Designates the regional locale or locales that you want to install on a system or to add when upgrading a system.  

    For a list of values that can be used with this keyword, see geo Profile Keyword (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) local_customization

    Before you install a Solaris Flash archive on a clone system, you can create custom scripts to preserve local configurations on the clone system. The local_customization keyword designates the directory where you have stored these scripts. The value is the path to the script on the clone system.

    For information about predeployment and postdeployment scripts, see Creating Customization Scripts in Solaris 10 10/08 Installation Guide: Solaris Flash Archives (Creation and Installation).

    (Optional) locale

    Designates the locale packages you want to install or add when upgrading.  

    For a list of values that can be used with this keyword, see locale Profile Keyword (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) package

    Designates whether a package is to be added to or deleted from the software group that is to be installed on the system.  

    For a list of values that can be used with this keyword, see package Profile Keyword (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    The following table lists the keywords you can use with the Install_type keyword value flash_update.

    Keywords for a Differential Archive Creation 

    Description 

    Reference 

    (Required) Install_type

    Defines the installation to install a Solaris Flash archive on the system. The value for a differential archive is flash_update.

    For a description of all the values for this keyword, see install_type Profile Keyword (UFS and ZFS) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Required) archive_location

    Retrieves a Solaris Flash archive from a designated location.  

    For a list of values that can be used with this keyword, see archive_location Keyword in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) forced_deployment

    Forces the installation of a Solaris Flash differential archive onto a clone system that is different than the software expects. If you use forced_deployment, all new files are deleted to bring the clone system to the expected state. If you are not certain that you want files to be deleted, use the default, which protects new files by stopping the installation.

    For more information about this keyword, see forced_deployment Profile Keyword (Installing Solaris Flash Differential Archives) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) local_customization

    Before you install a Solaris Flash archive on a clone system, you can create custom scripts to preserve local configurations on the clone system. The local_customization keyword designates the directory where you have stored these scripts. The value is the path to the script on the clone system.

    For information about predeployment and postdeployment scripts, see Creating Customization Scripts in Solaris 10 10/08 Installation Guide: Solaris Flash Archives (Creation and Installation).

    (Optional) no_content_check

    When installing a clone system with a Solaris Flash differential archive, you can use the no_content_check keyword to ignore file-by-file validation. File-by-file validation ensures that the clone system is a duplicate of the master system. Avoid using this keyword unless you are sure the clone system is a duplicate of the original master system.

    For more information about this keyword, see no_content_check Profile Keyword (Installing Solaris Flash Archives) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    (Optional) no_master_check

    When installing a clone system with a Solaris Flash differential archive, you can use the no_master_check keyword to ignore a check of files. Clone system files are not checked. A check would ensure the clone was built from the original master system. Avoid using this keyword unless you are sure the clone system is a duplicate of the original master system.

    For more information about this keyword, see no_master_check Profile Keyword (Installing Solaris Flash Archives) in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

  3. Save the profile in a directory on the local system.

  4. Ensure that root owns the profile and that the permissions are set to 644.

  5. Test the profile (optional).

    For a procedure to test the profile, see To Test a Profile to Be Used by Solaris Live Upgrade.


Example 5–7 Creating a Solaris Live Upgrade Profile

In this example, a profile provides the upgrade parameters. This profile is to be used to upgrade an inactive boot environment with the Solaris Live Upgrade luupgrade command and the -u and -j options. This profile adds a package and a cluster. A regional locale and additional locales are also added to the profile. If you add locales to the profile, make sure that you have created a boot environment with additional disk space.

# profile keywords         profile values
# ----------------         -------------------
  install_type             upgrade
  package                  SUNWxwman add
  cluster                  SUNWCacc add
  geo                      C_Europe
  locale                   zh_TW
  locale                   zh_TW.BIG5
  locale                   zh_TW.UTF-8
  locale                   zh_HK.UTF-8
  locale                   zh_HK.BIG5HK
  locale                   zh
  locale                   zh_CN.GB18030
  locale                   zh_CN.GBK
  locale                   zh_CN.UTF-8


Example 5–8 Creating a Solaris Live Upgrade Profile to Install a Differential Archive

The following example of a profile is to be used by Solaris Live Upgrade to install a differential archive on a clone system. Only files that are specified by the differential archive are added, deleted, or changed. The Solaris Flash archive is retrieved from an NFS server. Because the image was built by the original master system, the clone system is not checked for a valid system image. This profile is to be used with the Solaris Live Upgrade luupgrade command and the -u and -j options.

# profile keywords         profile values
# ----------------         -------------------
 install_type              flash_update
 archive_location          nfs installserver:/export/solaris/archive/solarisarchive
 no_master_check

To use the luupgrade command to install the differential archive, see To Install a Solaris Flash Archive With a Profile.


ProcedureTo Test a Profile to Be Used by Solaris Live Upgrade

After you create a profile, use the luupgrade command to test the profile. By looking at the installation output that is generated by luupgrade, you can quickly determine if a profile works as you intended.

  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. Test the profile.


    # luupgrade -u -n BE_name -D -s os_image_path -j profile_path
    
    -u

    Upgrades an operating system image on a boot environment.

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded.

    -D

    luupgrade command uses the selected boot environment's disk configuration to test the profile options that are passed with the -j option.

    -s os_image_path

    Specifies the path name of a directory that contains an operating system image. This directory can be on an installation medium, such as a DVD-ROM, CD-ROM, or it can be an NFS or UFS directory.

    -j profile_path

    Path to a profile that is configured for an upgrade. The profile must be in a directory on the local machine.


Example 5–9 Testing a Profile by Using Solaris Live Upgrade

In the following example, the profile is named Flash_profile. The profile is successfully tested on the inactive boot environment that is named second_disk.


# luupgrade -u -n u1b08 -D -s /net/installsvr/export/u1/combined.u1wos \
 -j /var/tmp/flash_profile
Validating the contents of the media /net/installsvr/export/u1/combined.u1wos.
The media is a standard Solaris media.
The media contains an operating system upgrade image.
The media contains Solaris version 10.
Locating upgrade profile template to use.
Locating the operating system upgrade program.
Checking for existence of previously scheduled Live Upgrade requests.
Creating upgrade profile for BE second_disk.
Determining packages to install or upgrade for BE second_disk.
Simulating the operating system upgrade of the BE second_disk.
The operating system upgrade simulation is complete.
INFORMATION: var/sadm/system/data/upgrade_cleanup contains a log of the
upgrade operation.
INFORMATION: var/sadm/system/data/upgrade_cleanup contains a log of
cleanup operations required.
The Solaris upgrade of the boot environment second_disk is complete.

You can now use the profile to upgrade an inactive boot environment.


ProcedureTo Upgrade With a Profile by Using Solaris Live Upgrade

This procedure provides step-by-step instructions for upgrading an OS by using a profile.

If you want to install a Solaris Flash archive by using a profile, see To Install a Solaris Flash Archive With a Profile.

If you added locales to the profile, make sure that you have created a boot environment with additional disk space.


Caution – Caution –

When you install the Solaris OS with a Solaris Flash archive, the archive and the installation media must contain identical OS versions. For example, if the archive is the Solaris 10 operating system and you are using DVD media, then you must use Solaris 10 DVD media to install the archive. If the OS versions do not match, the installation on the target system fails. Identical operating systems are necessary when you use the following keyword or command:


  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Create a profile.

    See To Create a Profile to be Used by Solaris Live Upgrade for a list of upgrade keywords that can be used in a Solaris Live Upgrade profile.

  4. Type:


    # luupgrade -u -n BE_name -s os_image_path -j profile_path
    
    -u

    Upgrades an operating system image on a boot environment.

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded.

    -s os_image_path

    Specifies the path name of a directory that contains an operating system image. This directory can be on an installation medium, such as a DVD-ROM, CD-ROM, or it can be an NFS or UFS directory.

    -j profile_path

    Path to a profile. The profile must be in a directory on the local machine. For information about creating a profile, see To Create a Profile to be Used by Solaris Live Upgrade.


Example 5–10 Upgrading a Boot Environment by Using a Custom JumpStart Profile

In this example, the second_disk boot environment is upgraded by using a profile. The -j option is used to access the profile. The boot environment is then ready to be activated. To create a profile, see To Create a Profile to be Used by Solaris Live Upgrade. The pkgadd command adds the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -u -n second_disk \ 
-s /net/installmachine/export/solarisX/OS_image \ 
-j /var/tmp/profile 

The boot environment is ready to be activated. See Activating a Boot Environment.


Installing Solaris Flash Archives on a Boot Environment

This section provides the procedure for using Solaris Live Upgrade to install Solaris Flash archives. Installing a Solaris Flash archive overwrites all files on the new boot environment except for shared files. Archives are stored on the following media:

Note the following issues with installing and creating a Solaris Flash archive.

Description 

Example 


Caution – Caution –

When you install the Solaris OS with a Solaris Flash archive, the archive and the installation media must contain identical OS versions. If the OS versions do not match, the installation on the target system fails. Identical operating systems are necessary when you use the following keyword or command:

  • archive_location keyword in a profile

  • luupgrade command with -s, -a, -j, and -J options


For example, if the archive is the Solaris 10 operating system and you are using DVD media, then you must use Solaris 10 DVD media to install the archive.  


Caution – Caution –

A Solaris Flash archive cannot be properly created when a non-global zone is installed. The Solaris Flash feature is not compatible with the Solaris Zones feature. If you create a Solaris Flash archive in a non-global zone or create an archive in a global zone that has non-global zones installed, the resulting archive does not install properly when the archive is deployed.


 

Description 

For More Information 

For examples of the correct syntax for paths that are associated with archive storage. 

See archive_location Keyword in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

To use the Solaris Flash installation feature, you install a master system and create the Solaris Flash archive.  

For more information about creating an archive, see Chapter 3, Creating Solaris Flash Archives (Tasks), in Solaris 10 10/08 Installation Guide: Solaris Flash Archives (Creation and Installation).

ProcedureTo Install a Solaris Flash Archive on a Boot Environment

  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Type:


    # luupgrade -f -n BE_name -s os_image_path -a archive
    
    -f

    Indicates to install an operating system from a Solaris Flash archive.

    -n BE_name

    Specifies the name of the boot environment that is to be installed with an archive.

    -s os_image_path

    Specifies the path name of a directory that contains an operating system image. This directory can be on an installation medium, such as a DVD-ROM, CD-ROM, or it can be an NFS or UFS directory.

    -a archive

    Path to the Solaris Flash archive when the archive is available on the local file system. The operating system image versions that are specified with the -s option and the -a option must be identical.


Example 5–11 Installing Solaris Flash Archives on a Boot Environment

In this example, an archive is installed on the second_disk boot environment. The archive is located on the local system. The operating system versions for the -s and -a options are both Solaris 10 10/08 releases. All files are overwritten on second_disk except shareable files. The pkgadd command adds the Solaris Live upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -f -n second_disk \ 
-s /net/installmachine/export/Solaris_10/OS_image \ 
-a /net/server/archive/10 

The boot environment is ready to be activated. See Activating a Boot Environment.


ProcedureTo Install a Solaris Flash Archive With a Profile

This procedure provides the steps to install a Solaris Flash archive or differential archive by using a profile.

If you added locales to the profile, make sure that you have created a boot environment with additional disk space.

  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Create a profile.

    See To Create a Profile to be Used by Solaris Live Upgrade for a list of keywords that can be used in a Solaris Live Upgrade profile.

  4. Type:


    # luupgrade -f -n BE_name -s os_image_path -j profile_path
    
    -f

    Indicates to install an operating system from a Solaris Flash archive.

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded.

    -s os_image_path

    Specifies the path name of a directory that contains an operating system image. This directory can be on an installation medium, such as a DVD-ROM, CD-ROM, or it can be an NFS or UFS directory.

    -j profile_path

    Path to a JumpStart profile that is configured for a flash installation. The profile must be in a directory on the local machine. The -s option's operating system version and the Solaris Flash archive operating system version must be identical.

    The boot environment is ready to be activated. See Activating a Boot Environment.


Example 5–12 Install a Solaris Flash archive on a Boot Environment With a Profile

In this example, a profile provides the location of the archive to be installed.

# profile keywords         profile values
# ----------------         -------------------
 install_type              flash_install
 archive_location          nfs installserver:/export/solaris/flasharchive/solarisarchive
 

After creating the profile, you can run the luupgrade command and install the archive. The -j option is used to access the profile. The pkgadd command adds the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -f -n second_disk \ 
-s /net/installmachine/export/solarisX/OS_image \ 
-j /var/tmp/profile 

The boot environment is then ready to be activated. See Activating a Boot Environment.

To create a profile, see To Create a Profile to be Used by Solaris Live Upgrade.


ProcedureTo Install a Solaris Flash Archive With a Profile Keyword

This procedure enables you to install a Solaris Flash archive and use the archive_location keyword at the command line rather than from a profile file. You can quickly retrieve an archive without the use of a profile file.

  1. Install the Solaris Live Upgrade SUNWlucfg, SUNWlur, and SUNWluu packages on your system. These packages must be from the release you are upgrading to. For step-by-step procedures, see To Install Solaris Live Upgrade With the pkgadd Command.

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

  3. Type:


    # luupgrade -f -n BE_name -s os_image_path -J 'archive_location path-to-profile'
    
    -f

    Specifies to upgrade an operating system from a Solaris Flash archive.

    -n BE_name

    Specifies the name of the boot environment that is to be upgraded.

    -s os_image_path

    Specifies the path name of a directory that contains an operating system image. This directory can be on an installation medium, such as a DVD-ROM, CD-ROM, or it can be an NFS or UFS directory.

    -J 'archive_location path-to-profile'

    Specifies the archive_location profile keyword and the path to the JumpStart profile. The -s option's operating system version and the Solaris Flash archive operating system version must be identical. For the keyword values, see archive_location Keyword in Solaris 10 10/08 Installation Guide: Custom JumpStart and Advanced Installations.

    The boot environment is ready to be activated. See Activating a Boot Environment.


Example 5–13 Installing a Solaris Flash Archive By Using a Profile Keyword

In this example, an archive is installed on the second_disk boot environment. The -J option and the archive_location keywords are used to retrieve the archive. All files are overwritten on second_disk except shareable files. The pkgadd command adds the Solaris Live Upgrade packages from the release you are upgrading to.


# pkgadd -d /server/packages SUNWlucfg SUNWlur SUNWluu
# luupgrade -f -n second_disk \ 
-s /net/installmachine/export/solarisX/OS_image \ 
-J 'archive_location http://example.com/myflash.flar' 

Activating a Boot Environment

Activating a boot environment makes it bootable on the next reboot of the system. You can also switch back quickly to the original boot environment if a failure occurs on booting the newly active boot environment. See Chapter 6, Failure Recovery: Falling Back to the Original Boot Environment (Tasks).

Description 

For More Information 

Use this procedure to activate a boot environment with the luactivate command.


Note –

The first time you activate a boot environment, the luactivate command must be used.


To Activate a Boot Environment

Use this procedure to activate a boot environment and force a synchronization of files.  


Note –

Files are synchronized with the first activation. If you switch boot environments after the first activation, files are not synchronized.


To Activate a Boot Environment and Synchronize Files

x86: Use this procedure to activate a boot environment with the GRUB menu.


Note –

A GRUB menu can facilitate switching from one boot environment to another. A boot environment appears in the GRUB menu after the first activation.


x86: To Activate a Boot Environment With the GRUB Menu

Requirements and Limitations for Activating a Boot Environment

To successfully activate a boot environment, that boot environment must meet the following conditions:

Description 

For More Information 

The boot environment must have a status of “complete.”  

To check status, see Displaying the Status of All Boot Environments

If the boot environment is not the current boot environment, you cannot have mounted the partitions of that boot environment by using the luumount or mount commands.

To view man pages, see lumount(1M) or mount(1M)

The boot environment that you want to activate cannot be involved in a comparison operation.  

For procedures, see Comparing Boot Environments

If you want to reconfigure swap, make this change prior to booting the inactive boot environment. By default, all boot environments share the same swap devices.  

To reconfigure swap, see To Create a Boot Environment and Reconfiguring Swap


x86 only –

If you have an x86 based system, you can also activate with the GRUB menu. Note the following exceptions:

See x86: Activating a Boot Environment With the GRUB Menu.


ProcedureTo Activate a Boot Environment

The following procedure switches a new boot environment to become the currently running boot environment.


x86 only –

If you have an x86 based system, you can also activate with the GRUB menu. Note the following exceptions:

See x86: Activating a Boot Environment With the GRUB Menu.


  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. To activate the boot environment, type:


    # /sbin/luactivate  BE_name
    
    BE_name

    Specifies the name of the boot environment that is to be activated

  3. Reboot.


    # init 6
    

    Caution – Caution –

    Use only the init or shutdown commands to reboot. If you use the reboot, halt, or uadmin commands, the system does not switch boot environments. The last-active boot environment is booted again.



Example 5–14 Activating a Boot Environment

In this example, the second_disk boot environment is activated at the next reboot.


# /sbin/luactivate second_disk
# init 6

ProcedureTo Activate a Boot Environment and Synchronize Files

The first time you boot from a newly created boot environment, Solaris Live Upgrade software synchronizes the new boot environment with the boot environment that was last active. “Synchronize” means that certain critical system files and directories are copied from the last-active boot environment to the boot environment being booted. Solaris Live Upgrade does not perform this synchronization after the initial boot, unless you force synchronization with the luactivate command and the -s option.


x86 only –

When you switch between boot environments with the GRUB menu, files also are not synchronized. You must use the following procedure to synchronize files.


For more information about synchronization, see Synchronizing Files Between Boot Environments.

  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. To activate the boot environment, type:


    # /sbin/luactivate  -s BE_name
    
    -s

    Forces a synchronization of files between the last-active boot environment and the new boot environment. The first time that a boot environment is activated, the files between the boot environment are synchronized With subsequent activations, the files are not synchronized unless you use the -s option.


    Caution – Caution –

    Use this option with great care, because you might not be aware of or in control of changes that might have occurred in the last-active boot environment. For example, if you were running Solaris 10 10/08 software on your current boot environment and booted back to a Solaris 9 release with a forced synchronization, files could be changed on the Solaris 9 release. Because files are dependent on the release of the OS, the boot to the Solaris 9 release could fail because the Solaris 10 10/08 files might not be compatible with the Solaris 9 files.


    BE_name

    Specifies the name of the boot environment that is to be activated.

  3. Reboot.


    # init 6
    

Example 5–15 Activating a Boot Environment

In this example, the second_disk boot environment is activated at the next reboot and the files are synchronized.


# /sbin/luactivate -s second_disk
# init 6

x86: Activating a Boot Environment With the GRUB Menu

A GRUB menu provides an optional method of switching between boot environments. The GRUB menu is an alternative to activating (booting) with the luactivate command. The table below notes cautions and limitations when using the GRUB menu.

Table 5–3 x86: Activating With the GRUB Menu Summary

Task 

Description 

For More Information 

Caution

After you have activated a boot environment, do not change the disk order in the BIOS. Changing the order might cause the GRUB menu to become invalid. If this problem occurs, changing the disk order back to the original state fixes the GRUB menu. 

 

Activating a boot environment for the first time 

The first time you activate a boot environment, you must use the luactivate command. The next time you boot, that boot environment's name is displayed in the GRUB main menu. You can thereafter switch to this boot environment by selecting the appropriate entry in the GRUB menu.

To Activate a Boot Environment

Synchronizing files 

The first time you activate a boot environment, files are synchronized between the current boot environment and the new boot environment. With subsequent activations, files are not synchronized. When you switch between boot environments with the GRUB menu, files also are not synchronized. You can force a synchronization when using the luactivate command with the -s option.

To Activate a Boot Environment and Synchronize Files

Boot environments created before the Solaris 10 1/06 release

If a boot environment was created with the Solaris 8, 9, or 10 3/05 release, the boot environment must always be activated with the luactivate command. These older boot environments do not display on the GRUB menu.

To Activate a Boot Environment

Editing or customizing the GRUB menu entries 

The menu.lst file contains the information that is displayed in the GRUB menu. You can revise this file for the following reasons:

  • To add to the GRUB menu entries for operating systems other than the Solaris OS.

  • To customize booting behavior. For example, you could change booting to verbose mode or change the default time that automatically boots the OS.


Note –

If you want to change the GRUB menu, you need to locate the menu.lst file. For step-by-step instructions, see Chapter 13, Managing the Solaris Boot Archives (Tasks), in System Administration Guide: Basic Administration.



Caution – Caution –

Do not use the GRUB menu.lst file to modify Solaris Live Upgrade entries. Modifications could cause Solaris Live Upgrade to fail. Although you can use the menu.lst file to customize booting behavior, the preferred method for customization is to use the eeprom command. If you use the menu.lst file to customize, the Solaris OS entries might be modified during a software upgrade. Changes to the file could be lost.


Procedurex86: To Activate a Boot Environment With the GRUB Menu

You can switch between two boot environments with the GRUB menu. Note the following limitations:

  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. Reboot the system.


    # init 6
    

    The GRUB main menu is displayed. The two operating systems are listed, Solaris and second_disk, which is a Solaris Live Upgrade boot environment. The failsafe entries are for recovery, if for some reason the primary OS does not boot.


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris                                                            |
    |Solaris  failsafe                                                  |
    |second_disk                                                        |
    |second_disk failsafe                                               |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  3. To activate a boot environment, use the arrow key to select the desired boot environment and press Return.

    The selected boot environment is booted and becomes the active boot environment.