Solaris 9 Installation Guide

Custom JumpStart Program and Solaris Live Upgrade Alternate Root (/) Requirements

An alternate root (/) is a copy of the operating environment, not the currently running system. A package to be used by Live Upgrade or the custom JumpStart program must follow these requirements:

The following list explains the requirements for alternate root (/) compliance.

Differences Between $PKG_INSTALL_ROOT and $BASEDIR Overview

$PKG_INSTALL_ROOT is the location of the root (/) file system of the machine to which you are adding the package. This is set to the -R argument to the pkgadd command. For example, if the following command is invoked:


# pkgadd -R /a SUNWvxvm

Then $PKG_INSTALL_ROOT is prepended to /a during the installation of the package.

$BASEDIR points to the relocatable base directory into which relocatable package objects are installed. Only relocatable objects are installed here. Non-relocatable objects (those that have absolute paths in the pkgmap file) are always installed relative to the alternate root (/), but not relative to the $BASEDIR in effect. If a package has no relocatable objects, then the package is said to be an absolute package (or non-relocatable), and $BASEDIR is undefined and not available to package procedure scripts.

For example, suppose a package's pkgmap file has two entries:


1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

And the pkginfo file has a specification for $BASEDIR:


BASEDIR=/opt

If this package is installed with the following command:


# pkgadd -R /a SUNWtest

Then ls is installed in /a/opt/sbin/ls, but ls2 is installed as /a/sbin/ls2.