<chapter id="flash-240"><title>Solaris Flash (Planning)</title><highlights><para>This chapter provides information necessary for planning a Solaris Flash installation
in your environment.</para>
</highlights><sect1 id="flashoverview-1"><title>Planning Your Solaris Flash Installation</title><para>Before you create and install a Solaris Flash archive,
you must make some decisions about how you want to install the Solaris OS
on your systems. The first time that you install a system, you install with
a full archive that is an initial installation. After a system has been installed
with an archive, the system can be updated with a differential archive. The
differential archive installs only the differences between two archives. </para><sect2 id="flashplan-16"><title>Designing an Initial Installation of the Master
System</title><para>The first task in the Solaris Flash installation process is to
install a system, the master system, with the configuration that you want
each of the clone systems to have. You can use any of the Solaris installation
methods to install an archive on the master system. The installation can be
a subset or a complete installation of the Solaris OS. After you complete
the installation, you can add or remove software or modify any configuration
files. Some limitations to installing the master system are the following:</para><itemizedlist><listitem><para>The master system and the clone systems must have the same
kernel architectures. For example, you  can only  use an archive that was
created from a master system that has a <literal>sun4u</literal> architecture
 to install clones with a <literal>sun4u</literal> architecture. </para>
</listitem><listitem><para>You must install the master system with the exact configuration
that you want on each of the clone systems. The decisions that you make when
you design the installation of the master system depend on the following:</para><itemizedlist><listitem><para>The software that you want to install on the clone systems</para>
</listitem><listitem><para>Peripheral devices that are connected to the master system
and the clone systems</para>
</listitem><listitem><para>The architecture of the master system and the clone systems</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist><note><para>If you already have installed clone systems and want to update
these systems with a new configuration, see <olink targetptr="flashoverview-47" remap="internal">Planning
to Create the Solaris Flash Differential Archive for an Update</olink>.</para>
</note><sect3 id="flash-25"><title>Customizing the Solaris Installation on the Master
System</title><para>After you install the Solaris OS on the master system by using
any of the Solaris installation methods, you can add or delete software and
modify system configuration information as necessary. To customize the master
system's software, you can do the following:</para><itemizedlist><listitem><para>Delete software. You can remove software that you determine
is not necessary to install on the clone systems. To see a list of software
that is installed on the master system, use the Product Registry. For detailed
instructions, refer to <olink targetdoc="sysadv1" remap="external"><citetitle remap="book">System Administration Guide: Basic Administration</citetitle></olink>.</para>
</listitem><listitem><para>Add software. You can install software that is included in
the Solaris release. You can also add software that is not delivered as part
of the Solaris OS. All of the software that you install on the master system
is included in the Solaris Flash archive and is installed on the clone
systems.</para>
</listitem><listitem><para>Modify configuration files. You can alter configuration files
on the master system.  For example, you can modify the <filename>/etc/inet/inetd.conf</filename> file to restrict the daemons that the system runs. All of the
modifications that you make are saved as part of the Solaris Flash archive
and are installed on the clone systems.</para>
</listitem><listitem><para>Further customization can be done when creating the archive.
For example, you can exclude large data files that you might not want in the
archive. For an overview, see <olink targetptr="flashoverview-35" remap="internal">Customizing
an Archive's Files and Directories</olink>.</para>
</listitem>
</itemizedlist>
</sect3><sect3 id="flash-26"><title>Creating Archives for SPARC and x86 Systems</title><para>If you want to install Solaris software
by using a Solaris Flash archive on both SPARC and x86 systems, you must
create a separate Solaris Flash archive for each platform. Use the Solaris Flash archive
that was created from the SPARC master system to install SPARC systems. Use
the Solaris Flash archive that was created from the x86 master system
to install x86 systems.</para>
</sect3><sect3 id="flash-27" arch="sparc"><title>Supporting Peripheral Devices Not
Found on the Master System</title><para>Choosing the drivers to install on the master system has the following
dependencies.</para><itemizedlist><listitem><para>The type of peripheral devices attached to both the master
system and the clone system. </para>
</listitem><listitem><para>The type of software group installed. </para>
</listitem>
</itemizedlist><para>The Entire Plus OEM Software Group installs all drivers regardless of
the hardware that is present on the system. Other software groups provide
limited support. If you install another software group and the clone systems
have different peripheral devices than the master system, you need to install
the appropriate drivers on the master system before you create the archive.</para><sect4 id="etfbm"><title>How to Get the Support for Peripherals That You Need</title><para>You can install support for peripherals on clone systems that are different
from the master system in by installing the Entire Plus OEM Software Group
or installing selected packages.</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="0"><colspec colwidth="16.59*"/><colspec colwidth="83.41*"/><thead><row rowsep="1"><entry><para>Type of Installation</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Install the Entire Plus OEM Software Group</para>
</entry><entry><para>The Entire Plus OEM Software Group is the largest Software Group available.
This  group  contains every package that is found in the Solaris OS. The Entire
Plus OEM Software Group installs all drivers regardless of the hardware that
is present on the system. A Solaris Flash archive that is created with
the Entire Plus OEM Software Group works on any clone system that has peripheral
devices supported by the installed release of the Solaris OS.</para><para>Installing master systems with the Entire Plus OEM Software Group guarantees
compatibility with other peripheral configurations. However, the Entire Plus
OEM Software Group requires at least 2.9 Gbytes of disk space.  The clone
systems might not have the space that is required to install the Entire Plus
OEM Software Group.</para>
</entry>
</row><row><entry><para>Install other software groups</para>
</entry><entry><para>If you install the master system with the following software groups,
you are limiting the support for peripherals. The master system supports only
the peripheral devices that are attached to the master system at the time
of installation. </para><itemizedlist><listitem><para>Reduced Networking Software Group</para>
</listitem><listitem><para>Core Software Group</para>
</listitem><listitem><para>End User Software Group</para>
</listitem><listitem><para>Developer Software Group</para>
</listitem><listitem><para>Entire Software Group</para>
</listitem>
</itemizedlist><para>Installing these software groups could result in your clone systems
failing to have all the drivers needed. For example, if you install the Entire
Software Group on a master system that has a GX CG6 frame buffer, only the
GX CG6 frame buffer driver is installed. This situation is not a problem if
all the clone systems that you want to install have the GX CG6 frame buffer
or no frame buffer.</para>
</entry>
</row><row><entry><para>Install selected packages</para>
</entry><entry><para>When you install the master system, you can install only the packages
that you need for the master system and the clone systems. By selecting specific
packages, you can install only support for the peripherals that you know exist
on the master system or clone systems.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>
</sect3>
</sect2><sect2 id="flash-30"><title>Planning the Creation of a Solaris Flash Archive</title><para>You can create an archive from the master system for an initial installation.
Or, if you have already installed an archive on clone systems, you can create
a differential archive from two system images. The differential archive installs
only the differences between the two images. </para><sect3 id="flashoverview-46"><title>Planning to Create the Solaris Flash Archive
for an Initial Installation</title><para>After you install the master system, the
next task in the Solaris Flash installation process is to create a Solaris Flash archive.
Files on the master system are copied to a Solaris Flash archive along
with various pieces of identification information. You can create a Solaris Flash archive
while the master system is running in multiuser mode or single-user mode.
You can also create a Solaris Flash archive after you boot from one of
the following:</para><itemizedlist><listitem><para>Solaris Operating System DVD</para>
</listitem><listitem><para>Solaris Software - 1  CD</para>
</listitem><listitem><para>An image of the Solaris Software CDs and the Solaris Languages CDs</para>
</listitem>
</itemizedlist><caution><para>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 partitioning technology. If you create a Solaris Flash
archive, the resulting  archive is not installed properly when the archive
is deployed under these conditions:</para><itemizedlist><listitem><para>The archive is created in a non-global zone</para>
</listitem><listitem><para>The archive is created in a global zone that has non-global
zones installed</para>
</listitem>
</itemizedlist>
</caution><sect4><title>Creating Solaris Flash Archives With RAID-1 Volumes</title><para>You can create a Solaris Flash archive when you have aSolaris Volume Manager RAID-1
volumes configured.  The Solaris Flash creation software removes all
RAID-1 volume information from the archive to keep the integrity of the clone
system.  With custom JumpStart you can rebuild the RAID-1 volumes by using
a JumpStart profile.  With Solaris Live Upgrade, you create a boot environment
with RAID-1 volumes configured and install the archive.  The Solaris installation
program cannot be used to install RAID-1 volumes with a Solaris Flash archive.</para><itemizedlist><listitem><para>For examples of RAID-1 volumes in JumpStart profiles, see <olink targetdoc="solinstalladv" targetptr="preparecustom-45277" remap="external"><citetitle remap="section">Profile Examples</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Custom JumpStart and Advanced Installations</citetitle></olink>.</para>
</listitem><listitem><para>For examples of Solaris Live Upgrade boot environments configured
with RAID-1 volumes, see <olink targetdoc="solinstallupg" targetptr="chapter-33" remap="external"><citetitle remap="section">Creating a New Boot Environment</citetitle> in <citetitle remap="book">Solaris Express Installation Guide:  Solaris Live Upgrade and Upgrade Planning</citetitle></olink>.</para>
</listitem>
</itemizedlist><note><para>Veritas VxVM stores configuration information in areas not available
to Solaris Flash.  If Veritas VxVm file systems have been configured,
you should not create a Solaris Flash archive.  Also, Solaris install,
including JumpStart and Solaris Live Upgrade do not support rebuilding VxVM
volumes at installation time. Therefore, if you are planning to deploy Veritas
VxVM software using a Solaris Flash archive, the archive must be created
prior to configuring the VxVM file systems.  The clone systems must be then
configured individually after the archive has been applied and the system
rebooted.</para>
</note>
</sect4>
</sect3><sect3 id="gbwbm"><title>Creating
an Archive That Contains Large Files</title><para>The
default copy method that is used when you create a Solaris Flash archive
is the <command>pax</command> utility. The <command>flarcreate</command> command
uses the <command>pax</command> utility to create an archive without size
limitations on individual files. Individual file sizes can be greater than
4 Gbytes. </para>
</sect3><sect3 id="flashoverview-47"><title>Planning to Create the Solaris Flash Differential
Archive for an Update</title><para>If you have a clone system that is already installed with an archive
and want to update it, you can create a differential archive that contains
only the differences between two images, the unchanged master image and an
updated master image. The differences between these two images is the differential
archive. </para><itemizedlist><listitem><para>One image is running on the master system that was the original
software installed on the clone system. This image might need be installed
on the master system if it was saved in a directory for future use.</para>
</listitem><listitem><para>Another image is to be accessed and used for comparison. This
image contains the new additions or deletions that will be installed on the
clone systems. </para>
</listitem>
</itemizedlist><para>After you update a clone system with a differential archive, only the
files that are in the differential archive are changed on the clone system.
Scripts can be used to customize the archive before or after installation,
which is especially helpful for reconfiguration. </para><para>You can install a Solaris Flash differential archive with the custom
JumpStart installation method. Or, you can use Solaris Live Upgrade to install
a differential archive on an inactive boot environment. </para><para>An unchanged master image should be saved after the initial installation
so this image can be accessed by any of the following methods.</para><itemizedlist><listitem><para>A Solaris Live Upgrade boot environment, mounted on some directory
that uses the <command>lumount</command> command. For a description of a Solaris
Live Upgrade boot environment, see <olink targetdoc="solinstallupg" targetptr="luoverview-1" remap="external">Chapter 2, <citetitle remap="chapter">Solaris Live Upgrade (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide:  Solaris Live Upgrade and Upgrade Planning</citetitle></olink>.</para>
</listitem><listitem><para>A clone system that is mounted over Network File System (NFS)
with root permissions. </para>
</listitem><listitem><para>A system backup that can be restored with the <command>ufsdump</command> command.</para>
</listitem>
</itemizedlist><para>For step-by-step instructions, see <olink targetptr="flash-420" remap="internal">To Create
a Solaris Flash Differential Archive With an Updated Master Image</olink>.</para>
</sect3><sect3 id="flashoverview-35"><title>Customizing an Archive's Files and Directories</title><para>When you create a Solaris Flash archive, some files and directories
that are to be copied from the master system can be excluded. If you have
excluded a directory, you can also restore specified files or subdirectories
under that directory. For example, you could create an archive that excludes
all files and directories in <filename>/a/aa/bb/c</filename>. The  content
of the <filename>bb</filename> subdirectory could be included. The only content
would  then be in the <filename>bb</filename> subdirectory.</para><caution><para>Use the <command>flarcreate</command> file-exclusion options
with caution. If you exclude some directories, others that you were unaware
of might be left in the archive, such as system configuration files. The system
would then be inconsistent and the installation would not work. Excluding
directories and files is best used with data that can easily be removed without
disrupting the system, such as large data files.</para>
</caution><para>The following table lists the <command>flarcreate</command> command
options that can exclude files and directories and restore files and subdirectories.</para><informaltable frame="topbot"><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="50*"/><colspec colname="colspec0" colwidth="50.00*"/><colspec colwidth="50*"/><thead><row rowsep="1"><entry><para>How Specified?</para>
</entry><entry><para>Options That Exclude</para>
</entry><entry><para>Options That Include</para>
</entry>
</row>
</thead><tbody><row><entry><para>Specify the name of the directory or file</para>
</entry><entry><para><option>x</option> <replaceable>exclude_dir/filename</replaceable></para>
</entry><entry><para><option>y</option> <replaceable>include_dir/filename</replaceable></para>
</entry>
</row><row><entry><para>Use a file that contains a list</para>
</entry><entry><para><option>X</option> <replaceable>list_filename</replaceable></para><para><option>z</option> <replaceable>list_filename</replaceable></para>
</entry><entry><para><option>f</option>  <replaceable>list_filename</replaceable></para><para><option>z</option>  <replaceable>list_filename</replaceable></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><para>For descriptions of these options, see <olink targetptr="flash-tbl-54" remap="internal">Table
5&ndash;7</olink>.</para><para>For examples of customizing an archive, see <olink targetptr="flashcreat-ex-255" remap="internal">Creating a Solaris Flash Archive and Customizing
Files (Examples)</olink>.</para>
</sect3><sect3 id="flashoverview-42"><title>Customizing an Archive With Scripts</title><para>After the software is installed
on the master system, special scripts can be run during creation, installation,
postinstallation and first reboot. These scripts enable you to do the following:</para><itemizedlist><listitem><para>Configure applications on clone systems. You can use a custom
JumpStart script for some uncomplicated configurations. For more complicated
configurations, special configuration-file processing might be necessary on
the master system or before or after installation on the clone system. </para>
</listitem><listitem><para>Protect local customizations on clone systems. Local preinstallation
and postinstallation scripts reside on the clone. These scripts protect local
customizations from being overwritten by the Solaris Flash software.</para>
</listitem><listitem><para>Identify nonclonable, host-dependent data that enables you
to make the archive host independent. Host independence is enabled by modifying
such data or excluding it from the archive. An example of host-dependent data
is a log file.</para>
</listitem><listitem><para>Validate software integrity in the archive during creation.</para>
</listitem><listitem><para>Validate the installation on the clone system.</para>
</listitem>
</itemizedlist><sect4 id="flashoverview-48"><title>Guidelines for Creating a Custom Script</title><para>When creating
scripts other than the reboot script, following these guidelines to assure
the script does not corrupt the OS or otherwise disrupt the system. These
guidelines enable the use of Solaris Live Upgrade, which creates a new boot
environment for installation of the OS. The new boot environment can be installed
with an archive while the current system is running. </para><note><para>These guidelines are not for reboot scripts that are allowed to
run daemons or make other types of modification to the root (<filename>/</filename>)
file system.</para>
</note><itemizedlist><listitem><para>Scripts must not affect the currently running system. The
currently running OS might not be the one running when the Solaris Flash archive
is installed.</para>
</listitem><listitem><para>Scripts must not start or stop any daemon processes.</para>
</listitem><listitem><para>Scripts must not depend on the output of commands such as <command>ps</command>, <command>truss</command>, or <command>uname</command>, which
are dependent on the OS. These commands report information about the currently
running system.</para>
</listitem><listitem><para>Scripts must not send any signals or otherwise affect any
currently running processes.</para>
</listitem><listitem><para>Scripts can use standard UNIX commands that facilitate shell
scripting such as <command>expr</command>, <command>cp</command>, and <command>ls</command>. </para>
</listitem>
</itemizedlist><para>For an overview of Solaris Live Upgrade, see <olink targetdoc="solinstallupg" targetptr="luoverview-1" remap="external">Chapter 2, <citetitle remap="chapter">Solaris Live Upgrade (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide:  Solaris Live Upgrade and Upgrade Planning</citetitle></olink>.</para>
</sect4>
</sect3><sect3 id="flash-31"><title>Solaris Flash Archive Sections</title><para>Solaris Flash archives contain
the following sections. Some sections can be used by you to identify and customize
the archive and view status information on the installation. For a further
description of each section, see <olink targetptr="flashref-1" remap="internal">Chapter&nbsp;5,
Solaris Flash (Reference)</olink>.</para><table frame="topbot" pgwide="1" id="flashref-tbl-73"><title>Flash Archive
Sections</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="50.38*"/><colspec colname="colspec2" colwidth="31.59*"/><colspec colname="colspec1" colwidth="158.47*"/><thead><row rowsep="1"><entry><para>Section Name</para>
</entry><entry><para>Informational Only</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>Archive cookie </para>
</entry><entry><para>X</para>
</entry><entry><para>The first section contains a <filename>cookie</filename> that identifies
the file as a Solaris Flash archive. </para>
</entry>
</row><row><entry><para>Archive identification </para>
</entry><entry><para></para>
</entry><entry><para>The second section contains keywords with values that provide identification
information about the archive. Some identification information is supplied
by the archive software. Other specific identification information can be
added by you with options to the <command>flarcreate</command> command. </para>
</entry>
</row><row><entry><para>User-defined </para>
</entry><entry><para></para>
</entry><entry><para>This section follows the archive identification section. You can define
and insert these sections to customize the archive. The Solaris Flash archive
does not process any sections that you insert. For example, a section could
contain a description of the archive or perhaps a script to check the integrity
of an application.</para>
</entry>
</row><row><entry><para>Manifest </para>
</entry><entry><para>X</para>
</entry><entry><para>This section is produced for a Solaris Flash differential archive
and is used for validating a clone system. The manifest section lists the
files on a system to be retained, added to, or deleted from the clone system.
This section is informational only, lists the files in an internal format,
and cannot be used for scripting.</para>
</entry>
</row><row><entry><para>Predeployment, Postdeployment, Reboot</para>
</entry><entry><para>X</para>
</entry><entry><para>This section contains internal information that the flash software uses
before and after installing an OS image.  Any scripts that you have provided
are included in this section. </para>
</entry>
</row><row><entry><para>Summary </para>
</entry><entry><para></para>
</entry><entry><para>This section contains messages about the archive creation. The section
also records the activities of predeployment and postdeployment scripts. You
can view the success of the installation in this section by writing a script
to send output to this section.</para>
</entry>
</row><row><entry><para>Archive files</para>
</entry><entry><para>X</para>
</entry><entry><para>The archive files section contains the files that have been gathered
from the  master system.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect3><sect3 id="flashoverview-40"><title>When to Create the Archive for an Initial
Installation</title><para>Create the archive when the system is in as static a state as possible.
Create the archive after software is installed on the master system and before
software is configured. </para>
</sect3><sect3 id="flash-32"><title>Where to Store the Solaris Flash Archive</title><para>After you create the Solaris Flash archive, you can save the archive
on the hard disk of the master system or on a tape. After you save the archive,
you can copy this archive to any file system or media that you choose.</para><itemizedlist><listitem><para>Network File System (NFS) server</para>
</listitem><listitem><para>HTTP or HTTPS server</para>
</listitem><listitem><para>FTP server</para>
</listitem><listitem><para>Tape</para>
</listitem><listitem><para>CD, DVD</para>
</listitem><listitem><para>Diskette</para>
</listitem><listitem><para>Local drive of clone system that you want to install</para>
</listitem>
</itemizedlist>
</sect3><sect3 id="flash-33"><title>Compressing the Archive</title><para>When you create the Solaris Flash archive, you can specify
that the archive be saved as a compressed file by using the <command>compress(1)</command> utility.
An archive that is compressed requires less disk storage space and creates
less congestion when you install the archive over a network.</para>
</sect3>
</sect2><sect2 id="flash-34"><title>Planning the Installation of Solaris Flash Archives</title><para>The final task in the Solaris Flash installation process is to
install Solaris Flash archives on clone systems. You can use any of the
Solaris installation methods to install Solaris Flash archives on clone
systems.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="3" colsep="0" rowsep="0"><colspec colwidth="21.80*"/><colspec colwidth="38.53*"/><colspec colwidth="38.67*"/><thead><row rowsep="1"><entry><para>Installation Program</para>
</entry><entry><para>Archives Storable on This Media</para>
</entry><entry><para>For Step-by-Step Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Solaris installation program</para>
</entry><entry><itemizedlist><listitem><para>NFS server</para>
</listitem><listitem><para>HTTP server</para>
</listitem><listitem><para>FTP server</para>
</listitem><listitem><para>Local tape</para>
</listitem><listitem><para>Local device, including DVD or CD</para>
</listitem><listitem><para>Local file</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetptr="flashinstall-101" remap="internal">Installing
a Solaris Flash Archive With the Solaris Installation Program</olink></para>
</entry>
</row><row><entry><para>Custom JumpStart installation program</para>
</entry><entry><itemizedlist><listitem><para>NFS server</para>
</listitem><listitem><para>HTTP or HTTPS server</para>
</listitem><listitem><para>FTP server</para>
</listitem><listitem><para>Local tape</para>
</listitem><listitem><para>Local device, including DVD or CD</para>
</listitem><listitem><para>Local file</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetdoc="solinstalladv" targetptr="flash-46" remap="external"><citetitle remap="section">To Prepare to Install a Solaris Flash Archive With a Custom JumpStart Installation</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Custom JumpStart and Advanced Installations</citetitle></olink></para>
</entry>
</row><row><entry><para>Solaris Live Upgrade</para>
</entry><entry><itemizedlist><listitem><para>NFS server</para>
</listitem><listitem><para>HTTP server</para>
</listitem><listitem><para>FTP server</para>
</listitem><listitem><para>Local tape</para>
</listitem><listitem><para>Local device, including DVD or CD</para>
</listitem><listitem><para>Local file</para>
</listitem>
</itemizedlist>
</entry><entry><para><olink targetdoc="solinstallupg" targetptr="luupgrade-83" remap="external"><citetitle remap="section">Installing Solaris Flash Archives on a Boot Environment</citetitle> in <citetitle remap="book">Solaris Express Installation Guide:  Solaris Live Upgrade and Upgrade Planning</citetitle></olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
</chapter>