Handsoff Jumpstart using "sysidcfg" with no Nameservice For Solaris 2.6, Solaris 7, & Solaris 8 Updated 09/05/00 A) About Jumpstart What is Jumpstart? The Jumpstart feature is an automatic installation (auto-install) process available in the Solaris 2.X operating environment. It allows system administrators to categorize machines on their network and automatically install systems based on the category (class) to which a system belongs. When should Jumpstart be used? Use Jumpstart: * To install new systems on the network. * To upgrade from one version of Solaris to another. * To install the Solaris environment on existing systems. How Jumpstart works. 1) Boot the client across the network. ok boot net - install (Don't forget spaces around the "-") The client issues a RARP (reverse address resolution protocol) request across the network to the boot server in order to determine its Internet address. 2) The boot server responds to the rarp request via the "rarpd" daemon (in.rarpd). Using the information in the /etc/ethers file the server can obtain the IP address of the client and return it back to the client. 3) The client then gets its bootblock info by way of a TFTP request. 4) On the boot server, the "inetd" daemon listens for and handles requests. This daemon receives the tftp request and spawns the in.tftpd daemon to handle this request. The Jumpstart boot image is sent back to the client. 5) From the client, the Jumpstart boot image issues a hostconfig request for boot parameters. 6) The boot server returns the information contained in the /etc/bootparams file to the client. 7) Once the client has its boot parameters, the boot program on the client mounts the root (/) partition from the boot server and /kernel/unix, which starts the "init" program (amongst other things). When the boot server is finished bootstrapping the client, it points the client to the configuration server. * Note!! Keep in mind that this example is using a boot server that is also the install server. If this was a separate install server then the client would retrieve its boot info from the specified install server and not the boot server. 8) The client finds the configuration server from info in the bootparams file. The client mounts the configuration directory and runs "sysidtool". The client then uses more bootparams information to locate and mount the install (OS image) directory. The client then runs Suninstall and installs itself. * Just A Note About Boot Servers!!!!!! Normally, The install server provides the boot program for booting clients. However, under one condition, the Solaris network booting architecture requires you to set up a separate "boot server". A boot server is a system with just enough information to boot up a client over a network. You have to setup a boot server when the install client is on a different subnet than the install server. SPARC install clients require a boot server when they exist on different subnets because the network booting architecture uses the reverse address resolution protocol (RARP). When a client boots, it issues a RARP request in order to obtain its IP address. RARP, however does not acquire the netmask number, which is required to distribute information across a router on a network. If the install/boot server exists across a router the boot will fail because the network traffic cannot be routed correctly without a netmask number. The result is that you can install a client across a router, but you cannot boot a client across a router. So you will have to setup a separate boot server on the same subnet as the client. B) Setting up Jumpstart. (The following is a sample setup with Solaris 2.6) The first scenario has a system that is a boot, install, and configuration server all in one. the client is a sparc 5 system. Note!!! Keep in mind that the "\"'s after some of the command lines depict a new line and are not actual parts to the command syntax. 1) Gather all system and network information. boot/install/config server name boot_svr OS image directory /export/install configuration directory /jumpstart Client Information Name sparc5_1 Ethernet address 8:0:20:ab:cd:ef IP address 129.151.29.10 Architecture sun4x 2) Create the boot/install server. You will first need to load the OS image from the Solaris 2.6 CD onto the servers local disk. You will need around 350 MB's of free space in this directory. (Takes about an hour!) boot_svr# cd /cdrom/cdrom0/s0/Solaris_2.6/Tools boot_svr# ls Boot dial setup_install_server add_install_client rm_install_client boot_svr# cd /export boot_svr# mkdir install boot_svr# ./setup_install_server /export/install Verifying target directory... Calculating the required disk space for the Solaris_2.6 product Copying the CD image to disk... Install Server setup complete boot_svr# cd /export/install/Solaris_2.6 boot_svr# ls Docs Misc Patches Product Tools Note: For Solaris 8 use CD 1 of 2, run setup_install_server from: boot_svr# cd /cdrom/cdrom0/s0/Solaris_8/Tools boot_svr# ./setup_install_server /export/install Note: If running "./setup_install_server -b" to setup a boot server only, you do not need the next step. After this is complete, use Solaris 8 CD 2 of 2 and do the following: boot_svr# cd /cdrom/cdrom0/s0/Solaris_8/Tools boot_svr# ./add_to_install_server /export/install
3) Create the configuration directory on the server. Now that the install and boot server information is taken care of, you can set up the configuration portion of it. Create the directory and copy the necessary files in order to perform a custom jumpstart installation. You set this up by copying the sample directory from the OS image directory (/export/install/...) to the /jumpstart directory. boot_svr# mkdir /jumpstart boot_svr# cp -r /export/install/Solaris_2.6/Misc/jumpstart_sample/* /jumpstart 4) Create a Profile for the system. This file is used as a template for the custom jumpstart installation. For this install we're going to use the default profile called "any_machine". This file can be found in /jumpstart. This can also be edited to suit your individual needs. Check out chapters 8 & 9 in the Automating Solaris Installations book (referenced at the end of this document) for instructions and examples of profiles. boot_svr# cat /jumpstart/any_machine install_type initial_install system_type standalone partitioning explicit cluster SUNWCXall cluster SUNWCxgl delete package SUNWaudmo add filesys any 40 swap filesys any 50 /opt 5) Create the sysidcfg file. The sysidcfg file is used to automate the system identification portion of the Solaris install. The following is the one I used for this installation boot_svr# vi /jumpstart/sysidcfg system_locale=en_US timezone=US/Eastern timeserver=129.151.29.1 <------ boot_svr's IP address network_interface=le0 {netmask=255.255.255.0} terminal=dtterm name_service=NONE
Note: To use "name_service=NONE" with Solaris 2.6 you will need to load patch 106193-03 or greater. For Solaris 8 you must use: network_interface=primary {netmask=255.255.0.0 protocol_ipv6=no} security_policy=NONE Note: To use network_interface=primary on Solaris 2.6, you need patch 106193-03 or greater. Solaris 7 and Solaris 8 do not need any patches.NONE
6) Update the Rules file. The "rules" file is a text file used to create the "rules.ok", and is probably the most important file for custom jumpstart installations.You can view this file as a look-up table consisting of one or more rules that define how install clients are installed, based on their system attributes. In this example we used the "any" keyword for the first rule (machine attributes) and the file "any_machine" for the fourth rule (profile name) and all others are left blank. ("-" = match always succeeds ) boot_svr# cat /jumpstart/rules #### #### # any - - any_machine - ^ ^ ^ ^ ^ | | | | | | | | | -------------- Finish script | | | --------------- Profile | | -------------- Begin script | ----------- Rule Value (specific system attribute) ----- Rule keyword (general system attributes) 7) Check the rules file. This is run to validate the rules file. This command creates the rules.ok file which is required by the installation software to match install clients to the predetermined rules. Note!! For this example you should have one line of information in the rules that is UNcommented. (any - - any_machine -). Delete any other uncommented lines in this file that don't pertain to this particular install client before running the check script. boot_svr# cd /jumpstart boot_svr# ./check Validating rules... Validating profile any_machine... The custom JumpStart configuration is ok. boot_svr# cat rules.ok (check for any unwanted lines!!) any - - any_machine - boot_svr# 8) Set up the client to install over the network After setting up the /jumpstart directory and appropriate files, you use the "add_install_client" command on the server to setup the client to install Solaris from the server. You will also have to add the entry for the client into the "/etc/hosts" file manually. boot_svr# vi /etc/hosts # # Internet host table # 127.0.0.1 localhost 129.151.29.1 boot_svr loghost 129.151.29.10 client_name <----- Add this line! ~ boot_svr# The proper syntax for this command is: # ./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] (The brackets "[]" are needed!!!) CLIENT_NAME ARCHITECTURE boot_svr# cd /export/install/Solaris_2.6/Tools boot_svr# ls Boot dial setup_install_server add_install_client rm_install_client* boot_svr# ./add_install_client -e 8:0:20:ab:cd:ef -s boot_svr:/export/install -c boot_svr:/jumpstart \ -p boot_svr:/jumpstart client_name sun4x Adding "share -F nfs -o ro,anon=0 /export/install" to /etc/dfs/dfstab making /tftpboot enabling tftp in /etc/inetd.conf updating /etc/bootparams copying inetboot to /tftpboot boot_svr# In the "add_install_client" command, -e Adds the clients info into the "/etc/ethers" file. -s Specifies the name of Install server (boot_svr) and path (/export/install/Solaris_2.6/) to the OS image This option is necessary if the client is being added to boot server. -c Specifies the server (boot_svr) and path (/jumpstart) to locate the configuration files. -p This specifies the configuration server (boot_svr) and the path (/jumpstart) to the "sysidcfg" file. -n This option specifies which name service should be used during system configuration. This sets the "ns" keyword in the bootparams(4) file. name_service Valid entries are "nis", "nisplus", and "none". SERVER The name of the server or IP address of the specified name service. If the server specified is on a different subnet, then the netmask may be needed to enable the client to contact the server. netmask The netmask value specified in /etc/netmasks boot_svr Is the name of the boot/install/configuration server. sparc5_1 Is the name of the jumpstart client. sun4m Is the type of architecture for the client. 9) Check to make sure the proper directories are shared. You may have to add the configuration (/jumpstart) directory into the dfstab file. The following example is how the dfstab file should look. NOTE!!! If the /jumpstart entry doesn't exist then you will have to add this line manually and type in "shareall" to enable all the shared entries. boot_svr# cd /etc/dfs boot_svr# more dfstab # place share(1M) commands here for automatic execution # on entering init state 3. # # share [-F fstype] [ -o options] [-d "<text>"]<pathname>[resource] # .e.g, # share -F nfs -o rw=engineering -d "home dirs" /export/home2 share -F nfs -o ro,anon=0 /export/install share -F nfs -o ro,anon=0 /jumpstart <-- May have to add manually boot_svr# shareall (to enable the share entries) boot_svr# dfshares (to verify that they are shared) RESOURCE SERVER ACCESS TRANSPORT boot_svr:/export/install boot_svr - - boot_svr:/jumpstart boot_svr - - 10) Boot the client and install the Solaris software This is done at the client (client_name). ok boot net - install C) A listing of some of the files and directories that are created or changed on the boot server (boot_svr) during the installation procedure. boot_svr% cd /tftpboot boot_svr: boot_svr% ls -la total 362 drwxrwxr-x 2 root other 512 Jan 16 13:10 ./ drwxr-xr-x 47 root root 1024 Jan 16 13:10 ../ lrwxrwxrwx 1 root other 28 Jan 16 13:10 81971D0A.SUN4x -> \ inetboot.SUN4M.Solaris_2.6-1* -rwxr-xr-x 1 root other 171460 Jan 16 13:10 inetboot.SUN4x.Solaris_2.6-1* -rw-r--r-- 1 root other 301 Jan 16 13:10 rm.129.151.29.10 lrwxrwxrwx 1 root other 1 Jan 16 13:10 tftpboot -> ./ boot_svr% cat /etc/ethers 8:0:20:ab:cd:ef client_name boot_svr% cat /etc/hosts 127.0.0.1 localhost 129.151.29.1 boot_svr loghost 129.151.29.10 client_name boot_svr% cat /etc/bootparams boot_svr boottype=:os client_name root=boot_svr:/export/install/Solaris_2.6/Tools/Boot \ install=boot_svr:/export/install boottype=:in \ sysid_config=boot_svr:/jumpstart \ install_config=boot_svr:/jumpstart rootopts=:rsize=32768 Note!!!! You may have to add NONE or the particular Name Service at the end of the bootparams line in order to overcome any problems loading over the network. boot_svr% cat /etc/dfs/dfstab # place share(1M) commands here for automatic execution # on entering init state 3. # # share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource] # .e.g, # share -F nfs -o rw=engineering -d "home dirs" /export/home2 share -F nfs -o ro,anon=0 /export/install share -F nfs -o ro,anon=0 /jumpstart boot_svr% cat /etc/nsswitch.conf # # /etc/nsswitch.nis: # # An example file that could be copied over to /etc/nsswitch.conf; it # uses NIS (YP) in conjunction with files. # # "hosts:" and "services:" in this file are used only if the # /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports. # the following two lines obviate the "+" entry in /etc/passwd and /etc/group. passwd: files nis group: files nis # consult /etc "files" only if nis is down. hosts: files nis networks: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files ethers: files nis netmasks: nis [NOTFOUND=return] files bootparams: files nis publickey: nis [NOTFOUND=return] files netgroup: nis automount: files nis aliases: files nis # for efficient getservbyname() avoid nis services: files nis sendmailvars: files boot_svr% boot_svr% cd /jumpstart boot_svr% ls -la total 84 drwxr-xr-x 4 root other 512 Jan 16 12:58 . drwxr-xr-x 47 root root 1024 Jan 16 13:10 .. -rw-r--r-- 1 root other 182 Jan 16 08:22 any_machine -rwxr-xr-x 1 root other 30029 Jan 15 13:34 check drwxr-xr-x 3 root other 512 Jan 15 13:37 jumpstart_sample -rw-r--r-- 1 root other 4742 Jan 15 13:34 rules -rw-r--r-- 1 root other 54 Jan 16 08:22 rules.ok -rw-r--r-- 1 root other 188 Jan 15 13:36 sysidcfg boot_svr% cat sysidcfg system_locale=en_US timezone=US/Eastern timeserver=129.151.29.1 network_interface=le0 {netmask=255.255.255.0} terminal=dtterm name_service=NONE boot_svr% cat rules.ok any - - any_machine - # version=2 checksum=11112 boot_svr% cat any_machine install_type initial_install system_type standalone partitioning explicit cluster SUNWCXall cluster SUNWCxgl delete package SUNWaudmo add filesys any 40 swap filesys any 50 /opt boot_svr% D) Some Troubleshooting Hints. 1) ARP/RARP errors while trying to boot up the client. This Error occurs when you boot an install client over the network, but the install client can't locate the boot server. This is usually caused by insufficient or incorrect information in the hosts and or ethers files. Also the "in.rarpd" daemon may not be running. Check to make sure /etc/nsswitch.conf file indicates the correct search path (i.e. ethers files nis). Another daemon that can cause a client not to boot is "in.tftpd". Make sure this is running (# ps -ef|grep tftpd). If it's not running then check the file "/etc/inetd.conf" and make sure the following line is not commented out: (No # symbol preceding this line) "tftp dgram udp wait root /usr/sbin/intftpd intftpd -s /tftpboot" 2) le0 or hme0: no carrier errors. This is caused by the system not being connected to the network or there is a problem with the network port. 3) RPC: Timed out This error occurs while trying to boot over the network and encountering problems with the bootparams file. Check the file for the proper information and spelling. You may have to end up removing and re-adding the client with rm_install_client and add_install_client. 4) Searching for Jumpstart directory...not found The install client is booting, but it fails to access the jumpstart directory. This will cause the "Hands Off" install to go interactive. This can be caused by a couple of things. An incorrect path name specified in the add_install_client -c command or the jumpstart directory isn't shared properly. 5) Custom Jumpstart failing (No Hands Off install or rules.ok problems). During a custom jumpstart you may be prompted to answer questions in order to complete the jumpstart. This is a Hands off install and there shouldn't be any user intervention at this time. This may be a result of the OS images "netmask" file not matching the /etc/netmasks file or sysidcfg file. Example: /etc/netmasks should look like: 129.151.0.0 255.255.255.0 (Your network number will be different.) (Sol 2.4/2.5 = "cd_image"/export/exec/kvm/"arch_dir"/netmask) (Solaris 2.6 = "cd_image"/Tools/Boot/netmask) It should look like this: 255.255.255.0 If you need to do either of the above, you must reboot the boot server. 6) WARNING: getfile: RPC failed: error 5 (RPC Timed out) This is usually a result of two or more servers responding to the same boot request. The install client may attach itself to the wrong server that contains the wrong information. Possible areas to look at are the bootparams file (look for the correct boot server), the /tftpboot directory may have multiple entries for the same client E) Other resources to check out. Reference Manuals Solaris Advanced Installation Guide (Solaris 2.6) p/n 802-5740-10 Automating Solaris Installations (A Custom Jumpstart Guide) isbn 0-13-312505-X SRDB's/PSD's/Infodocs....10919 srdb Jumpstart fails to detect rules.ok10952 srdb Jumpstart does not mount all file systems12315 srdb Client does not configure hostname.le0 after jumpstart11972 srdb Jumpstart boots interactive instead using rules.ok file12195 srdb Jumpstart: Install client boots from wrong server12018 srdb Jumpstart error:filename is not a valid Solaris 2.x install CDROM11070 srdb Jumpstart gets stuck in configuring /dev12019 srdb Jumpstart add_install_client Error:Unknown client "hostname"12196 srdb jumpstart: install client doesn't boot, install server configured12022 srdb No network boot server, unable to install the system12040 srdb Requesting IP address12171 srdb WARNING: getfile: RPC failed: error 5 (RPC timed out)6383 srdb autoinstall does not use begin and finish script11862 srdb System hangs during boot net - install10247 srdb Autoinstall hands off timezone problems11070 srdb JumpStart gets stuck in configuring /dev13498 srdb Jumpstart is going interactive, looking for timezone and NIS/NIS+ nameservice14733 srdb Hands Off Jumpstart to Solaris 2.5 (and 2.5.1) without using a naming service.12112 infodoc Changes in Solaris 2.512139 infodoc Solaris 2.5 changes in service setup for clients12308 infodoc How to (re)install jumpstart image on to disk12063 infodoc Jumpstart model rules Platform Names and Groups15834 infodoc How to disable Maint. Update (MU) from jumpstart installation15744 infodoc Setting up a network interface alias
Jumpstart Setup and Troubleshooting Product Support Document (PSD)
If you are new to network and system administration
and would like
to know more about jumpstart in addition to what
is in this document
please read "Automating Solaris Installations"
A Custom Jumpstart
Guide by Paul Anthony Kasper and Alan L. McClellan.
Contents:
1) What is jumpstart?
2) Setting up up the Server
3) Adding clients
4) Check list
5) Troubleshooting Techniques
Section 1:
What is jumpstart?
1a) Jumpstart is used to install new systems with
preconfigured
software.
1b) Custom Jumpstart - Used to automatically configure
and
install systems; can be
made completely "hands off."
Section 2:
Setting up the server:
You must have an install server. If the install
sever and the
boot server are on different subnets, the boot
server must be
on the same subnet as the client.
1) On the server, insert the Solaris CD-ROM and
# cd /cdrom/cdrom0/s0
(for Solaris versions 2.5.1 and earlier)
or
# cd /cdrom/cdrom0/s0/Solaris_2.x/Tools
(substitute 6 or 7 as required)
# ./setup_install_server
/export/install
This assumes a running
volume manager.
The script might abort
for the following reasons:
a) Insufficient disk
space.
b) Cannot create
/export/install.
If the install server is on a different subnet,
set up a boot server:
Insert the solaris cdrom on the boot server and
then
# cd /cdrom/cdrom0/s0
# ./setup_install_server
-b /export/install sun4c
This will copy required kernel architecture information
from the Solaris CD
image to the boot server's local disk.
You must have a name service so that you can setup
automatic
system configuration such as geographic region,
time zone, netmask value.
Creating a profile server:
This server provides all the custom JumpStart files
for install clients
to use.
Do the following to create the profile server:
a) Create a jumpstart directory
on a server.
b) Edit the /etc/dfs/dfstab
file and share the jumpstart directory.
c) Copy the sample custom jumpstart
installation files into the jumpstart
directory
on the server.
2) Create profiles:
Sample installation profiles reside in the auto_install_sample
directory
on the solaris CD image, do the following to create
profiles:
a) Create a file and give it
a descriptive name.
b) Add profile keywords and
profile values to the profile.
Section 3:
Adding Clients
3) Update the system files or nameserver maps or
tables:
Use AdminSuite to add client
hosts
a) Select hostmanager.
b) Select nameservice
(nis, nis+, none).
c) Select edit - add host.
d) Leave remote install
disabled.
or
Add the client to files, maps, or tables manually:
a) /etc/ethers
8:0:20:12:1f:34
clienthostname
b) /etc/hosts
129.131.111.58
clienthostname
4) Add Clients
a) Run the add_install_client
script on the install server with the -c option
# cd /export/install
# ./add_install_client -c server:/export/install/jumpstart
clientname sun4c
Run the add_install_client on
the boot server if the install
server is on a different subnet
# cd /export/install
# ./add_install_client -s server:/export/install
-c \
server:/export/install/jumpstart
clientname sun4c
If you have more than one architecture, you can
avoid using -c option
above by putting an asterisk (the wild card) entry
in /etc/bootparams,
which allows all clients to access to jumpstart
information
* install_config=server:/export/install/jumpstart
What does add_install_client do?
- Adds the client entry in the /etc/bootparams
file.
- Creates client boot file in the
/tftpboot directory.
- Enables in.tftpd daemon for booting
sparc clients, modifies /etc/inetd.conf.
- Stores the ethernet address of the
install client /etc/ethers.
- Stores the IP address and the hostname
in /etc/hosts.
- Updates nsswitch.conf file to specify
the name service search path
for the client.
- Adds an entry to /etc/dfs/dfstab
to share /export/install directory.
Making Jumpstart Non-Interactive ( automatic or "hands-off" )
If you want to make jumpstart non-interactive (
automatic ) then
perform these additional steps:
NOTE: These steps are required
if you want to make jumpstart hands-off.
They are not required if you want an interactive jumsptart.
1) Create a jumpstart directory on the install
server, which contains
all the files needed by clients.
Use the sample directory from solaris cdrom.
# cd /export/install
# cp -r auto_install_sample
jumpstart
2) Create a custom jumpstart rules file.
This is a text file that is
created by using the rules keywords.
Use the one on the Solaris cd
as an example and change it
if necessary.
# cd /export/install/jumpstart
# cp rules rules.orig
# vi rules [ make changes as
per your need ]
Make sure you use the predefined
keywords.
For information on supported
keywords see InfoDoc 12063 for model rules
and platform names.
3) Create custom profile file or files.
Profiles are text files used
to define the installation configuration.
4) Create begin and finish scripts as needed.
The begin script is a shell
script for pre-install tasks.
The finish script is a shell
script for post-install tasks.
# cd /export/install/jumpstart
# cp finish finish.orig
# vi finish [ make changes
as per your need ]
See InfoDoc #11826 for a sample
finish script to install patches.
5) Create a rules.ok file using ./check script.
The check script runs a validity
check on the rules file and creates rules.ok
you can run it by
# ./check -p /export/install
or
# cd /export/install/jumpstart
# ./check
This validates the profile and
rules files for syntax and, if no errors
are found, creates rules.ok
6) Configure for "hands off" installation.
Requires the name server switch
file /etc/nsswitch.conf.
NIS or NIS+ name service is
required.
Section 4:
Check list: first things first
Have I done everything??
a) Create one or more install servers.
b) Create a boot server on the subnets.
c) Enable auto-configuration.
d) Create a profile server.
e) Create profiles.
f) Create begin and finish scripts(optional).
g) Create rules files.
h) Create a rules.ok file, execute the check script.
i) Add the install client information to the name
server.
j) Boot the install client.
Section 5: Troubleshooting
Understanding the Network Boot Process:
Client Server
ok boot net - install
--------------------------------------------------------------------------|
|
PROM broadcasts RARP request ---------> RARP server
sends IP address |
<--------- rarpd /etc/ethers
|
|
PROM makes TFTP request
---------> TFTP server sends inetboot code |
<---------- in.tftpd /tftpboot/ipadd.arch |
|
INETBOOT sends WHOAMI
----------> server sends hostname
|
request
<---------- rpc.bootparamd /etc/hosts
|
|
IBETBOOT sends GETFILE
----------> Server sends servername and path |
request
<---------- rpc.bootparamd /etc/bootparams |
|
INETBOOT sends NFS mount ---------->
Server sends kernel
|
request
<---------- rpc.mountd /etc/dfs/dfstab
|
nfsd
|
|
--------------------------------------------------------------------------
The one best tool to use to troubleshoot jumpstart
issues
is the snoop command.
Look at the manual pages for the command.
A couple of options that work well for debugging
are:
snoop -o snoop.out Client_Ethernet_Address
use snoop -i snoop.out
(View the file infodoc 11813 for more
information).
The use of the Client_Ethernet_Address will eliminate
any traffic not
addressed to or from the client in question. Additionally
it will
allow the viewing of the early portions of the
boot process including
the initial RARP and loading of the inetboot program.
You can just use snoop without naming a system
to capture all
network activity (more often more data than you'll
need - although
you can limit the protocols monitored. Or, modify
the "snoop all
activity" approach by naming one of the involved
servers AND the
JumpStartClient to monitor the activity or lack
of it between those
two systems only.
Also observe the boot messages for clues as to what may be happening.
a) Client does not boot.
Look for the error message.
boot net - install loads the
inet boot code, check the server for:
-ethernet entry in the ethers
file, table or maps.
-client entry /tftpboot directory
has the correct IP address and
architecture
# ps -ef | grep in.tftpd
if this daemon is not running, make sure
tftpd is enabled in the
/etc/inetd.conf file.
b) Client asks for hosts, time zone and netmasks
information
If you are using
NIS or NIS+ look at SRDB # 10247
No nameservice look at infodoc
# 16484
c) Time out ARP/RARP error during boot net - install
See InfoDoc 11812, make sure network hardware is ok
One helpful troubleshooting method
is to, as superuser, kill
the in.rarpd process running
on the boot server and restart it
as "/usr/sbin/in.rarpd -d".
If in.rarpd has any difficulties,
informational (debug) messages
will be presented on the boot
server (which could also be
the install/config server) console
screen.
d) client will not autoinstall
-Verify ethers or host files
-Verify whether the correct
server is responding; if not
you can remove the entries
for the client on the server that
is responding or bring
the server down until the client starts to
boot from the correct
server.
-Make sure you have a boot server
on the same subnet as the client.
-Make sure the files are shared
properly on the server.
# showmount -e
# dfshares
# unshareall
# shareall
This way you can make sure all the files are shared as per
/etc/dfs/dfstab. cat the /etc/dfs/dfstab file to see whether
you see an entry for /export/install directory.
-Check proper entry in the bootparams file.
The "rpc.bootparamd" proceess,
as was mentioned above for "in.rarpd",
can be run in Debug mode.
On the boot server, as superuser, kill
the then current "rpc.bootparam"
process and restart it as
"/usr/sbin/rpc.bootparamd -d".
If "rpc.bootparamd" encounters any
difficulties, informational
(debug) messages will be presented on the
boot server (which could also
be the install/config server) console
screen.
e) Problems with finish script
chroot: no such file or directory
use the "-R" option when installing
patches or using pkgadd.
( refer to SRDB 13135 ).
f) Patch install problems
Make sure the script is correct.
Some of the patches and packages
cannot be installed using the
finish script because some of these patches
need the machine to be rebooted.
Read the "README" file for the patches.
g) There are other troubleshooting tips on page
253 of the
Automating Solaris Installations
Guide.
Summary of other SRDB and InfoDoc articles under
jumpstart:
(As this list keeps growing, you can always search
for new articles)
10919 srdb Jumpstart fails to detect rules.ok
10952 srdb Jumpstart does not mount all file systems
12315 srdb Client does not configure hostname.le0
after jumpstart
11972 srdb Jumpstart boots interactive instead
using rules.ok file
12195 srdb Jumpstart: Install client boots from
wrong server
12018 srdb Jumpstart error:filename is not a valid
Solaris 2.x install CDROM
11070 srdb Jumpstart gets stuck in configuring
/dev
12019 srdb Jumpstart add_install_client Error:Unknown
client "hostname"
12196 srdb jumpstart: install client doesn't boot,
install server configured
12022 srdb No network boot server, unable to install
the system
12040 srdb Requesting IP address
12171 srdb WARNING: getfile: RPC failed: error
5 (RPC timed out)
6383 srdb autoinstall does not use begin
and finish script
11862 srdb System hangs during boot net - install
12112 infodoc Changes in Solaris 2.5
12139 infodoc Solaris 2.5 changes in service setup
for clients
12308 infodoc How to (re)install jumpstart image
on to disk
12063 infodoc Jumpstart model rules Platform Names
and Groups