JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris 10 1/13 Installation Guide: JumpStart Installations     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

Preface

1.  Where to Find Oracle Solaris Installation Planning Information

2.  JumpStart (Overview)

3.  Preparing JumpStart Installations (Tasks)

4.  Using Optional JumpStart Features (Tasks)

Creating Begin Scripts

About Begin Scripts

Creating Derived Profiles With a Begin Script

Tracking Installation Duration With a Begin Script and Finish Script

Creating Finish Scripts

About Finish Scripts

Adding Files With a Finish Script

Adding Packages or Patches With a Finish Script

Customizing the Root Environment With a Finish Script

Non-Interactive Installations With Finish Scripts

Creating a Compressed Configuration File

How to Create a Compressed Configuration File

Creating Disk Configuration Files

SPARC: How to Create a Single-Disk Configuration File

SPARC: How to Create a Multiple-Disk Configuration File

x86: How to Create a Single-Disk Configuration File

x86: How to Create a Multiple-Disk Configuration File

Using a Site-Specific Installation Program

5.  Creating Custom Rule and Probe Keywords (Tasks)

6.  Performing a JumpStart Installation (Tasks)

7.  Installing With JumpStart (Examples)

8.  JumpStart Keyword Reference

9.  Installing a ZFS Root Pool With JumpStart

Glossary

Index

Creating Finish Scripts

A finish script is a user-defined Bourne shell script that you specify in the rules file. A finish script performs tasks after the Oracle Solaris software is installed on a system but before the system reboots. You can use finish scripts only when using JumpStart to install Oracle Solaris.

Tasks that you can perform with a finish script include the following:

About Finish Scripts

Adding Files With a Finish Script

Through a finish script, you can add files from the JumpStart directory to an already installed system. You can add the files because the JumpStart directory is mounted on the directory that is specified by the SI_CONFIG_DIR variable. The directory is set to /tmp/install_config by default.


Note - You can also replace files by copying files from the JumpStart directory to already existing files on the installed system.


After you copy all of the files that you are adding to the installed system to the JumpStart directory, insert the following line in the finish script for each file that you want to be copied to the newly installed file system hierarchy:

cp ${SI_CONFIG_DIR}/filename /a/path

Example 4-4 Adding a File With a Finish Script

Assume you have a special application, site_prog, developed for all users at your site. If you place a copy of site_prog into the JumpStart directory, the following line in a finish script copies site_prog from the JumpStart directory into a system's /usr/bin directory:

cp ${SI_CONFIG_DIR}/site_prog  /a/usr/bin

Adding Packages or Patches With a Finish Script

You can create a finish script to automatically add packages or patches after the Oracle Solaris software is installed on a system. By adding packages with a finish script, you reduce time and ensure consistency in which packages and patches are installed on different systems at your site.

When you use the pkgadd(1M) or patchadd(1M) commands in finish scripts, use the -R option to specify /a as the root path.

Example 4-5 Adding Packages With a Finish Script

  #!/bin/sh
 
  BASE=/a
  MNT=/a/mnt
  ADMIN_FILE=/a/tmp/admin
 
  mkdir ${MNT}
  mount -f nfs sherlock:/export/package ${MNT}
  cat >${ADMIN_FILE} <<DONT_ASK
  mail=root
  instance=overwrite
  partial=nocheck
  runlevel=nocheck
  idepend=nocheck
  rdepend=nocheck
  space=ask
  setuid=nocheck
  conflict=nocheck
  action=nocheck
  basedir=default
  DONT_ASK
 
  /usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} SUNWxyz 
  umount ${MNT}
  rmdir ${MNT}

The commands for this example are as follows:

Example 4-6 Adding Patches With a Finish Script

 #!/bin/sh 

########
#
# USER-CONFIGURABLE OPTIONS
#
########

# The location of the patches to add to the system after it's installed.
# The OS rev (5.x) and the architecture (`mach`) will be added to the
# root.  For example, /foo on a 8 SPARC would turn into /foo/5.8/sparc
LUPATCHHOST=ins3525-svr
LUPATCHPATHROOT=/export/solaris/patchdb
#########
#
# NO USER-SERVICEABLE PARTS PAST THIS POINT
#
#########

BASEDIR=/a

# Figure out the source and target OS versions
echo Determining OS revisions...
SRCREV=`uname -r`
echo Source $SRCREV

LUPATCHPATH=$LUPATCHPATHROOT/$SRCREV/`mach`

#
# Add the patches needed
#
echo Adding OS patches
mount $LUPATCHHOST:$LUPATCHPATH /mnt >/dev/null 2>&1
if [ $? = 0 ] ; then
    for patch in `cat /mnt/*Recommended/patch_order` ; do
        (cd /mnt/*Recommended/$patch ; echo yes | patchadd -u -d -R $BASEDIR .)
    done
    cd /tmp
    umount /mnt
else
    echo "No patches found"
if

Customizing the Root Environment With a Finish Script

You can also use finish scripts to customize files that are already installed on a system. For example, the finish script in the following example customizes the root environment by appending information to the .cshrc file in the root (/) directory.

Example 4-7 Customizing the Root Environment With a Finish Script

#!/bin/sh
#
# Customize root's environment
#
echo "***adding customizations in /.cshrc"
test -f a/.cshrc || {
cat >> a/.cshrc <<EOF
set history=100 savehist=200 filec ignoreeof prompt="\$user@`uname -n`> "
alias cp cp -i
alias mv mv -i
alias rm rm -i
alias ls ls -FC
alias h history
alias c clear
unset autologout
EOF
}

Non-Interactive Installations With Finish Scripts

You can use finish scripts to install additional software after the Oracle Solaris OS is installed. The Oracle Solaris installation program prompts you to enter information during the installation. To maintain a hands-off installation, you can run the Oracle Solaris installation program with the -nodisplay or -noconsole options.

Table 4-1 Oracle Solaris Installation Options

Option
Description
-nodisplay
Runs the installer without a graphic user interface. Uses the default product installation unless the installation was modified by the -locales option.
-noconsole
Runs the installation without any interactive text console device. Useful when paired with -nodisplay for UNIX script use.

For more information, see the installer(1M) man page.