Documente Academic
Documente Profesional
Documente Cultură
COURTESY : http://amorin.org/professional/jumpstart.php
Abstract
This is an introduction to custom automated installation in a Solaris environment. It is an
overview of the necessary systems, services, and configurations needed for easy client integration
into existing corporate environments. General pre and post install modifications will also be
discussed.
What is Jumpstart
The Jumpstart feature is an automatic installation process available in the Solaris operating
environment. It allows system administrators to categorize machines on their network and
automatically install systems based on the category to which a system belongs.
Reasons to Automate
• Simplifies installations
• Speed - Faster then CD-ROM installation
• Allows unattended installation
• Replication - same systems across the enterprise
All Solaris base installations require some basic configuration. With Jumpstart, Sun has enabled the
system administrator to avoid repetitive tasks associated with bringing a sun system online.
Prerequisites
• A boot server on the same ethernet segment
• An install server with the Solaris OS
• A Jumpstart configuration server that defines rules and profiles.
Overview
IMAGE
1. Client sends a RARP for its IP address
2. The Boot Server responds via RARPD (in.rarpd) with the IP address
in /etc/ethers or the ethers NIS/NIS+ map depending on the
ethers setting in /etc/nsswitch.conf
3. The client sends a tftp request for a bootimage
4. The server starts in.tftp from inetd and sends the small net kernel
image
5. The client then sends out a bootp request
6. The server responds with the clients entry from /etc/bootparams
7. The client NFS mount it’s root partition from the install server
8. The client then mounts the configuration server (/jumpstart) and runs
“sysidtool”.
9. It then mounts the install image and runs Suninstall to begin the
install process.
Boot Server
The boot server is composed of rarpd (in.rarpd), bootp (in.bootparamd), and tftp (in.tftpd)
servers for solaris systems and rplboot for x86 architecture. The Boot server must be on the client’s
local network due to the fact that rarp packets will not be forwarded across a router.
Server Files:
/etc/ethers Contains entry for install clients ethernet address
8:0:20:ab:cd:ef client_name
C0A8000B.SUN4U
inetboot.SUN4U.Solaris_81
rm.192.168.0.11
tftpboot
/rpldboot Used in x86 installs (tftp
equivalent)
192.168.0.12.glue.com
192.168.0.12.hw.com
192.168.0.12.inetboot
gluecode.com
inetboot.I86PC.Solaris_2.7-1
rm.192.168.0.12
smc.com
Design
Install Server
The install server supplies the client with the Solaris OS. It is an NFS share with the Solaris
install image. Any OS able to export NFS shares is able to serve as a Jumpstart Install Server.
Configuration Server
The configuration Sever is comprised of the rules file, profiles, and sysidcfg. It allows the
administrator to have available different custom jumpstart configurations based on rule sets. This is
very helpful when different groups within an organization require different system configurations.
Below are examples of a profile. Profiles contain filesystem layout and package
information.
Example:
# profile keywords profile values
# ----------------- -----------------
install_type initial_install
system_type standalone
partitioning default
filesys s_ref:/usr/openwin/share/man -
/usr/openwin/share/man ro,quota
cluster SUNWCprog
Example:
profile keywords # profile values
install_type initial_install
system_type standalone
partitioning default
cluster SUNWCuser
Derived Profiles
A derived profile is a profile that is dynamically created by a begin script during a custom
JumpStart installation. Derived profiles are needed when you cannot set up the rules file to match
specific systems to a profile (when you need more flexibility than the rules file can provide).
Set the profile field to an equal sign (=) instead of a profile.
Note: If a begin script is used to create a derived profile, make sure there are no errors in it. A
derived profile is not verified by the check script because it is not created until the execution of the
begin script.
Example:
#!/bin/sh
Verify Profile
After you create a profile, use the pfinstall command to test the profile before you actually use it to
install or upgrade a system. Testing a profile is especially useful when you are creating upgrade
profiles that reallocate disk space. Profiles should only be tested on systems with the same
architecture (i386 or sparc) as the Jumpstart clients to ensure accurate results.
Rules File
The rules file is a text file used to create the rules.ok file. The rules file is a look-up
table consisting of one or more rules that define matches between system attributes and profiles. For
example, the rule
karch sun4c - basic_prof –
matches a system with a sun4c platform name to the basic_prof profile, which the Solaris
installation program would use to install the system.
#### [!]keyword value [&& [!]keyword value] ... begin profile finish
any - - any_machine -
^ ^ ^ ^ ^
| | | | |
| | | --------------- Profile
any - - any_machine -
Usage: check [-r <rules filename>] [-p <Solaris 2.x CD image path>]
Sysidtool Suite
When you boot Solaris, a set of programs called sysidtool configures your system, prompting for
information needed such as the client’s host name and IP address, the local date and time, the time
zone and the netmask. NIS or NIS+ can provide this information, otherwise you have to enter it
manually before JumpStart can install the OS and packages. It is also possible to create a sysidcfg
file, which must be on either local media or a nfs exported filesystem.
The sysidcfg file is a file where, starting with Solaris 2.6, all the configuration information required
during an OS installation can be specified. A change needed to be made to the sysidcfg provided as
part of the Jumpstart package in order for the process to work on your local network.
Sysidcfg Example:
System_locale=en_US
name_service=NONE
security_policy=NONE
root_password=XXXXXXXXX
system_locale=C
timezone=US/Eastern
timeserver=localhost
terminal=sun-cmd
Note: To use "name_service=NONE" with Solaris 2.6 you will need to load patch
106193-03 or greater. Also to use network_interface=primary on Solaris 2.6, you
need patch 106193-0 or greater. Solaris 7 and Solaris 8 do not need any patches
Note: Solaris 8 will prompt for two new options, ipv6, and kerberos. To avoid user interaction you
must include answers to these options in the sysidcfg file.
network_interface=le0{netmask=255.255.255.0 protocol_ipv6=no}
Pre Solaris 2.6 did not support sysifcfg option. NIS/NIS+ can be used to supply system
information
The installation utility will look to the floppy drive for all configuration information.
Directory listing
drwxr-xr-x 4 root other 512 Jan 16 12:58 .
x86
The x86 Solaris installation cannot be totally automated. The default for installation media is local
CD-ROM, you must choose network install at the intro screen.
Openwindows
X86 Solaris install will prompt during the install for openwindows parameters. To be able
to automate these values you must pass them to the client through rplboot system.
#kdmconfig -c -s
Take the additions to the /etc/bootparms file and append them to your bootparms entry on the boot
server
Begin/Finish Scripts
A begin/finish script is a user-defined Bourne shell script, specified within the rules file, which
performs tasks after the Solaris software is installed on the system.
variables
Variable Description
Begin/Finish details
• The Solaris installation program mounts the system's file systems onto /a. The file
systems remain mounted on /a until the system reboots. Therefore, you can use the finish
script to add, change, or remove files from the newly installed file system hierarchy by
modifying the file systems respective to /a.
• Output from the finish script goes to /var/sadm/finish.log.
• Finish scripts should be owned by root and have permissions equal to 644.
Configuration
Steps
Server
1. Create install server(s).
2. Create a profile server
3. Create profiles
4. Create begin and finish scripts
5. Create and check rules file
Client
6. Add Client(s)
7. Boot Client(s)
Server Setup
1. The first step copies the Solaris CD to the disk. You will need around 450Mb of free space in
this directory.
# cd /cdrom/cdrom0/s0/Solaris_2.6/Tools
# ./setup_install_server /export/Solaris_2.6
Verifying target directory...
Calculating the required disk space for the Solaris_2.6 product
Copying the CD image to disk...
Install Server setup complete
#
Note: for Solaris 8 if you would like to include CD 2 (Supplemental), insert CD 2 and run
# cd /cdrom/cdrom0/s0/Solaris_8/Tools
#./add_to_install_server /export/Solaris_2.6
#shareall
3. Create profiles (Reference Profiles)
Copy profile into /jumpstart directory
# cd /jumpstart
# ./check
Validating rules...
Validating profile any_machine...
The custom JumpStart configuration is ok.
# cat rules.ok
any - - any_machine -
#./add_install_client –e <CLIENT_ETHERNET_ADDRESS>
-s <INSTALL_SERVER>:<OS_IMAGE_DIRECTORY
-c <CONFIG_SERVER>:<CONFIGURATION_DIRECTORY>
-p <CONFIG_SERVER>:<PATH_TO_SYSIDCFG_FILE>
-n [SERVER]:name_service[netmask]
# cd /jumpstart/Solaris_2.6/Tools
# ./add_install_client \
-e 8:0:20:7a:22:7e \
-t /jumpstart/Solaris_2.6/Tools/Boot \
-p server.rainmonkey.org:/jumpstart \
-c server.rainmonkey.org:/jumpstart \
-s server.rainmonkey.org:/export/Solaris_2.6 \
client.rainmonkey.org \
sun4u
Note: There must be an entry in the /etc/hosts for client.rainmonkey.org and server.rainmonkey.org
Client
Upgrade:
#reboot "net - install"