Auburn University

College of Engineering Auto Install

The College of Engineering Solaris Auto Install Setup is made up of the following:

Breif description of auto install
Description of College of Engineering auto install set up.
The preinstall script.
The OS install .
The postinstall script.
Final step is patching script.
Thanks to Casper Dik and Richard Elling for portions of the auto_install
Addition information and configuration ideas can be obtained from ftp.fwi.uva.nl.

Breif description of auto install

A typical way to install Solaris software is to use the installation program to copy the Solaris CD with your system. However, it is uncommon at most sites for every system to have a local CD-ROM drive. When a system does not have a local CD-ROM drive, you can perform a network installation. Network installation means that you install software over the network -- from a host that has the install Solaris software. This system could have a CD-ROM on it which has the Solaris CD or it could have loaded the CD onto a hard drive. This machine then becomes know as the install host.

Description of Auburn Unversity College of Engineering Auto Install.

In the College of Engineering we have set up a install host. This host has a extra 300mb disk that we dump the CD-ROM on. We then setup the necessary customization in a subdirectory of the install directory. For the systems local to the install host we use the install host as the boot host. On other College of Engineering subnets we setup boot hosts which provide enough information to the client so the client can get the auto install stuff off of the install host.

The preinstall scripts and what they do.

We use the pre-install script to setup the machine for the auto-install. The things we do are the following:

Replace newfs with a wrapper so that it calls newfs with the proper parameters
Replace mount with a wrapper so that after the filesystems have been mounted we make them fast

So now we have finished our pre-install.

The OS install

The auto install is made up of several parts. These parts consist of the rules for the type of install and then the profile for the install.

Auto Install Rules
The auto install rules specify what profile should be ran based on the specifics of the machine. These specifics are made up of the following:
Comparison    Match           Data
----------    -----           ----
any          ignores         - (always matches true)
arch         exact           application arch text string
domainname   exact           domainname as text string
disksize     disk range      disk device name, disk size as range of MB
hostname     exact           hostname as text string
installed    disk release    disk device name, OS release
karch        exact           kernal arch as text string
memsize      range           memory size as range of MB
model        exact           machine model, example 4_75
network      exact           network as dotted decimal address
totaldisk    range           total amount of disk space as range of MB
Here is an example.
The OS profile
The OS profile specifies what the machine should like. The following is a basic list of profile directives:
install_type
This would be either initial_installor upgrade
system_type
Options for System type are:standalone, serveror, dataless.
partitioning
The different type of partitioning are:default, existingor, explict.
filesys
filesys can be used for creating local fileystems or be used to hard mount nfs filesystems. For local filesystems use
filesys slice size [filesystem] [options]
For nfs filesystems use
filesys server:path server_address mount_pt_name [mount_options]
cluster
cluster designates what software group to add to or deleted from the system. The primary Solaris clusters are:
Software Group                    groupname

Core                              SUNWCreq
End user system support           SUNWCuser
Developer system support          SUNWCprog
Entire distribution               SUNWCall

cluster cluster_name [add|delete]
package
package designates whetjer a package should be added to or deleted from the software group that will be install on the system.
package package_name [add|delete]

Here is anexample of a profile.

Post Install

The post install is the area where you add your special touches to. for us the finish script does the following basic items:

We first set the root password.
After that we load in all the site specific packages
We have set up packages for the site specifc items.
We then set-up some links and changes some perms of some files
Some of those include links for automounting mail/ adding links for specific software, etc...
We then run a frame buffer selector program.
To optimize space and to make it easier in a multi framebuffer network we have a script that detects which framebuffer is installed. This script is not very robust. Right now it does a pretty good job. One feature to be added later will be the support of multi frame buffers.
We then add in the cache file system so we can reduce the about of NFS traffic on the ENG backbone
The cache script adds the cache filesystem to the usr partition. So you might want to make the usr partition a nice size partition
The last thing we do is add the printers.
For this we use a script that calls a lot more scripts. Since we have well over a 100 printers a solution for adding printers to machines had to be thought of. So we have a directory structure that consists of a couple of directories. The printer directory contains a ksh script for each print. So if you want to add that printer to a machine you just run that printer.ksh. We also have a group directory. This directory has a listing of all the printer groups(This is mostly by department). The last directory is the host directory. This directory holds host profiles. Most often a host is simlinked to a simliar machine set-up. So the add_printer script looks at a table generated by DNS which tells it which printer group the installing host belongs to so then the script installs all the printers in that group. (Wow this is confusing. I might have to rewrite this later.)

Here is an example of the post install script

Please enter your comments