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.
- AUengarc -- Used for static library links
- AUengmod -- Used for the Modules Package
- AUengow -- Used for changes/addition to openwindows
- AUengroot -- Used for modifications to root and usr
- AUxdm -- Used for changes/additions to XDM
- 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