Troubleshooting jumpstart issue can be cumbersome. Here is a list of check and tips to get you started on troubleshooting most commonly occurring jumpstart problems. The example Jumpstart setup looks like the one shown in the figure below :
Verifying Settings on Jumpstart Client
Understanding which interface will be used for jumpstart installation (SPARC)
When we do a jumpstart installation, the client sends out RARP requests to the jumpstart boot server to get an IP address corresponding to one of its network interface’s MAC address. Thus knowing which interface is being used in jumpstart installation is very important.
To check all the available network interfaces on the system :
ok> show-nets a) /pci@0/pci@0/pci@1/pci@0/pci@3/network@0,1 b) /pci@0/pci@0/pci@1/pci@0/pci@3/network@0 c) /pci@0/pci@0/pci@1/pci@0/pci@2/network@0,1 d) /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 q) NO SELECTION Enter Selection, q to quit: q
To check which of the above network interfaces are connected to the network :
ok> watch-net-all /pci@0/pci@0/pci@1/pci@0/pci@3/network@0,1 Timed out waiting for Autonegotation to complete Check cable and try again Link Down /pci@0/pci@0/pci@1/pci@0/pci@3/network@0 Timed out waiting for Autonegotation to complete Check cable and try again Link Down /pci@0/pci@0/pci@1/pci@0/pci@2/network@0,1 Timed out waiting for Autonegotation to complete Check cable and try again Link Down /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 1000 Mbps full duplex Link up Looking for Ethernet Packets. '.' is a Good Packet. 'X' is a Bad Packet. Type any key to stop. ....................................................
From the output above the interface /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 is connected to the network. So we can go ahead and use this interface for the jumpstart installation. To check the MAC address being used by this interface :
ok> cd /pci@0/pci@0/pci@1/pci@0/pci@2/network@0
ok> .properties local-mac-address 00 14 4f 46 52 30 mac-addresses 00 14 4f 46 52 30
Make sure you set the net alias to this interface :
ok> nvalias net /pci@0/pci@0/pci@1/pci@0/pci@2/network@0
Or in case you don’t want to set an alias use the complete path to do the jumpstart installation
ok> boot /pci@0/pci@0/pci@1/pci@0/pci@2/network@0 -v - install
Verifying settings on the Jumpstart server
1. Verify hosts and ethers file on jumpstart server
Make sure the /etc/hosts and /etc/ethers file on the jumpstart server has the entry for all the jumpstart clients and the server itself.
jumpstart # grep geeklab /etc/ethers /etc/hosts /etc/ethers:0:c:29:f6:ef:7b geeklab /etc/hosts:192.168.1.20 geeklab
Also make sure that there is no duplicate MAC address entry in the /etc/ethers file
jumpstart # grep 0:c:29:f6:ef:7b /etc/ethers 0:c:29:f6:ef:7b geeklab
If you are using any name services such as DNS, NIS, LDAP – Use the getent command to check for proper host and ethers entry.
jumpstart # getent hosts geeklab 192.168.1.228 geeklab jumpstart # getent ethers geeklab geeklab 01:02:03:04:05:06
2. Check for /etc/netmasks file
Make sure the netmask for the subnet used by jumpstart server and client is correct.
jumpstart # cat /etc/netmasks 192.168.1.0 255.255.255.0
3. Check /tftpboot directory
Verify that the /tftpboot directory has the link C0A80114 which is the IP address of client (in hex).
jumpstart # ls -l /tftpboot total 522 lrwxrwxrwx 1 root root 27 Jan 02 12:15 C0A80114 -> inetboot.SUN4U.Solaris_10-1 lrwxrwxrwx 1 root root 27 Jan 02 12:15 C0A80114.SUN4V -> inetboot.SUN4U.Solaris_10-1 -rwxr-xr-x 1 root root 220840 Jan 02 12:15 inetboot.SUN4U.Solaris_10-1 -rw-r--r-- 1 root root 322 Jan 02 12:15 rm.192.168.1.20 lrwxrwxrwx 1 root root 1 Jan 02 12:15 tftpboot -> .
4. Verify /etc/bootparams file
Make sure that the jumpstart client entry is present in the /etc/bootparams file with proper arguments.
jumpstart # cat /etc/bootparams geeklab root=jumpstart:/export/install/Solaris_10/Tools/Boot install=jumpstart:/export/install boottype=:in install_config=jumpstart:/export/install/Tools/Boot rootopts=:rsize=8192
5. Check the NFS shares
Check for the NFS share entry in /etc/dfs/dfstab
jumpstart # cat /etc/dfs/dfstab share -F nfs -o ro,anon=0 /export/install share -F nfs -o ro,anon=0 /export/config
jumpstart # share - /export/install anon=0,sec=sys,ro "install server directory" - /export/config ro,anon=0 "Config Directory"
Timeout waiting for ARP/RARP packet
This is one of the most commonly occurring issue in jumpstart installation. The Jumpstart server uses the RARP protocol to respond the clients requests with correct IP address using the /etc/ethers file. Many of the times when you manually add MAC address in /etc/ethers file, you need to restart the in.rarpd daemon.
Give sufficient time for RARP request and response
Hardware models like E25K can take longer time to send RARP request (around 60 seconds). If there is no response for 5 Minutes, you can be certain that there is a problem.
2. Check in.rarpd daemon is running on the jumpstart boot server
Check if the in.rarpd daemon is running on the boot server. This daemon is responsible for responding to jumpstart clients with its IP address.
# ps -ef | grep rarp root 546 10 Feb 02 12:20 /usr/sbin/in.rarpd -a
To start in.rarpd on the jumpstart server manually:
1. Solaris 10 :
# svcadm enable svc:/network/rarp:default
2. Solaris 9 and earlier :
# /usr/sbin/in.rarpd -a
To restart in.rarpd on the jumpstart server manually in order to ensure new nameservice entries are seen :
1. Solaris 10 :
# svcadm restart svc:/network/rarp:default
2. Solaris 9 and earlier :
# pkill in.rarpd # /usr/sbin/in.rarpd -a
3. Verify that the client RARP requests are sending the correct MAC address
Make sure that the RARP requests sent by the jumpstart client contains the same MAC address mentioned in the /etc/ethers. For this run a snoop command on the interface that should receive the RARP requests.
jumpstart # vi /etc/ethers 0:c:29:f6:ef:7b geeklab
After you run boot net – install on the jumpstart client run the snoop command on the jumpstart server :
jumpstart # snoop -d ce3 0:c:29:f6:ef:7b Using device /dev/ce (promiscuous mode) OLD-BROADCAST -> (broadcast) RARP C Who is 0:c:29:f6:ef:7b jumpstart -> geeklab RARP R 0:c:29:f6:ef:7b is 192.168.1.20, geeklab
As seen in the snoop command output the jumpstart server receives RARP request on interface ce3 and responds the client with IP address 192.168.1.20.
Verify other configuration settings
Apart from the above checks make sure you also do the below checks to ensure a proper jumpstart installation.
1. Making sure of connectivity between Jumpstart server and Client
Test the connectivity between the Jumpstart server and client. On the client you can use the watch-net command to see which interface has a link.
ok> watch-net-all
You could attach a laptop to the cable instead of the jumpstart client, configuring the IP address and pinging the client IP address from jumpstart server to make sure the connectivity between them is fine.
2. Ensuring switch port that the client is attached to is set to AUTO NEGOTIATE
Use the below commands to check switch port that the client is attached to is set to AUTO NEGOTIATE
for ge # ndd /dev/ge lp_1000autoneg_cap # ndd /dev/hme lp_autoneg_cap (for hme) # ndd /dev/qfe lp_autoneg_cap (for qfe) # ndd /dev/eri lp_autoneg_cap (for eri) # kstat ce:::lp_cap_autoneg (for ce) # ndd /dev/dmfe0 lp_autoneg_cap (for dmfe) # kstat -c net :::lp_cap_autoneg (for e1000g,nge,igb and others)
3. Verify that both Jumpstart server and client are connected to same VLAN and subnet
Make sure you have both Jumpstart server and client on the same subnet as well as on the same VLAN. Jupstart doesn’t work on WAN or on different subnets and VLANs.