<chapter id="preparecustom-56440"><title>Preparing Custom JumpStart Installations
(Tasks)</title><highlights><para>This chapter provides step-by-step instructions about how  to prepare
the systems at your site from which and on which you intend to install the
Solaris software by using the custom JumpStart installation method.</para><itemizedlist><listitem><para><olink targetptr="preparecustom-21142" remap="internal">Task Map: Preparing
Custom JumpStart Installations</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-88630" remap="internal">Creating a Profile
Server for Networked Systems</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-53074" remap="internal">Creating a Profile
Diskette for Standalone Systems</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-56059" remap="internal">Creating the rules
File</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-53442" remap="internal">Creating a Profile</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-25808" remap="internal">Testing a Profile</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-50536" remap="internal">Validating the rules
File</olink></para>
</listitem>
</itemizedlist>
</highlights><sect1 id="preparecustom-21142"><title>Task Map: Preparing Custom JumpStart
Installations</title><table frame="all" pgwide="1" id="preparecustom-tbl-9"><title>Task Map: Preparing
Custom JumpStart Installations</title><tgroup cols="3" colsep="0" rowsep="0"><colspec colname="colspec0" colwidth="33*"/><colspec colname="colspec1" colwidth="33*"/><colspec colname="colspec2" colwidth="33*"/><thead><row rowsep="1"><entry colsep="1" rowsep="1"><para>Task</para>
</entry><entry colsep="1" rowsep="1"><para>Description</para>
</entry><entry colsep="1" rowsep="1"><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry colsep="1" rowsep="1"><para>Decide how to upgrade the system if a previous version of the Solaris
software is installed on the system.</para>
</entry><entry colsep="1" rowsep="1"><para>If a previous release of Solaris is installed on the system, you need
to determine how to upgrade the system. Ensure that you know what to do before
and after you upgrade a system.  Planning helps you to create your profiles,
begin scripts, and finish scripts.</para>
</entry><entry colsep="1" rowsep="1"><para><olink targetdoc="solinstallpbiu" targetptr="emyaq" remap="external"><citetitle remap="section">Upgrade Planning</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink></para>
</entry>
</row><row><entry morerows="1" colsep="1" rowsep="1"><para>Create a JumpStart directory.</para>
</entry><entry colsep="1" rowsep="0"><para><emphasis role="strong">On a server</emphasis></para><para>If you want to perform custom JumpStart installations on systems that
are connected to a network, you must create a profile server. The profile
server  contains a JumpStart directory for the custom JumpStart files. </para>
</entry><entry colsep="1" rowsep="0"><para><olink targetptr="preparecustom-88630" remap="internal">Creating a Profile Server for
Networked Systems</olink></para>
</entry>
</row><row><entry colsep="1" rowsep="1"><para><emphasis role="strong">On a diskette</emphasis></para><para>If you want to perform custom JumpStart installations on systems that
are not connected to a network, you must create a profile diskette. A profile
diskette contains the custom JumpStart files.</para>
</entry><entry colsep="1" rowsep="1"><para><olink targetptr="preparecustom-53074" remap="internal">Creating a Profile Diskette for
Standalone Systems</olink></para>
</entry>
</row><row><entry colsep="1" rowsep="1"><para>Add rules to the <filename>rules</filename> file.  </para>
</entry><entry colsep="1" rowsep="1"><para>After you decide how you want each group of systems or single systems
to be installed, create a rule for each group that you want to install. Each
rule distinguishes a group, based on one or more system attributes. The rule
links each group to a profile. </para>
</entry><entry colsep="1" rowsep="1"><para><olink targetptr="preparecustom-56059" remap="internal">Creating the rules File</olink></para>
</entry>
</row><row><entry colsep="1" rowsep="1"><para>Create a profile for every rule.</para>
</entry><entry colsep="1" rowsep="1"><para>A profile is a text file that defines how to install the Solaris software,
for example, which software group to install on a system. Every rule specifies
a profile to define how a system is to be installed with the Solaris software
when the rule is matched. You usually create a different profile for every
rule. However, the same profile can be used in more than one rule.</para>
</entry><entry colsep="1" rowsep="1"><para><olink targetptr="preparecustom-53442" remap="internal">Creating a Profile</olink></para>
</entry>
</row><row><entry colsep="1" rowsep="1"><para>(Optional) Test the profiles.</para>
</entry><entry colsep="1" rowsep="1"><para>After you create a profile, use the <olink targetdoc="refman1m" targetptr="pfinstall-1m" remap="external"><citerefentry><refentrytitle>pfinstall</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> command to test the profile
before you use the profile to install or upgrade a system.</para>
</entry><entry colsep="1" rowsep="1"><para><olink targetptr="preparecustom-25808" remap="internal">Testing a Profile</olink></para>
</entry>
</row><row><entry colsep="1" rowsep="1"><para>Validate the <filename>rules</filename> file.</para>
</entry><entry colsep="1" rowsep="1"><para>The <filename>rules.ok</filename> file is a generated version of the <filename>rules</filename> file that the JumpStart program uses to match the system
to be installed with a profile. You must use the <command>check</command> script
to validate the <filename>rules</filename> file.</para>
</entry><entry colsep="1" rowsep="1"><para><olink targetptr="preparecustom-50536" remap="internal">Validating the rules File</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1><sect1 id="preparecustom-88630"><title>Creating a Profile Server for Networked
Systems</title><para>When setting up custom JumpStart installations for systems on the network,
you need to create a directory on a server that is called a JumpStart directory.
The JumpStart directory contains all of the essential custom JumpStart files,
for example, the <filename>rules</filename> file, <filename>rules.ok</filename> file,
and profiles. You must save the JumpStart directory in the root (<filename>/</filename>)
directory of the profile server.</para><para>The server that contains a JumpStart directory is called a profile
server. A profile server can be the same system as an install server or a
boot server, or the server can be a completely different server. A profile
server can provide custom JumpStart files for different platforms. For example,
an x86 server can provide custom JumpStart files for both SPARC based systems
and x86 based systems. </para><note><para>After you create a profile server, you must allow systems to access
the server. For detailed instructions, see <olink targetptr="preparecustom-12" remap="internal">To
Allow All Systems Access to the Profile Server</olink>.</para>
</note><task id="preparecustom-29356"><title>To Create a JumpStart Directory on a
Server</title><tasksummary><note><para>This procedure assumes that the system is running removable media services.
If you have questions about removable media services that manage discs, refer
to <olink targetdoc="sagdfs" remap="external"><citetitle remap="book">System Administration Guide: Devices and File Systems</citetitle></olink> for detailed information.</para>
</note>
</tasksummary><procedure><step><para>Locate the server on which you want to create the JumpStart directory.</para>
</step>&suStepA;<step id="preparecustom-step-37"><para>Create the JumpStart directory anywhere
on the server.</para><screen># <userinput>mkdir -m 755 <replaceable>jumpstart_dir_path</replaceable></userinput></screen><para>In the command, <replaceable>jumpstart_dir_path</replaceable> is the
absolute path of the JumpStart directory.</para><para>For example, the following
command creates a directory that is called <filename>jumpstart</filename> in
the root (<filename>/</filename>) directory and sets the permissions to 755:</para><screen># <userinput>mkdir -m 755 /jumpstart</userinput></screen>
</step><step id="preparecustom-step-38a"><para>Use either the <command>sharemgr</command> utility or the <computeroutput>share</computeroutput> command as follows:</para><note><para><emphasis role="strong">Starting with the 5/07 Developer release,</emphasis> the <command>sharemgr</command> utility introduces the concept of share groups. See <olink targetdoc="sysadv4" targetptr="gcrvu" remap="external"><citetitle remap="section">sharemgr Command</citetitle> in <citetitle remap="book">System Administration Guide: Network Services</citetitle></olink>.</para>
</note><itemizedlist><listitem><para>Using the <command>share</command> command, edit the <filename>/etc/dfs/dfstab</filename> file by adding the following entry.</para><para><literal>#</literal> <userinput>share -F nfs -o ro,anon=0 <replaceable>jumpstart_dir_path</replaceable></userinput></para><para>For example, the following entry shares the <filename>/jumpstart</filename> directory:</para><para><literal>#</literal> <userinput>share -F nfs -o ro,anon=0 /jumpstart</userinput></para><para>Then, type <command>shareall</command> and press
Enter.</para>
</listitem><listitem><para>Using the <command>sharemgr</command> utility, enter the following
commands:</para><para><literal>#</literal> <userinput>sharemgr add-share</userinput> <option>s</option> <userinput>/jumpstart default</userinput></para><para><literal>#</literal> <userinput>sharemgr set</userinput> <option>P</option> <replaceable>nfs</replaceable> <option>S</option> <replaceable>sys</replaceable> <option>p</option> <userinput>ro="*"</userinput> <option>s</option> <userinput>/jumpstart default</userinput></para><para><literal>#</literal> <userinput>sharemgr set</userinput> <option>P</option> <replaceable>nfs</replaceable> <option>p</option> <userinput>anon=0</userinput> <option>s</option> <userinput>/jumpstart
default</userinput></para>
</listitem>
</itemizedlist>
</step><step id="preparecustom-step-41"><para>Determine if you want to copy examples
of custom JumpStart files to your JumpStart directory.</para><itemizedlist><listitem><para>If no, go to <olink targetptr="preparecustom-step-10" remap="internal">Step&nbsp;8</olink>.</para>
</listitem><listitem><para>If yes, use the following decision table to determine what
to do next.</para>
</listitem>
</itemizedlist><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="1"><colspec colname="column1" colwidth="132*"/><colspec colname="column2" colwidth="264*"/><thead><row><entry><para>Example Locations</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row rowsep="0"><entry><para>The Solaris Operating System DVD or the Solaris Software - 1 CD for your platform</para>
</entry><entry><para>Insert the Solaris Operating System DVD or the Solaris Software - 1 CD into the server's
CD-ROM drive.</para><para>Removable media services automatically
mounts the CD or DVD.</para>
</entry>
</row><row><entry><para>An image of the Solaris Operating System DVD or the Solaris Software - 1 CD
for your platform on a local disk   </para>
</entry><entry><para>Change directory to the location of the Solaris Operating System DVD or the Solaris Software - 1 image.
For example, type the following command:</para><screen>cd /export/install</screen>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step><step id="preparecustom-step-43"><para>Copy the example custom
JumpStart files into the JumpStart directory on the profile server. </para><screen># <userinput>cp -r <replaceable>media_path</replaceable>/Solaris_11/Misc/jumpstart_sample/* <replaceable>jumpstart_dir_path</replaceable></userinput></screen><variablelist><varlistentry><term><replaceable>media_path</replaceable></term><listitem><para>The path to the CD, DVD, or image on the local disk</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>jumpstart_dir_path</replaceable></term><listitem><para>The path on the profile server where you are placing the example
custom JumpStart files</para>
</listitem>
</varlistentry>
</variablelist><para>For example, the following command copies the <filename>jumpstart_sample</filename> directory
into the <filename>/jumpstart</filename> directory on the profile server:</para><itemizedlist><listitem><para>For SPARC based systems:</para><screen><userinput>cp -r /media/cdrom/s0/Solaris_11/Misc/jumpstart_sample/* /jumpstart</userinput></screen>
</listitem><listitem><para>For x86 based systems:</para><screen><userinput>cp -r /media/cdrom/Solaris_11/Misc/jumpstart_sample/* /jumpstart</userinput></screen>
</listitem>
</itemizedlist>
</step><step id="preparecustom-step-9a"><para>Update the example JumpStart files
so that the files work in your environment.</para>
</step><step id="preparecustom-step-10"><para>Ensure that <literal>root</literal> owns
the JumpStart directory and that the permissions are set to 755.</para>
</step><step id="preparecustom-step-11a"><para>Allow systems on the network to access
the profile server.</para><para>For detailed instructions, see <olink targetptr="preparecustom-12" remap="internal">To Allow All Systems Access to the Profile Server</olink>.</para>
</step>
</procedure>
</task><sect2 id="fxjxq"><title>Allowing All Systems Access to the Profile Server</title><para>When you create a profile server, you must ensure that systems can access
the JumpStart directory on the profile server during a custom JumpStart installation.
Use one of the following ways to ensure access.</para><informaltable frame="topbot" pgwide="100"><tgroup cols="3" colsep="0" rowsep="1"><colspec colname="column1" colwidth="146.37*"/><colspec colname="column2" colwidth="278.68*"/><colspec colname="colspec0" colwidth="234.96*"/><thead><row><entry><para>Command or File</para>
</entry><entry><para>Providing Access</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row rowsep="0"><entry rowsep="1"><para><command>add_install_client</command> command</para>
</entry><entry rowsep="1"><para>Each time that you add a system for network installation, use the <option>c</option> option with the <command>add_install_client</command> command to
specify the profile server. </para><note><para>If you are not using NFS, then you must use another means to provide
access.</para><itemizedlist><listitem><para><emphasis role="strong">For SPARC based systems</emphasis>,
use the <command>boot</command> command</para>
</listitem><listitem><para><emphasis role="strong">For x86 based systems</emphasis>,
edit the GRUB menu</para>
</listitem>
</itemizedlist>
</note>
</entry><entry rowsep="1"><itemizedlist><listitem><para>For DVD media, see <olink targetdoc="solinstallnet" targetptr="netinstalldvd-40778" remap="external"><citetitle remap="section">Adding Systems to Be Installed From the Network With a DVD Image</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Network-Based Installations</citetitle></olink></para>
</listitem><listitem><para>For CD media, see <olink targetdoc="solinstallnet" targetptr="netinstall-40778" remap="external"><citetitle remap="section">Adding Systems to Be Installed From the Network With a CD Image</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Network-Based Installations</citetitle></olink></para>
</listitem>
</itemizedlist>
</entry>
</row><row><entry morerows="1" rowsep="1"><para>Specify the location of the JumpStart directory when you boot the system</para>
</entry><entry rowsep="1"><itemizedlist><listitem><para><emphasis role="strong">For SPARC based systems</emphasis>,
use the <command>boot</command> command to boot the system. Specify the location
of the JumpStart directory on the profile server when you boot the system.
You must compress the custom JumpStart configuration files into one file.
Then, save the compressed configuration file on an HTTP or HTTPS server.</para>
</listitem>
</itemizedlist>
</entry><entry><itemizedlist><listitem><para><olink targetptr="optionalcustom-4" remap="internal">Creating a Compressed
Configuration File</olink></para>
</listitem><listitem><para><olink targetptr="customjump-step-55" remap="internal">Step&nbsp;5</olink> in <olink targetptr="customjump-721" remap="internal">To Perform an Installation or Upgrade With the
Custom JumpStart Program</olink></para>
</listitem>
</itemizedlist>
</entry>
</row><row><entry><itemizedlist><listitem><para><emphasis role="strong">For x86 based systems</emphasis>,
specify the location of the JumpStart directory on the profile server when
you boot the system by editing the boot entry on the GRUB menu.  You must
compress the custom JumpStart configuration files into one file. Then, save
the compressed configuration file on an HTTP or HTTPS server. </para><para>When
you edit the GRUB menu entry, specify the location of the compressed file. </para>
</listitem>
</itemizedlist>
</entry><entry><itemizedlist><listitem><para><olink targetptr="optionalcustom-4" remap="internal">Creating a Compressed
Configuration File</olink></para>
</listitem><listitem><para><olink targetptr="fxbnh" remap="internal">Performing a Custom JumpStart Installation
by Editing the GRUB Boot Command</olink></para>
</listitem>
</itemizedlist>
</entry>
</row><row><entry><para><filename>/etc/bootparams</filename> file </para>
</entry><entry><para>Add a wildcard in the <filename>/etc/bootparams</filename> file. </para>
</entry><entry><para><olink targetptr="preparecustom-12" remap="internal">To Allow All Systems Access to the
Profile Server</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable><task id="preparecustom-12"><title>To Allow All Systems Access to the Profile
Server</title><tasksummary><para>Use the following procedure only if
you store network installation information in the following places: </para><itemizedlist><listitem><para>In the <filename>/etc/bootparams</filename> file.</para>
</listitem><listitem><para>In the naming service <filename>bootparams</filename> database.
To update the <filename>bootparams</filename> database, add the entry that
is  shown in <olink targetptr="preparecustom-step-46" remap="internal">Step&nbsp;3</olink>.</para>
</listitem>
</itemizedlist><para>If you use the following procedure, the systems must be of the same
type, such as all SPARC systems.</para><para>Do not use this procedure under the following conditions:</para><itemizedlist><listitem><para>If you save the JumpStart directory on a diskette.</para>
</listitem><listitem><para>If you specify the location of the profile server when you
boot the system. If you have systems of different architectures, you must
specify the location of the profile server when you boot the system</para>
</listitem>
</itemizedlist><para>If you have the above conditions, use the SPARC <command>boot</command> command
or use the x86 GRUB menu.</para><note><para>You also can store network installation information on a DHCP
server.</para><itemizedlist><listitem><para><emphasis role="strong">For SPARC based systems</emphasis>,
you use the <command>add_install_client</command> command and the <option>d</option> option
to specify that the custom JumpStart program use the DHCP server. Or you use
the <command>boot</command> command with the <command>dhcp</command> option
to specify that the custom JumpStart program use the DHCP server. For instructions
about using this option, see <olink targetptr="customjump-10" remap="internal">Command Reference
for the boot Command</olink>. </para>
</listitem><listitem><para><emphasis role="strong">For x86 based systems</emphasis>,
you use dhcp in one of the following ways:</para><itemizedlist><listitem><para>If you use an install server, use the <command>add_install_client</command> command and the <option>d</option> option to specify that the custom
JumpStart program use the DHCP server with PXE.</para>
</listitem><listitem><para>You can edit the GRUB entry on the GRUB menu and add the dhcp
option. For instructions about editing the GRUB entry, see <olink targetptr="fxbnh" remap="internal">Performing a Custom JumpStart Installation by Editing the
GRUB Boot Command</olink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</note>
</tasksummary><procedure><step id="preparecustom-step-45"><para>On the installation or boot server,
log in as superuser.</para>
</step><step id="preparecustom-step-27a"><para>Use a text editor to open <filename>/etc/bootparams</filename>.</para>
</step><step id="preparecustom-step-46"><para>Add this entry. </para><programlisting role="complete">* install_config=<replaceable>server:jumpstart_dir_path</replaceable></programlisting><variablelist><varlistentry><term>*</term><listitem><para>A wildcard character that specifies that all systems have
access</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>server</replaceable></term><listitem><para>The host name of the profile server where the JumpStart directory
is located</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>jumpstart_dir_path</replaceable></term><listitem><para>The absolute path of the JumpStart directory</para>
</listitem>
</varlistentry>
</variablelist><para>For example, the following entry enables all systems to access the <filename>/jumpstart</filename> directory on the profile server that is named <literal>sherlock</literal>:</para><programlisting role="complete">* install_config=sherlock:/jumpstart</programlisting><caution><para>Use of this procedure might produce the following error message
when an installation client is booted: </para><para><errorname>WARNING: getfile:
RPC failed: error 5: (RPC Timed out).</errorname></para><para><olink targetptr="troubleshooting-2" remap="internal">Booting From the Network, Error Messages</olink> contains
details about this error message.  </para>
</caution><para>All systems can now access the profile server. </para>
</step>
</procedure>
</task>
</sect2>
</sect1><sect1 id="preparecustom-53074"><title>Creating a Profile Diskette for Standalone
Systems</title><para>A
diskette that contains a JumpStart directory is called a profile diskette.
A system that is not connected to the network does not have access to a profile
server.  As a result, you must create a JumpStart directory on a diskette
if a system is not connected to a network. The system on which you create
a profile diskette must have a diskette drive. </para><para>The
JumpStart directory contains all of the essential custom JumpStart files,
for example, the <filename>rules</filename> file, <filename>rules.ok</filename> file,
and profiles. You must save the JumpStart directory in the root (<filename>/</filename>)
directory of the profile diskette.</para><para>See one of the following procedures:</para><itemizedlist><listitem><para><olink targetptr="preparecustom-55190" remap="internal">To Create a Profile
Diskette</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-19234" remap="internal">To Create a Profile
Diskette With GRUB</olink></para>
</listitem>
</itemizedlist><task id="preparecustom-55190" arch="sparc"><title>To Create a Profile Diskette</title><tasksummary><note><para>This procedure assumes that the system
is running removable media services. If you have questions about removable
media services that manage discs, refer to <olink targetdoc="sagdfs" remap="external"><citetitle remap="book">System Administration Guide: Devices and File Systems</citetitle></olink> for
detailed information.</para>
</note>
</tasksummary><procedure><step id="preparecustom-step-22a"><para>Locate a SPARC based system to which
a diskette drive is attached.</para>
</step>&suStepA;<step id="preparecustom-step-23a"><para>Insert a blank diskette or a diskette
that can be overwritten in the diskette drive.</para>
</step><step id="preparecustom-step-24"><para>Mount the diskette. </para><screen># <userinput>volcheck</userinput></screen>
</step><step id="preparecustom-step-25"><para>Determine if the diskette contains
a UNIX file system (UFS).</para><para>Examine
the contents of the file <filename>/etc/mnttab</filename> on the system for
an entry such as the following: </para><screen width="100">/vol/dev/diskette0/scrap  /floppy/scrap  ufs  suid,rw,largefiles,dev=1740008  927147040</screen><itemizedlist><listitem><para>If the entry exists, go to <olink targetptr="preparecustom-step-17" remap="internal">Step&nbsp;7</olink>.</para>
</listitem><listitem><para>If the entry does not exist, go to the next step.</para>
</listitem>
</itemizedlist>
</step><step id="preparecustom-step-27"><para>Create a UFS on the diskette.</para><screen># <userinput>newfs /vol/dev/aliases/floppy0</userinput></screen>
</step><step id="preparecustom-step-17"><para>Determine if you want to copy examples
of custom JumpStart files to your JumpStart directory.</para><itemizedlist><listitem><para>If no, go to <olink targetptr="preparecustom-step-13" remap="internal">Step&nbsp;10</olink>.</para>
</listitem><listitem><para>If yes, use the following decision table to determine what
to do next.</para>
</listitem>
</itemizedlist><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="1"><colspec colname="column1" colwidth="132*"/><colspec colname="column2" colwidth="264*"/><thead><row><entry><para>Example Locations</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row rowsep="0"><entry><para>The Solaris Operating System for SPARC Platforms DVD or the Solaris Software for SPARC Platforms - 1 CD </para>
</entry><entry><para>Insert the Solaris Operating System for SPARC Platforms DVD or the Solaris Software for SPARC Platforms - 1 CD into the
server's CD-ROM drive.</para><para>Removable media services automatically
mounts the CD or DVD.</para>
</entry>
</row><row><entry><para>An image of the Solaris Operating System for SPARC Platforms DVD or the Solaris Software for SPARC Platforms - 1 CD on
a local disk</para>
</entry><entry><para>Change the directory to the location of the Solaris Operating System for SPARC Platforms DVD or the Solaris Software for SPARC Platforms - 1 CD image.
For example, type the following command:</para><screen><userinput>cd /export/install</userinput></screen>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step><step id="preparecustom-step-18"><para>Copy the example custom
JumpStart files into the JumpStart directory on the profile diskette.</para><screen># <userinput>cp -r <replaceable>media_path</replaceable>/Solaris_11/Misc/jumpstart_sample/* <replaceable>jumpstart_dir_path</replaceable></userinput></screen><variablelist><varlistentry><term><replaceable>media_path</replaceable></term><listitem><para>The path to the CD, DVD, or image on the local disk</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>jumpstart_dir_path</replaceable></term><listitem><para>The path to the profile diskette where you want to place the
example custom JumpStart files</para>
</listitem>
</varlistentry>
</variablelist><note><para>You must place all custom JumpStart installation files in the
root (<filename>/</filename>) directory on the diskette.</para>
</note><para>For example, the following command copies the contents of <filename>jumpstart_sample</filename> on the Solaris Software for SPARC Platforms - 1 CD to the root (<filename>/</filename>)
directory on a profile diskette  that is named <filename>scrap</filename>:</para><screen width="100"><userinput>cp -r /media/cdrom/s0/Solaris_11/Misc/jumpstart_sample/* /floppy/scrap</userinput></screen>
</step><step id="preparecustom-step-19a"><para>Update the example JumpStart files
on the profile diskette so that the files work in your environment.</para>
</step><step id="preparecustom-step-13"><para>Ensure that <literal>root</literal> owns
the JumpStart directory and that permissions are set to 755.</para>
</step><step id="preparecustom-step-28a"><para>Eject the diskette.</para><screen># <userinput>eject floppy</userinput></screen><para>You have completed the creation of a profile diskette. You can now update
the <filename>rules</filename> file and create profiles on the profile diskette
to perform custom JumpStart installations. To continue, go to <olink targetptr="preparecustom-56059" remap="internal">Creating the rules File</olink>. </para>
</step>
</procedure>
</task><task id="preparecustom-19234" arch="x86"><title>To Create a Profile Diskette
With GRUB</title><tasksummary><para>Use this procedure
to create a profile diskette with GRUB. A GRUB menu is provided during the
installation procedure that enables the boot process. The GRUB menu replaces
the Solaris Device Configuration Assistant that might have been needed to boot a system in
past releases.</para><note><para>This procedure assumes that the system is running removable media services.
If you have questions about removable media services that manage discs, refer
to <olink targetdoc="sagdfs" remap="external"><citetitle remap="book">System Administration Guide: Devices and File Systems</citetitle></olink> for detailed information.</para>
</note>
</tasksummary><procedure><step id="preparecustom-step-5"><para>Locate an x86 based system to which
a diskette drive is attached.</para>
</step>&suStepA;<step id="preparecustom-step-10a"><para>Insert a blank diskette or a diskette
that can be overwritten into the diskette drive.</para>
</step><step id="preparecustom-step-11"><para>Mount the diskette. </para><screen># <userinput>volcheck</userinput></screen>
</step><step id="preparecustom-step-20"><para>Determine if you want to copy examples
of custom JumpStart files to your JumpStart directory.</para><itemizedlist><listitem><para>If no, go to <olink targetptr="preparecustom-step-21" remap="internal">Step&nbsp;8</olink>.</para>
</listitem><listitem><para>If yes, use the following decision table to determine what
to do next.</para>
</listitem>
</itemizedlist><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="1"><colspec colname="column1" colwidth="132*"/><colspec colname="column2" colwidth="264*"/><thead><row><entry><para>Example Locations</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row rowsep="0"><entry><para>The Solaris Operating System for x86 Platforms DVD or the Solaris Software for x86 Platforms - 1 CD </para>
</entry><entry><para>Insert the Solaris Operating System for x86 Platforms DVD or the Solaris Software for x86 Platforms - 1 CD into the
server's CD-ROM drive.</para><para>Removable media services automatically
mounts the DVD or CD.</para>
</entry>
</row><row><entry><para>An
image of the Solaris Operating System for x86 Platforms DVD or the Solaris Software for x86 Platforms - 1 CD on a local
disk  </para>
</entry><entry><para>Change directory to the location of the Solaris Operating System for x86 Platforms DVD or the Solaris Software for x86 Platforms - 1 CD image.
For example, type the following:</para><screen>cd /export/install</screen>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step><step id="preparecustom-step-21a"><para>Copy the example custom
JumpStart files into the JumpStart directory on the profile diskette.    </para><screen># <userinput>cp -r <replaceable>media_path</replaceable>/Solaris_11/Misc/jumpstart_sample/* <replaceable>jumpstart_dir_path</replaceable></userinput></screen><variablelist><varlistentry><term><replaceable>media_path</replaceable></term><listitem><para>The path to the CD, DVD, or image on the local disk</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>jumpstart_dir_path</replaceable></term><listitem><para>The path to the profile diskette where you want to place the
example custom JumpStart files</para>
</listitem>
</varlistentry>
</variablelist><note><para>You must place all custom JumpStart installation files in the
root (<filename>/</filename>) directory on the profile diskette.</para>
</note><para>For example, the following command copies the contents of <filename>jumpstart_sample</filename> on the Solaris Software for x86 Platforms - 1 CD to the root (<filename>/</filename>)
directory on a profile diskette that is named <filename>scrap</filename>:</para><screen width="100"><userinput>cp -r /media/cdrom/Solaris_11/Misc/jumpstart_sample/* /floppy/scrap</userinput></screen>
</step><step id="preparecustom-step-22b"><para>Update the example JumpStart files
on the profile diskette so that the files work in your environment.</para>
</step><step id="preparecustom-step-21"><para>Ensure that <literal>root</literal> owns
the JumpStart directory and that permissions are set to 755.</para>
</step><step id="preparecustom-step-29"><para>Eject the diskette by clicking Eject
Disk in the File Manager window or by typing <command>eject floppy</command> on
the command line.</para>
</step><step id="preparecustom-step-30"><para>In the Removable Media Manager dialog
box, click OK.</para>
</step><step id="preparecustom-step-31"><para>Manually eject the diskette.</para>
</step>
</procedure><taskrelated role="see-also"><para>You have completed the creation of a profile diskette. Now you can update
the <filename>rules</filename> file and create profiles on the profile diskette
to perform custom JumpStart installations. To continue, go to <olink targetptr="preparecustom-56059" remap="internal">Creating the rules File</olink>. </para>
</taskrelated>
</task>
</sect1><sect1 id="preparecustom-56059"><title>Creating the <filename>rules</filename> File</title><para>The <filename>rules</filename> file is a text file that contains
a rule for each group of systems on which you want to install the Solaris
OS. Each rule distinguishes a group of systems that are based on one or more
system attributes. Each rule also links each group to a profile. A profile
is a text file that defines how the Solaris software is to be installed on
each system in the group. For example, the following rule specifies that the
JumpStart program use the information in the <filename>basic_prof</filename> profile
to install any system with the <literal>sun4u</literal> platform group.  </para><programlisting role="complete">karch sun4u - basic_prof -</programlisting><para>The <filename>rules</filename> file is used to create the <filename>rules.ok</filename> file, which is required for custom JumpStart installations.</para><note><para>If you set up the JumpStart directory by using the procedures
in <olink targetptr="preparecustom-53074" remap="internal">Creating a Profile Diskette for
Standalone Systems</olink> or <olink targetptr="preparecustom-88630" remap="internal">Creating
a Profile Server for Networked Systems</olink>, an example <filename>rules</filename> file
is already located in the JumpStart directory. The sample <filename>rules</filename> file
contains documentation and some example rules. If you use the sample <filename>rules</filename> file, ensure that you comment out the example rules you do not
intend to use.</para>
</note><sect2 id="preparecustom-15667"><title>Syntax of the <filename>rules</filename> File</title><para>The <filename>rules</filename> file
must have the following attributes:</para><itemizedlist><listitem><para>The
file must be assigned the name <filename>rules</filename>.</para>
</listitem><listitem><para>The file must contain at least one rule.</para>
</listitem>
</itemizedlist><para>The <filename>rules</filename> file can contain any of the following:</para><itemizedlist><listitem><para>Commented text</para><para>Any text that is included after the <literal>#</literal> symbol
on a line is treated by JumpStart as commented text. If a line begins with
the <literal>#</literal> symbol, the entire line is treated as a comment.</para>
</listitem><listitem><para>One or more blank lines</para>
</listitem><listitem><para>One or more multiline rules</para><para>To continue a single rule onto a new line, include a
backslash character (\) just before pressing Return.</para>
</listitem>
</itemizedlist>
</sect2><task id="preparecustom-32674"><title>To Create a <filename>rules</filename> File</title><procedure><step id="preparecustom-step-70"><para>Use a text editor to create a text file that is named <filename>rules</filename>. Or, open the sample <filename>rules</filename> file in the JumpStart
directory that you created. </para>
</step><step id="preparecustom-step-71"><para>Add a rule in the <filename>rules</filename> file for each group
of systems on which you want to install the Solaris software. </para><para>For
a list of <filename>rules</filename> file keywords and values, see <olink targetptr="preparecustom-74" remap="internal">Rule Keywords and Values</olink>.</para><para>A rule within a <filename>rules</filename> file
must adhere to the following syntax:  </para><programlisting width="80100" role="complete">!<replaceable>rule_keyword</replaceable> <replaceable>rule_value</replaceable> &amp;&amp; !<replaceable>rule_keyword</replaceable> <replaceable>rule_value</replaceable> ... <replaceable>begin</replaceable>  <replaceable>profile</replaceable>  <replaceable>finish</replaceable></programlisting><variablelist><varlistentry><term><literal>!</literal></term><listitem><para>A symbol that is used before a keyword to
indicate negation.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>rule_keyword</replaceable></term><listitem><para>A predefined lexical unit or word that describes
a general system attribute, such as host name,  <literal>hostname</literal>,
or memory size, <literal>memsize</literal>. <replaceable>rule_keyword</replaceable> is
used with the rule value to match a system with the same attribute to a profile.
For the list of rule keywords, see <olink targetptr="preparecustom-74" remap="internal">Rule
Keywords and Values</olink>.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>rule_value</replaceable></term><listitem><para>A value that
provides the specific system attribute for the corresponding rule keyword.
Rule values are described in <olink targetptr="preparecustom-74" remap="internal">Rule Keywords
and Values</olink>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>&amp;&amp;</literal></term><listitem><para>A symbol
you must use to join rule keyword and rule value pairs in the same rule (a
logical AND). During a custom JumpStart installation, a system must match
every pair in the rule before the rule matches.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>begin</replaceable></term><listitem><para>The name of an optional Bourne shell script that can be executed
before the installation begins. If no begin script exists, you must type a
minus sign (-) in this field. All begin scripts must be located in the JumpStart
directory. </para><para>Information about how to create begin scripts
is presented in <olink targetptr="optionalcustom-59707" remap="internal">Creating Begin Scripts</olink>.</para>
</listitem>
</varlistentry><varlistentry><term><replaceable>profile</replaceable></term><listitem><para>The name of a text file that defines how the Solaris software
is to be installed on the system when a system matches the rule. The information
in a profile consists of profile keywords and their corresponding profile
values. All profiles must be located in the JumpStart directory.</para><note><para>Optional ways
to use the profile field are described in <olink targetptr="optionalcustom-73438" remap="internal">Using a Site-Specific Installation Program</olink> and <olink targetptr="optionalcustom-44541" remap="internal">Creating Derived Profiles With a Begin Script</olink>.</para>
</note>
</listitem>
</varlistentry><varlistentry><term><replaceable>finish</replaceable></term><listitem><para>The name of an optional Bourne shell script that can be executed
after the installation is completed. If no finish script exists, you must
type a minus sign (-) in this field. All finish scripts must be located in
the JumpStart directory. </para><para>Information about how to create finish
scripts is presented in <olink targetptr="optionalcustom-44024" remap="internal">Creating Finish
Scripts</olink>.</para>
</listitem>
</varlistentry>
</variablelist><para>At the minimum, each rule must contain the following:</para><itemizedlist><listitem><para>A keyword, a value, and a corresponding profile</para>
</listitem><listitem><para>A minus sign (-) in the <replaceable>begin</replaceable> and <replaceable>finish</replaceable> fields if no begin or finish scripts are specified</para>
</listitem>
</itemizedlist>
</step><step id="preparecustom-step-4"><para>Save the <filename>rules</filename> file
in the JumpStart directory.</para>
</step><step id="preparecustom-step-14"><para>Ensure that <literal>root</literal> owns
the <filename>rules</filename> file and that the permissions are set to 644.</para>
</step>
</procedure>
</task><sect2 id="preparecustom-88417"><title><filename>rules</filename> File Example</title><para>The following example shows several example rules in a <filename>rules</filename> file.
Each line has a rule keyword and a valid value for that keyword. The JumpStart
program scans the <filename>rules</filename> file from top to bottom. </para><para>When
the JumpStart program matches a rule keyword and value with a known system,
the JumpStart program installs the Solaris software that is specified by the
profile that is listed in the profile field.</para><para>For a complete list of <filename>rules</filename> file limitations,
see <olink targetptr="preparecustom-15667" remap="internal">Syntax of the rules File</olink>.</para><example id="preparecustom-ex-24"><title><filename>rule</filename> File</title><programlisting width="100" role="complete"> # rule keywords and rule values       begin script       profile       finish script
 # -----------------------------       ------------       --------      -------------
  hostname eng-1                       -                  basic_prof    -
  network 192.168.255.255 &amp;&amp; !model \
 'SUNW,Sun-Blade-100'                  -                  net_prof      -
  model SUNW,SPARCstation-LX           -                  lx_prof       complete
  network 192.168.2.0 &amp;&amp; karch i86pc  setup               x86_prof      done
  memsize 64-128 &amp;&amp; arch i386          -                  prog_prof     -
  any   -                              -                  generic_prof  -</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>hostname</literal></term><listitem><para>The rule matches if the system's host name is <literal>eng-1</literal>.
The <literal>basic_prof</literal> profile is used to install the Solaris software
on the system that matches the rule.</para>
</listitem>
</varlistentry><varlistentry><term><literal>network</literal></term><listitem><para>The rule matches if the system is on subnet 192.168.255.255
and if the system is <emphasis>not</emphasis> a <trademark>Sun Blade </trademark> 100
(<literal>SUNW,Sun-Blade-100</literal>). The <literal>net_prof</literal> profile
is used to install the Solaris software on systems that match this rule. This
rule also provides an example of continuing a single rule onto a new line
by using the backslash character (\).</para>
</listitem>
</varlistentry><varlistentry><term><literal>model</literal></term><listitem><para>The rule matches if the system is a SPARCstation LX. The <literal>lx_prof</literal> profile and the <literal>complete</literal> finish script
are used to install the Solaris software on systems that match this rule.</para>
</listitem>
</varlistentry><varlistentry><term><literal>network</literal></term><listitem><para>The rule matches if the system is on subnet 192.168.2.0 and
is an x86 based sun4u system. The <literal>setup</literal> begin script, the <literal>x864u_prof</literal> profile, and the <literal>done</literal> finish script
are used to install the Solaris software on systems that match the rule.</para>
</listitem>
</varlistentry><varlistentry><term><literal>memsize</literal></term><listitem><para>The rule matches if the system has between 64 and 128 Mbytes
of memory and is an x86 based system. The <literal>prog_prof</literal> profile
is used to install the Solaris software on systems that match the rule.</para>
</listitem>
</varlistentry><varlistentry><term><literal>any</literal></term><listitem><para>The rule matches any system that did not match the previous
rules. The <literal>generic_prof</literal> profile is used to install the
Solaris software on systems that match the rule. If <literal>any</literal> is
used, it should always be the last rule in the <filename>rules</filename> file.</para>
</listitem>
</varlistentry>
</variablelist>
</example>
</sect2>
</sect1><sect1 id="preparecustom-53442"><title>Creating a Profile</title><para>A profile is a text file that
defines how to install the Solaris software on a system. A profile defines
elements of the installation, for example, the software group to install.
Every rule specifies a profile that defines how a system is to be installed.
You can create different profiles for every rule or the same profile can be
used in more than one rule.  </para><para>A profile consists of one or more profile keywords
and their values. Each profile keyword is a command that controls one aspect
of how the JumpStart program is to install the Solaris software on a system.
For example, the following profile keyword and value specify that the JumpStart
program install the system as a server:</para><programlisting role="complete">system_type  server</programlisting><note><para>Sample profiles are already located in the JumpStart directory
if you created the JumpStart directory by using either of these procedures:</para><itemizedlist><listitem><para><olink targetptr="preparecustom-88630" remap="internal">Creating a Profile
Server for Networked Systems</olink></para>
</listitem><listitem><para><olink targetptr="preparecustom-53074" remap="internal">Creating a Profile
Diskette for Standalone Systems</olink></para>
</listitem>
</itemizedlist>
</note><sect2 id="preparecustom-26691"><title>Syntax of Profiles</title><para>A profile must contain
the following: </para><itemizedlist><listitem><para>The <literal>install_type</literal> profile keyword as the first entry </para>
</listitem><listitem><para>One keyword per line</para>
</listitem><listitem><para>The <literal>root_device</literal> keyword if the systems
that are being upgraded by the profile contain more than one root (<filename>/</filename>)
file system that can be upgraded</para>
</listitem>
</itemizedlist><para>A profile can contain the following:</para><itemizedlist><listitem><para>Commented text</para><para>Any text that is included after
the <literal>#</literal> symbol on a line is treated by the JumpStart program
as commented text. If a line begins with the <literal>#</literal> symbol,
the entire line is treated as a comment.</para>
</listitem><listitem><para>One or more blank lines</para>
</listitem>
</itemizedlist>
</sect2><task id="preparecustom-26130"><title>To Create a Profile</title><procedure><step id="preparecustom-step-51"><para>Use a text editor to create a text
file. Name the file descriptively. Or, open a sample profile in the JumpStart
directory that you created.</para><note><para>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 the profiles <filename>basic_install</filename>, <filename>eng_profile</filename>, or <filename>user_profile</filename>.  </para>
</note>
</step><step id="preparecustom-step-52"><para>Add profile keywords and values to
the profile.</para><para>For a list of profile keywords and values, see <olink targetptr="preparecustom-24696" remap="internal">Profile Keywords and Values</olink>.</para><note><para>Profile keywords and their values are case sensitive.</para>
</note>
</step><step id="preparecustom-step-53"><para>Save the profile in the JumpStart directory.</para>
</step><step id="preparecustom-step-15"><para>Ensure that <literal>root</literal> owns
the profile and that the permissions are set to 644.</para>
</step><step id="preparecustom-step-54"><para>Test the profile (optional).</para><para><olink targetptr="preparecustom-25808" remap="internal">Testing a Profile</olink> contains information
about testing profiles.</para>
</step>
</procedure>
</task><sect2 id="preparecustom-45277"><title>Profile Examples</title><para>The
following examples of profiles show how to use different profile keywords
and profile values to control how the Solaris software is installed on a system. <olink targetptr="preparecustom-24696" remap="internal">Profile Keywords and Values</olink> contains
a description of profile keywords and values.</para><example id="preparecustom-80"><title>Mounting Remote File Systems and Adding
and Deleting Packages</title><programlisting role="complete"> 
# profile keywords        profile values
# -----------------       -----------------
  install_type            initial_install
  system_type             standalone
  partitioning            default
  filesys                 any 512 swap   # specify size of /swap
  cluster                 SUNWCprog
  package                 SUNWman delete
  cluster                 SUNWCacc</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The <literal>install_type</literal> keyword is required in
every profile.</para>
</listitem>
</varlistentry><varlistentry><term><literal>system_type</literal></term><listitem><para>The <literal>system_type</literal> keyword defines that the
system is to be installed as a standalone system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the software to be
installed with the value <literal>default</literal>. The size of <filename>swap</filename> is
set to 512 Mbytes and is installed on any disk, value <literal>any</literal>. </para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The Developer Solaris Software Group, <literal>SUNWCprog</literal>,
is installed on the system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>If the standard man pages are mounted from the file server, <literal>s_ref</literal>, on the network, the man page packages are not to be installed
on the system. The packages that contain the System Accounting utilities are
selected to be installed on the system.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="egkam"><title>Mounting Remote File Systems and Adding a Third-Party
Package</title><programlisting role="complete"> 
# profile keywords        profile values
# -----------------       -----------------
  install_type            initial_install
  system_type             standalone
  partitioning            default
  filesys                 any 512 swap   # specify size of /swap
  cluster                 SUNWCprog
  cluster                 SUNWCacc
  package                 apache_server  \
                           http://package.central/packages/apache timeout 5</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The <literal>install_type</literal> keyword is required in
every profile.</para>
</listitem>
</varlistentry><varlistentry><term><literal>system_type</literal></term><listitem><para>The <literal>system_type</literal> keyword defines that the
system is to be installed as a standalone system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the software to be
installed with the value <literal>default</literal>. The size of <filename>swap</filename> is
set to 512 Mbytes and is installed on any disk, value <literal>any</literal>. </para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The Developer Solaris Software Group, <literal>SUNWCprog</literal>,
is installed on the system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>A third-party package is installed on the system located on
an HTTP server.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="preparecustom-96"><title>Specifying Where to Install File Systems</title><programlisting role="complete"># profile keywords        profile values
# ----------------        -------------------
  install_type            initial_install
  system_type             standalone 
  partitioning            explicit
  filesys                 c0t0d0s0 auto /
  filesys                 c0t3d0s1 auto swap
  filesys                 any auto usr
  cluster                 SUNWCall</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. The size of root (<filename>/</filename>)
is based on the selected software, value <literal>auto</literal>, and is installed
on <literal>c0t0d0s0</literal>. The size of <filename>swap</filename> is set
to the necessary size and is installed on <literal>c0t3d0s1</literal>. <filename>usr</filename> is based on the selected software  and the installation program
determines where <filename>usr</filename> is installed, based on the value <literal>any</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The Entire Solaris Software Group, <literal>SUNWCall</literal>,
is installed on the system. </para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="egkbe"><title>Upgrading and Installing Patches</title><programlisting role="complete"># profile keywords         profile values
# ----------------         -------------------
  install_type             upgrade 
  root_device              c0t3d0s2 
  backup_media             remote_filesystem timber:/export/scratch
  package                  SUNWbcp delete
  package                  SUNWxwman add
  cluster                  SUNWCacc add   
  patch                    patch_list nfs://patch_master/Solaris_11/patches \
                           retry 5
  locale                   de</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile upgrades a system by reallocating disk space.
In this example, disk space must be reallocated because some file systems
on the system did not have enough space for the upgrade.</para>
</listitem>
</varlistentry><varlistentry><term><literal>root_device</literal></term><listitem><para>The root file system on <literal>c0t3d0s2</literal> is upgraded.</para>
</listitem>
</varlistentry><varlistentry><term><literal>backup_media</literal></term><listitem><para>A remote system that is named <literal>timber</literal> is
to be used to back up data during the disk space reallocation. For more backup-media
keyword values, see <olink targetptr="preparecustom-97" remap="internal">backup_media Profile
Keyword</olink>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>The binary compatibility package, <literal>SUNWbcp</literal>,
is not installed on the system after the upgrade.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>The code ensures that the X Window System man pages and the
System Accounting Utilities are to be installed if they are not already installed
on the system. All packages already on the system are automatically upgraded. </para>
</listitem>
</varlistentry><varlistentry><term><literal>patch</literal></term><listitem><para>A list of patches that are installed with the upgrade. The
patch list is located on an NFS server named <literal>patch_master</literal> under
the directories <filename>Solaris_11/patches</filename>.
In case of a mount failure, the NFS mount is tried five times.</para>
</listitem>
</varlistentry><varlistentry><term><literal>locale</literal></term><listitem><para>The German localization packages are to be installed on the
system.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="preparecustom-83"><title>Reallocating Disk Space for an Upgrade</title><programlisting role="complete"># profile keywords         profile values
# ----------------         -------------------
  install_type             upgrade 
  root_device              c0t3d0s2 
  backup_media             remote_filesystem timber:/export/scratch
  layout_constraint        c0t3d0s2 changeable 100
  layout_constraint        c0t3d0s4 changeable
  layout_constraint        c0t3d0s5 movable 
  package                  SUNWbcp delete
  package                  SUNWxwman add
  cluster                  SUNWCacc add   
  locale                   de</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile upgrades a system by reallocating disk space.
In this example, disk space must be reallocated because some file systems
on the system did not have enough space for the upgrade.</para>
</listitem>
</varlistentry><varlistentry><term><literal>root_device</literal></term><listitem><para>The root file system on <literal>c0t3d0s2</literal> is upgraded.</para>
</listitem>
</varlistentry><varlistentry><term><literal>backup_media</literal></term><listitem><para>A remote system that is named <literal>timber</literal> is
to be used to back up data during the disk space reallocation. For more backup-media
keyword values, see <olink targetptr="preparecustom-97" remap="internal">backup_media Profile
Keyword</olink>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>layout_constraint</literal></term><listitem><para>The <literal>layout_constraint</literal> keywords designate
that auto-layout can perform the following when auto-layout attempts to reallocate
disk space for the upgrade. </para><itemizedlist><listitem><para>Change slices 2 and 4. The slices can be moved to another
location and the size can be changed.</para>
</listitem><listitem><para>Move slice 5. The slice can be moved to another location but
its size cannot change.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>The binary compatibility package, <literal>SUNWbcp</literal>,
is not installed on the system after the upgrade.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>The code ensures that the X Window System man pages and the
System Accounting Utilities are to be installed if they are not already installed
on the system. All packages already on the system are automatically upgraded. </para>
</listitem>
</varlistentry><varlistentry><term><literal>locale</literal></term><listitem><para>The German localization packages are to be installed on the
system.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="flashinstall-ex-3"><title>Retrieving a Solaris Flash Archive
From an HTTP Server</title><para>In the following example, the profile indicates that
the custom JumpStart program retrieves the Solaris Flash archive from
an HTTP server. </para><programlisting width="80100"># profile keywords         profile values
# ----------------         -------------------
install_type               flash_install
archive_location           http://192.168.255.255/flasharchive/solarisarchive
partitioning               explicit
filesys                    c0t1d0s0 4000 /
filesys                    c0t1d0s1 512 swap
filesys                    c0t1d0s7 free /export/home</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile installs a Solaris Flash archive on the clone
system. All files are overwritten as in an initial installation.</para>
</listitem>
</varlistentry><varlistentry><term><literal>archive_location</literal></term><listitem><para>The Solaris Flash archive is retrieved from an HTTP server.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. The size of root (<filename>/</filename>)
is based on the size of the Solaris Flash archive. The root file system is
installed on <literal>c0t1d0s0</literal>. The size of <filename>swap</filename> is
set to the necessary size and is installed on <literal>c0t1d0s1</literal>. <filename>/export/home</filename> is based on the remaining disk space. <filename>/export/home</filename> is installed on <literal>c0t1d0s7</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="egkde"><title>Retrieving a Solaris Flash Archive From a
Secure HTTP Server</title><para>In the following example,
the profile indicates that the custom JumpStart program retrieves the Solaris Flash archive
from a secure HTTP server.</para><programlisting width="80100"># profile keywords         profile values
# ----------------         -------------------
install_type               flash_install
archive_location           https://192.168.255.255/solarisupdate.flar
partitioning               explicit
filesys                    c0t1d0s0 4000 /
filesys                    c0t1d0s1 512 swap
filesys                    c0t1d0s7 free /export/home</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile installs a Solaris Flash archive on the clone
system. All files are overwritten as in an initial installation.</para>
</listitem>
</varlistentry><varlistentry><term><literal>archive_location</literal></term><listitem><para>The compressed Solaris Flash archive is retrieved from
a secure HTTP server.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. The size of root (<filename>/</filename>)
is based on the size of the Solaris Flash archive. The size of <filename>swap</filename> is
set to the necessary size and is installed on <literal>c0t1d0s1</literal>. <filename>/export/home</filename> is based on the remaining disk space. <filename>/export/home</filename> is installed on <literal>c0t1d0s7</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="egkdk"><title>Retrieving a Solaris Flash Archive and Installing
a Third-Party Package</title><para>In the following example, the profile indicates that
the custom JumpStart program retrieves the Solaris Flash archive from
an HTTP server. </para><programlisting width="80100"># profile keywords         profile values
# ----------------         -------------------
install_type               flash_install
archive_location           http://192.168.255.255/flasharchive/solarisarchive
partitioning               explicit
filesys                    c0t1d0s0 4000 /
filesys                    c0t1d0s1 512 swap
filesys                    c0t1d0s7 free /export/home
package                    SUNWnew http://192.168.254.255/Solaris_11 timeout 5</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile installs a Solaris Flash archive on the clone
system. All files are overwritten as in an initial installation.</para>
</listitem>
</varlistentry><varlistentry><term><literal>archive_location</literal></term><listitem><para>The Solaris Flash archive is retrieved from an HTTP server.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. The size of root (<filename>/</filename>)
is based on the size of the Solaris Flash archive. The root file system is
installed on <literal>c0t1d0s0</literal>. The size of <filename>swap</filename> is
set to the necessary size and is installed on <literal>c0t1d0s1</literal>. <filename>/export/home</filename> is based on the remaining disk space. <filename>/export/home</filename> is installed on <literal>c0t1d0s7</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>package</literal></term><listitem><para>The SUNWnew package is added from the <filename>Solaris_11</filename> directory
from the HTTP server <literal>192.168.254.255</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="flashinstall-ex-4"><title>Retrieving a Solaris Flash Differential
Archive From an NFS Server</title><para>In the following example,
the profile indicates that the custom JumpStart program retrieves the Solaris Flash archive
from an NFS server. The <literal>flash_update</literal> keyword indicates
that this is a differential archive. A differential archive installs only
the differences between two system images.</para><programlisting width="80100"># profile keywords         profile values
# ----------------         -------------------
install_type               flash_update
archive_location           nfs installserver:/export/solaris/flasharchive \
                           /solarisdiffarchive
no_master_check</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile installs a Solaris Flash differential archive
on the clone system. Only files that are specified by the archive are installed.</para>
</listitem>
</varlistentry><varlistentry><term><literal>archive_location</literal></term><listitem><para>The Solaris Flash archive is retrieved from an NFS server.</para>
</listitem>
</varlistentry><varlistentry><term><literal>no_master_check</literal></term><listitem><para>The clone system is not checked for a valid system image.
A valid system image would have been built from the original master system.</para>
</listitem>
</varlistentry>
</variablelist>
</example><example id="preparecustom-960"><title>Creating an Empty Boot Environment</title><para>In the following example,
the profile indicates that the custom JumpStart program creates an empty boot
environment. An empty boot environment contains no file systems and no copy
from the current boot environment occurs. The boot environment can be populated
later with a  Solaris Flash archive and then activated.</para><programlisting role="complete"># profile keywords        profile values
# ----------------        -------------------
  install_type            initial_install
  system_type             standalone 
  partitioning            explicit
  filesys                 c0t0d0s0 auto /
  filesys                 c0t3d0s1 auto swap
  filesys                 any auto usr
  cluster                 SUNWCall
  bootenv createbe bename second_BE \
  filesystem /:/dev/dsk/c0t1d0s0:ufs \
  filesystem -:/dev/dsk/c0t1d0s0:swap \
  filesystem /export:shared:ufs</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. The size of root (<filename>/</filename>)
is based on the selected software, value <literal>auto</literal>, and is installed
on <literal>c0t0d0s0</literal>. The size of <filename>swap</filename> is set
to the necessary size and is installed on <literal>c0t3d0s1</literal>. <filename>usr</filename> is based on the selected software  and the installation program
determines where <filename>usr</filename> is installed, based on the value <literal>any</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The Entire Solaris Software Group, <literal>SUNWCall</literal>,
is installed on the system. </para>
</listitem>
</varlistentry><varlistentry><term><literal>bootenv createbe</literal></term><listitem><para>An empty, inactive boot environment is set up on disk <literal>c0t1d0</literal>. File systems for root (<filename>/</filename>), swap, and <filename>/export</filename> are created, but left empty. This second boot environment can
be installed with a Solaris Flash archive at a later time. The new boot
environment can then be activated to become the current boot environment. </para><para>For keyword values and background about using this keyword, see the
following references:</para><itemizedlist><listitem><para>For descriptions of keyword values, see <olink targetptr="preparecustom-24696" remap="internal">Profile Keywords and Values</olink>.</para>
</listitem><listitem><para>For background about using Solaris Live Upgrade that creates,
upgrades, and activates inactive boot environments, 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>For background about using a Solaris Flash archive, see <olink targetdoc="solinstallflash" targetptr="flash-24" remap="external">Chapter 1, <citetitle remap="chapter">Solaris Flash (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Solaris Flash Archives (Creation and Installation)</citetitle></olink>.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
</example><example id="frcfq"><title>Creating RAID-1 Volumes When Installing a Solaris Flash Archive</title><para>In the following example, the profile indicates that the custom JumpStart
program uses Solaris Volume Manager technology to create RAID-1 volumes (mirrors)
for the root (<filename>/</filename>), <filename>swap</filename>, <filename>/usr</filename> and <filename>/export/home</filename> file systems. A Solaris Flash archive is installed
on the boot environment.</para><programlisting role="complete"># profile keywords        profile values
# ----------------        -------------------
  install_type            flash_install
  arhcive_location        nfs server:/export/home/export/flash.s10.SUNWCall
  partitioning            explicit
  filesys                 mirror:d10 c0t0d0s0 c0t1d0s0 4096 /
  filesys                 mirror c0t0d0s1 2048 swap
  filesys                 mirror:d30 c0t0d0s3 c0t1d0s3 4096 /usr
  filesys                 mirror:d40 c0t0d0s4 c0t1d0s4 4096 /usr
  filesys                 mirror:d50 c0t0d0s5 c0t1d0s5 free /export/home
  metadb                  c0t1d0s7 size 8192 count 3</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>install_type</literal></term><listitem><para>The profile installs a Solaris Flash archive on the clone
system. All files are overwritten as in an initial installation.</para>
</listitem>
</varlistentry><varlistentry><term><literal>archive_location</literal></term><listitem><para>The Solaris Flash archive is retrieved from an NFS server.</para>
</listitem>
</varlistentry><varlistentry><term><literal>partitioning</literal></term><listitem><para>The file system slices are determined by the <literal>filesys</literal> keywords,
value <filename>explicit</filename>. </para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The root (<filename>/</filename>) file system is created and
mirrored on the slices <filename>c0t0d0s0</filename> and <filename>c0t1d0s0</filename>.
The size of the root (<filename>/</filename>) file system is set to 4096 Mbytes.
The RAID-1 volume that mirrors <filename>c0t0d0s0</filename> and <filename>c0t1d0s0</filename> is named <filename>d10</filename>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>swap</filename> file system is created and mirrored
on the slice <filename>c0t0d0s1</filename>, and is sized at 2048 Mbytes. The
custom JumpStart program assigns a name to the mirror.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>/usr</filename> file system is created and mirrored
on the slices <filename>c0t1d0s3</filename> and <filename>c0t0d0s3</filename>.
The size of the <filename>/usr</filename> file system is set to 4096 Mbytes.
The RAID-1 volume is named <literal>d30</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>/usr</filename> file system is created and mirrored
on the slices <filename>c0t1d0s4</filename> and <filename>c0t0d0s4</filename>.
The size of the <filename>/usr</filename> file system is set to 4096 Mbytes.
The RAID-1 volume is named <literal>d40</literal>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>metadb</literal></term><listitem><para>Three state database replicas (metadbs) are installed on slice <filename>c0t1d0s7</filename>, and are sized at 8192 blocks (4 Mbytes).</para>
</listitem>
</varlistentry>
</variablelist><itemizedlist><listitem><para>For overview information about how to create mirrored file
systems during your installation, see <olink targetdoc="solinstallpbiu" targetptr="mirroroverview-1" remap="external">Chapter 8, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For guidelines and requirements of creating mirrored file
systems, see <olink targetdoc="solinstallpbiu" targetptr="mirrorplanning-1" remap="external">Chapter 9, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Planning),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For descriptions of keyword values, see <olink targetptr="jumpstartreference-mirror" remap="internal">filesys Profile Keyword (Creating RAID-1
Volumes)</olink> and <olink targetptr="jumpstartreference-metadb" remap="internal">metadb Profile
Keyword (Creating State Database Replicas)</olink>.</para>
</listitem>
</itemizedlist>
</example><example id="preparecustom-ex-basicsvm"><title>Creating a RAID-1 Volume to
Mirror the Root File System</title><para>In the following example, the profile indicates that the custom JumpStart
program uses Solaris Volume Manager technology to create a RAID-1 volume (mirror)
for the root (<filename>/</filename>) file system.</para><programlisting role="complete"># profile keywords        profile values
# ----------------        -------------------
  install_type            initial_install
  cluster                 SUNWCXall
  filesys                 mirror:d30 c0t1d0s0 c0t0d0s0  /
  filesys                 c0t0d0s3 512 swap
  metadb                  c0t0d0s4 size 8192 count 4
  metadb                  c0t1d0s4 size 8192 count 4
  </programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>cluster</literal></term><listitem><para>The Entire Solaris Software Plus OEM Support software group,
SUNWCXall, is installed on the system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The root (<filename>/</filename>) file system is created and
mirrored on the slices <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename>.
The RAID-1 volume that mirrors <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename> is named <filename>d30</filename>. The custom JumpStart program
assigns names to the two submirrors.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>swap</filename> file system is created and mirrored
on the slice <filename>c0t0d0s3</filename>, and is sized at 512 Mbytes. </para>
</listitem>
</varlistentry><varlistentry><term><literal>metadb</literal></term><listitem><para>Four state database replicas (metadbs) are installed on slice <filename>c0t0d0s4</filename>, and are sized at 8192 blocks (4 Mbytes).</para>
</listitem>
</varlistentry><varlistentry><term><literal>metadb</literal></term><listitem><para>Four state database replicas (metadbs) are installed on slice <filename>c0t1d0s4</filename>, and are sized at 8192 blocks (4 Mbytes).</para>
</listitem>
</varlistentry>
</variablelist><itemizedlist><listitem><para>For overview information about how to create RAID-1 volumes
during your installation, see <olink targetdoc="solinstallpbiu" targetptr="mirroroverview-1" remap="external">Chapter 8, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For guidelines and requirements about creating RAID-1 volumes,
see <olink targetdoc="solinstallpbiu" targetptr="mirrorplanning-1" remap="external">Chapter 9, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Planning),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For descriptions of keyword values, see <olink targetptr="jumpstartreference-mirror" remap="internal">filesys Profile Keyword (Creating RAID-1
Volumes)</olink> and <olink targetptr="jumpstartreference-metadb" remap="internal">metadb Profile
Keyword (Creating State Database Replicas)</olink>.</para>
</listitem>
</itemizedlist>
</example><example id="preparecustom-ex-svm"><title>Creating RAID-1 Volumes to Mirror
Multiple File Systems</title><para>In the following example, the profile indicates that the custom JumpStart
program uses Solaris Volume Manager technology to create RAID-1 volumes (mirrors)
for the root (<filename>/</filename>), <filename>swap</filename>, and <filename>/usr</filename> file systems.</para><programlisting role="complete"># profile keywords        profile values
# ----------------        -------------------
  install_type            initial_install
  cluster                 SUNWCXall
  filesys                 mirror:d100 c0t1d0s0 c0t0d0s0 200 /
  filesys                 c0t1d0s5 500 /var
  filesys                 c0t0d0s5 500
  filesys                 mirror c0t0d0s1 512 swap
  metadb                  c0t0d0s3 size 8192 count 5
  filesys                 mirror c0t1d0s4 c0t0d0s4 2000 /usr
  filesys                 c0t1d0s7 free /export/home
  filesys                 c0t0d0s7 free</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>cluster</literal></term><listitem><para>The Entire Solaris Software Plus OEM Support software group,
SUNWCXall, is installed on the system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The root (<filename>/</filename>) file system is created and
mirrored on the slices <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename>.
The size of the root (<filename>/</filename>) file system is set to 200 Mbytes.
The RAID-1 volume that mirrors <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename> is named <filename>d100</filename>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>/var</filename> file system is installed on
the slice <filename>c0t1d0s5</filename> and is sized at 500 Mbytes. The root
(<filename>/</filename>) file system is created and mirrored on the slices <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename>. The size of the root
(<filename>/</filename>) file system is set to 200 Mbytes. The RAID-1 volume
that mirrors <filename>c0t1d0s0</filename> and <filename>c0t0d0s0</filename> is
named <filename>d100</filename>.</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>swap</filename> file system is created and mirrored
on the slice <filename>c0t0d0s1</filename>, and is sized at 512 Mbytes. The
custom JumpStart program assigns a name to the mirror.</para>
</listitem>
</varlistentry><varlistentry><term><literal>metadb</literal></term><listitem><para>Five state database replicas (metadbs) are installed on slice <filename>c0t0d0s3</filename>, and are sized at 8192 blocks (4 Mbytes).</para>
</listitem>
</varlistentry><varlistentry><term><literal>filesys</literal></term><listitem><para>The <filename>/usr</filename> file system is created and mirrored
on the slices <filename>c0t1d0s4</filename> and <filename>c0t0d0s4</filename>.
The size of the <filename>/usr</filename> file system is set to 2000 Mbytes.
The custom JumpStart program assigns a name to the mirror.</para>
</listitem>
</varlistentry>
</variablelist><itemizedlist><listitem><para>For overview information about how to create mirrored file
systems during your installation, see <olink targetdoc="solinstallpbiu" targetptr="mirroroverview-1" remap="external">Chapter 8, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Overview),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For guidelines and requirements of creating mirrored file
systems, see <olink targetdoc="solinstallpbiu" targetptr="mirrorplanning-1" remap="external">Chapter 9, <citetitle remap="chapter">Creating RAID-1 Volumes (Mirrors) During Installation (Planning),</citetitle> in <citetitle remap="book">Solaris Express Installation Guide: Planning for Installation and Upgrade</citetitle></olink>.</para>
</listitem><listitem><para>For descriptions of keyword values, see <olink targetptr="jumpstartreference-mirror" remap="internal">filesys Profile Keyword (Creating RAID-1
Volumes)</olink> and <olink targetptr="jumpstartreference-metadb" remap="internal">metadb Profile
Keyword (Creating State Database Replicas)</olink>.</para>
</listitem>
</itemizedlist>
</example><example id="preparecustom-82" arch="x86"><title>Using the <literal>fdisk</literal> Keyword</title><programlisting role="complete"># profile keywords      profile values
# ----------------      -------------------
  install_type          initial_install
  system_type           standalone

  fdisk                 c0t0d0 0x04 delete
  fdisk                 c0t0d0 solaris maxfree
  cluster               SUNWCall
  cluster               SUNWCacc delete</programlisting><para>The following list describes some of the keywords and values from this
example.</para><variablelist><varlistentry><term><literal>fdisk</literal></term><listitem><para>All <literal>fdisk</literal> partitions of type DOSOS16 (04
hexadecimal) are deleted from the <literal>c0t0d0</literal> disk.</para>
</listitem>
</varlistentry><varlistentry><term><literal>fdisk</literal></term><listitem><para>A Solaris <literal>fdisk</literal> partition is created on
the largest contiguous free space on the <literal>c0t0d0</literal> disk.</para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The Entire Distribution software group, <literal>SUNWCall</literal>,
is installed on the system.</para>
</listitem>
</varlistentry><varlistentry><term><literal>cluster</literal></term><listitem><para>The system accounting utilities, <literal>SUNWCacc</literal>,
are not to be installed on the system.</para>
</listitem>
</varlistentry>
</variablelist>
</example>
</sect2>
</sect1><sect1 id="preparecustom-25808"><title>Testing a Profile</title><para>After you
create a profile, use the <olink targetdoc="refman1m" targetptr="pfinstall-1m" remap="external"><citerefentry><refentrytitle>pfinstall</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> command
to test the profile.  Test the profile before you use the profile to install
or upgrade a system. Testing a profile is especially useful when you are creating
upgrade profiles that reallocate disk space.</para><para>By looking at the installation output that is generated by <command>pfinstall</command>, you can quickly determine if a profile works as you intended.
For example, use the profile to determine if a system has enough disk space
to upgrade to a new release of the Solaris software before you perform the
upgrade on that system.</para><para><command>pfinstall</command> enables you to test a profile against the
following:</para><itemizedlist><listitem><para>The system's disk configuration where <command>pfinstall</command> is
being run.</para>
</listitem><listitem><para>Other disk configurations.
You use a disk configuration file that represents a structure of a disk, for
example, a disk's bytes/sector, flags, and slices. Creating disk configuration
files is described in <olink targetptr="optionalcustom-77225" remap="internal">Creating Disk
Configuration Files</olink> and <olink targetptr="optionalcustom-35662" remap="internal">To
Create a Disk Configuration File</olink>. </para><note><para>You cannot use a disk configuration file to test a profile you
intend to use to upgrade a system. Instead, you must test the profile against
the system's actual disk configuration and the software that is currently
installed on that system.</para>
</note>
</listitem>
</itemizedlist><task id="preparecustom-25"><title>To Create a Temporary Solaris Environment
to Test a Profile</title><tasksummary><para>To test a profile for a particular Solaris release successfully and
accurately, you must test a profile within the Solaris environment of the
same release. For example, if you want to test a Solaris initial installation
profile, run the <command>pfinstall</command> command on a system that is
running the Solaris OS.</para><para>You need to create a temporary installation environment if you are testing
a profile under one of the following conditions:</para><itemizedlist><listitem><para>You want to test a Solaris Express 5/07 upgrade profile
on a system that is running a previous version of the Solaris software.</para>
</listitem><listitem><para>You do not have a Solaris Express 5/07 system installed
yet to test Solaris Express 5/07 initial installation profiles.</para>
</listitem>
</itemizedlist>
</tasksummary><procedure><step id="preparecustom-step-22"><para>Boot a system from an image of one
of the following: </para><para>For SPARC based systems:</para><itemizedlist><listitem><para>Solaris Operating System for SPARC Platforms DVD</para>
</listitem><listitem><para>Solaris Software for SPARC Platforms - 1 CD </para>
</listitem>
</itemizedlist><para>For x86 based systems:</para><itemizedlist><listitem><para>Solaris Operating System for x86 Platforms DVD</para>
</listitem><listitem><para>Solaris Software for x86 Platforms - 1 CD</para>
</listitem>
</itemizedlist><note><para>If you want to test an upgrade profile, boot the system that you
are upgrading.</para>
</note>
</step><step id="preparecustom-step-17a"><para>Respond to the system identification
questions.</para>
</step><step id="preparecustom-step-18a"><para>To exit from the installation program,
type ! at the following prompt.</para><screen>The Solaris installation program  will assist you in installing software for Solaris.
&lt;Press ENTER to continue> {"!" exits}</screen>
</step><step id="preparecustom-step-20a"><para>Execute the <command>pfinstall</command> command
from the shell. For details about using the <command>pfinstall</command> command,
see <olink targetptr="preparecustom-step-63" remap="internal">Step&nbsp;7</olink> in <olink targetptr="preparecustom-11884" remap="internal">To Test a Profile</olink>.</para>
</step>
</procedure>
</task><task id="preparecustom-11884"><title>To Test a Profile</title><tasksummary><note arch="x86"><para>If you are using the <literal>locale</literal> keyword,
the <command>pfinstall</command> <option>D</option> command fails to test
the profile. For a workaround, see the error message &ldquo;could not select
locale,&rdquo; in the section, <olink targetptr="troubleshooting-16510" remap="internal">Upgrading
the Solaris OS</olink>.</para>
</note>
</tasksummary><procedure><step id="preparecustom-step-59"><para>Locate a system on which to test the
profile that is the same type of platform, SPARC or x86, for which the profile
was created.</para><para>If you are testing an upgrade profile, you must test
the profile on the actual system that you intend to upgrade.</para>
</step><step id="preparecustom-step-87"><para>Use the following decision table to
determine what to do next.</para><informaltable frame="topbot"><tgroup cols="2" colsep="0" rowsep="1"><colspec colwidth="198*"/><colspec colwidth="198*"/><thead><row><entry><para>Test Scenario</para>
</entry><entry><para>Instructions</para>
</entry>
</row>
</thead><tbody><row rowsep="0"><entry><para>Test an initial installation profile and have a system that is running
the Solaris Express 5/07 software.</para>
</entry><entry><para>Become superuser on the system and go to <olink targetptr="preparecustom-step-61" remap="internal">Step&nbsp;5</olink>.</para>
</entry>
</row><row><entry><para>Test an upgrade profile, or you do not have a system that is running
Solaris Express 5/07 to test an initial installation profile.</para>
</entry><entry><para>Create a temporary Solaris Express 5/07 environment to test the
profile. For details, see <olink targetptr="preparecustom-25" remap="internal">To Create a
Temporary Solaris Environment to Test a Profile</olink>. Then, go to <olink targetptr="preparecustom-step-93" remap="internal">Step&nbsp;3</olink>.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step><step id="preparecustom-step-93"><para>Create a temporary mount point.</para><screen># <userinput>mkdir /tmp/mnt</userinput></screen>
</step><step id="preparecustom-step-88"><para>Mount the directory that contains the
profile or profiles that you want to test.</para><informaltable frame="topbot" pgwide="1"><tgroup cols="2" colsep="0" rowsep="0"><colspec colwidth="158*"/><colspec colwidth="238*"/><thead><row rowsep="1"><entry><para>Mount Scenario</para>
</entry><entry><para>Typing Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Mount a remote NFS file system for systems on the network.</para>
</entry><entry><screen><userinput>mount -F nfs <replaceable>server_name</replaceable>:<replaceable>path</replaceable> /tmp/mnt</userinput></screen>
</entry>
</row><row><entry><para>SPARC: Mount a UFS-formatted diskette.</para>
</entry><entry><screen><userinput>mount -F ufs /dev/diskette /tmp/mnt</userinput></screen>
</entry>
</row><row><entry><para>Mount a PCFS-formatted diskette.</para>
</entry><entry><screen><userinput>mount -F pcfs /dev/diskette /tmp/mnt</userinput></screen>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</step><step id="preparecustom-step-61"><para>To test the profile with a specific system memory size, set <envar>SYS_MEMSIZE</envar> to the specific memory size in Mbytes.</para><screen># <userinput>SYS_MEMSIZE=<replaceable>memory_size</replaceable></userinput>
# <userinput>export SYS_MEMSIZE</userinput></screen>
</step><step id="preparecustom-step-62"><para>Did you mount a directory in <olink targetptr="preparecustom-step-88" remap="internal">Step&nbsp;4</olink>? </para><itemizedlist><listitem><para>If yes, change the directory to <filename>/tmp/mnt</filename>.</para><screen># <userinput>cd /tmp/mnt</userinput></screen>
</listitem><listitem><para>If no, change the directory to where the profile is located,
which is usually the JumpStart directory.</para><screen># <userinput>cd <replaceable>jumpstart_dir_path</replaceable></userinput></screen>
</listitem>
</itemizedlist>
</step><step id="preparecustom-step-63"><para>Test the profile with the <olink targetdoc="refman1m" targetptr="pfinstall-1m" remap="external"><citerefentry><refentrytitle>pfinstall</refentrytitle><manvolnum>1M</manvolnum></citerefentry></olink> command.</para><screen># <userinput>/usr/sbin/install.d/pfinstall</userinput> <option>D</option>:<option>d</option> <replaceable>disk_config_file</replaceable> <option>c</option><userinput></userinput> <replaceable>path</replaceable> <replaceable>profile</replaceable></screen><caution><para>You <emphasis>must</emphasis> include the <option>d</option> or <option>D</option> option. If you do not include one of these options, <command>pfinstall</command> uses the profile you specify to install the Solaris software. All
of the data on the system is overwritten.</para>
</caution><variablelist><varlistentry><term><option>D</option></term><listitem><para><command>pfinstall</command> uses the current system's disk
configuration to test the profile. You must use the <option>D</option> option
to test an upgrade profile.</para>
</listitem>
</varlistentry><varlistentry><term><option>d</option> <replaceable>disk_config_file</replaceable></term><listitem><para><command>pfinstall</command> uses the disk configuration file, <replaceable>disk_config_file</replaceable>, to test the profile. If <replaceable>disk_config_file</replaceable> is not located in the directory where <command>pfinstall</command> is
run, you must specify the path.</para><para>For instructions about how to create a disk configuration file, see <olink targetptr="optionalcustom-77225" remap="internal">Creating Disk Configuration Files</olink>.</para><note><para>You cannot use the <option>d</option> <replaceable>disk_config_file</replaceable> option with an upgrade profile, <literal>install_type
upgrade</literal>. You must always test an upgrade profile against a system's
disk configuration, that is, you must use the <option>D</option> option.</para>
</note>
</listitem>
</varlistentry><varlistentry><term><option>c</option> <replaceable>path</replaceable></term><listitem><para>The path to the Solaris software image. You use this option,
for example, if the system is using removable
media services to mount the Solaris Software - 1 CD for your platform.</para><note><para>The <option>c</option> option is not required if you booted from
a Solaris Operating System DVD or a Solaris Software - 1 CD image for your platform. The DVD
or CD image is mounted on <filename>/media/cdrom</filename> as part of the booting process.</para>
</note>
</listitem>
</varlistentry><varlistentry><term><replaceable>profile</replaceable></term><listitem><para>The name of the profile to test. If <replaceable>profile</replaceable> is
not in the directory where <command>pfinstall</command> is being run, you
must specify the path.</para>
</listitem>
</varlistentry>
</variablelist>
</step>
</procedure>
</task><sect2 id="preparecustom-66"><title>Profile Test Examples</title><para>The following example shows how to use <command>pfinstall</command> to
test a profile that is named <filename>basic_prof</filename>. The profile
is tested against the disk configuration on a system on which the Solaris Express 5/07 software
is installed. The <filename>basic_prof</filename> profile is located in the <filename>/jumpstart</filename> directory, and the path to the Solaris Operating System DVD image is
specified because removable
media services are being used.</para><example id="preparecustom-ex-25"><title>Profile Test Using a Solaris Express 5/07 System</title><screen width="100"># <userinput>cd /jumpstart</userinput>
# <userinput>/usr/sbin/install.d/pfinstall -D -c /media/cdrom/<replaceable>pathname</replaceable> basic_prof</userinput></screen>
</example><para>The following example shows how to use <command>pfinstall</command> to
test the profile that is named <filename>basic_prof</filename> on a Solaris Express 5/07 system.
The test is performed against the <filename>535_test</filename> disk configuration
file. The test checks for 64 Mbytes of system memory. This example uses a Solaris Software for SPARC Platforms - 1 CD or Solaris Software for x86 Platforms - 1 CD image
that is located in the <filename>/export/install</filename> directory.</para><example id="preparecustom-ex-26"><title>Profile Test Using a Disk Configuration
File</title><screen width="100"># <userinput>SYS_MEMSIZE=64</userinput>
# <userinput>export SYS_MEMSIZE</userinput>
# <userinput>/usr/sbin/install.d/pfinstall -d 535_test -c /export/install basic_prof</userinput></screen>
</example>
</sect2>
</sect1><sect1 id="preparecustom-50536"><title>Validating the <filename>rules</filename> File</title><para>Before you can use a profile and <filename>rules</filename> file, you
must run the <command>check</command> script to validate that the files are
set up correctly. If all rules and profiles are correctly set up, the <filename>rules.ok</filename> file is created, which is required by the custom JumpStart installation
software to match a system to a profile. </para><para><olink targetptr="preparecustom-11535" remap="internal">Table 3&ndash;2</olink> describes what the <filename>check</filename> script does.      </para><table frame="topbot" id="preparecustom-11535"><title>What Happens When You
Use the <command>check</command> Script</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="44*"/><colspec colname="column2" colwidth="352*"/><thead><row rowsep="1"><entry><para>Stage</para>
</entry><entry><para>Description</para>
</entry>
</row>
</thead><tbody><row><entry><para>1</para>
</entry><entry><para>The <filename>rules</filename> file is checked for syntax.</para><para></para><para><command>check</command> verifies that the rule keywords are legitimate
and that the <replaceable>begin</replaceable>, <replaceable>class</replaceable>,
and <replaceable>finish</replaceable> fields are specified for each rule.
The <replaceable>begin</replaceable> and <replaceable>finish</replaceable> fields
can consist of a minus sign (<literal>-</literal>) instead of a file name.</para>
</entry>
</row><row><entry><para>2</para>
</entry><entry><para>If no errors are found in the <filename>rules</filename> file, each
profile that is specified in the rules is checked for syntax. </para>
</entry>
</row><row><entry><para>3</para>
</entry><entry><para>If no errors are found, <command>check</command> creates the <filename>rules.ok</filename> file from the <filename>rules</filename> file, removes
all comments and blank lines, retains all rules, and adds the following comment
line at the end:   </para><para><literal># version=2 checksum=num</literal></para>
</entry>
</row>
</tbody>
</tgroup>
</table><task id="preparecustom-91711"><title>To Validate the <filename>rules</filename> File</title><procedure><step id="preparecustom-step-76"><para>Ensure that the <command>check</command> script is located in the JumpStart directory. </para><note><para>The <command>check</command> script is in the <filename>Solaris_11/Misc/jumpstart_sample</filename> directory on the Solaris Operating System DVD or on the Solaris Software - 1 CD.</para>
</note>
</step><step id="preparecustom-step-77"><para>Change the directory to the JumpStart directory. </para>
</step><step id="preparecustom-step-78"><para>Run the <command>check</command> script
to validate the <filename>rules</filename> file:</para><screen>$ <userinput>./check</userinput> <userinput>-p</userinput> <replaceable>path</replaceable> <userinput>-r</userinput> <replaceable>file_name</replaceable></screen><variablelist><varlistentry><term><option>p</option> <replaceable>path</replaceable></term><listitem><para>Validates the <filename>rules</filename> by using the <filename>check</filename> script from the Solaris software image instead of the <filename>check</filename> script from the system you are using. <replaceable>path</replaceable> is
the image on a local disk or a mounted Solaris Operating System DVD or a Solaris Software - 1 CD.</para><para>Use this option
to run the most recent version of <command>check</command> if your system
is running a previous version of Solaris.</para>
</listitem>
</varlistentry><varlistentry><term><option>r</option> <replaceable>file_name</replaceable></term><listitem><para>Specifies a rules file other than the one that is named <filename>rules</filename>. Using this option, you can test the validity of a rule before
you integrate the rule into the <filename>rules</filename> file. </para>
</listitem>
</varlistentry>
</variablelist><para>As the <command>check</command> script
runs, the script reports the checking of the validity of the <filename>rules</filename> file
and each profile. If no errors are encountered, the script reports the following
information.    </para><screen>The custom JumpStart configuration is ok</screen>
</step><step id="preparecustom-step-21b"><para>Ensure that <literal>root</literal> owns
the <filename>rules.ok</filename> file and that the permissions are set to
644.</para>
</step>
</procedure><taskrelated role="see-also"><para>After you validate the <filename>rules</filename> file, you can learn
more about optional custom JumpStart features in <olink targetptr="optionalcustom-29530" remap="internal">Chapter&nbsp;4, Using Optional Custom JumpStart
Features (Tasks)</olink>.  You can learn about performing custom JumpStart
installations in <olink targetptr="customjump-88491" remap="internal">Chapter&nbsp;6, Performing
a Custom JumpStart Installation (Tasks)</olink>.  </para>
</taskrelated>
</task>
</sect1>
</chapter>