• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

The ultimate Solaris jumpstart troubleshooting guide

by admin

How to Configure a Solaris 10 Jumpstart server and client [SPARC]

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 :

Jumpstart setup

Jumpstart setup

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.

How to Configure a Solaris 10 Jumpstart server and client [SPARC]

Filed Under: Solaris

Some more articles you might also be interested in …

  1. Script for finding the process using a specific port in Solaris
  2. Solaris 10 zones troubleshooting : Unable to Share NFS File Systems From a Non-global Zone
  3. How to install a ZFS boot block in solaris
  4. Solaris Snoop : 15 Awesome practical examples for packet sniffing
  5. Oracle VM Server for SPARC (Ldoms) : How to Change Primary/Control Domain’s UUID
  6. How to configure additional IP address on the same interface in solaris zones
  7. Beginners Guide to Solaris 11 Network Administration
  8. How to Backup and Restore ZFS root pool in Solaris 10
  9. How Passwordless SSH works in Linux / UNIX
  10. ZFS destroy error “cannot determine dependent datasets: recursive dependency”

You May Also Like

Primary Sidebar

Recent Posts

  • qm Command Examples in Linux
  • qm wait Command Examples in Linux
  • qm start Command Examples in Linux
  • qm snapshot Command Examples in Linux

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright