Solaris Troubleshooting Jumpstart – Common Problems

How Jumpstart Works:  
 
First Level Boot Process

1) When the “boot net – install” command is issued at the ok prompt, the JumpStart client looks for a Jumpstart boot server.

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 client’s IP address and communicate it to the client.

3) A JumpStart server, on the local subnet, receives the RARP request (Reverse Address Resolution Protocol), and maps it to an IP address, using its /etc/ethers and /etc/hosts files. A name service, such as NIS or NIS+, could also be used to map the address.

4) With the IP address known, the JumpStart server generates a RARP reply to the JumpStart client.

5) The JumpStart server responding to the client’s RARP request maps the client’s ethernet address to its IP address and host name, returning this data to the client.

 

Second Level Boot Process

1) The JumpStart client downloads a minimal kernel(miniroot) from the JumpStart server, into the JumpStart client’s memory. This comes by way of a TFTP request, issued by the Jumpstart client.

2) When the JumpStart server receives the TFTP request, it searches for a matching IP address and architecture, in the “/tftpboot”  directory.

3) Once the JumpStart client is booted from the miniroot, it locates the “rules.ok” file. The entry is checked, to make sure it matches that of the JumpStart client.

4) When the match is found, the actions specified are executed. First, the “begin” scripts(if any) are executed. Then the specified profile is installed, and finally the “finish” scripts(if any) are executed.

Points about Boot Servers!!!!!!

Normally, The JumpStart server provides the boot program for  booting clients. However, under one condition, the Solaris OS 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. A boot server
must be set up, when the install client is on a different sub-net from the install server.

SPARC based technology 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.

 

 

Common problems with Jumpstart a client

 

  1. boot fails

  2. jumpstart fails

  3. boot net fails

  4. install fails

  5. network boot fails

  6. Timeout waiting for ARP/RARP packet

  7. Cannot net boot system

 

Troubleshooting Jumpstart :

 

1. Ensure that sufficient time is allowed for RARP request and response.

 

      Some servers, in particular, the Sun Fire F15K and E25K servers can take up to 60 seconds or more before they bring up a link and send a RARP request. If no RARP response is received within 5 minutes, you can be reasonably certain it won’t work at all.

 

2. Verify that the boot server can see incoming RARP requests from your client

 

    follow the proedure “troubleshooting rarp/arp timeout requests” to verify the RARP requests are the expected ethernet address and if it is successful go forward for next checks.

 

3. Verify that in.rarpd is running on the boot server

 

login to boot server ( many times boot server and install servers are same) and check for rarpd process as below

    

    #ps -ef|grep rarp

    root 546 10 Sep 02 0:00 /usr/sbin/in.rarpd -a

 

if you find the process is not running, just as mentioned below

 

 

    For Solaris 10 , as root:                 # svcadm enable svc:/network/rarp:default 
    For Solaris 9 and Earlier, as root:   
# /usr/sbin/in.rarpd -a

 

4. Confirm that there is a unique, valid entry in the appropriate nameservice for the client on the boot server .

 

If your environment having common practice of decommissiong servers and reinstall them with different hostname or IP, then it is possible to have the duplicate entries in servers’ “/etc/ethers” and “/etc/hosts” files. Please make simple checks as mentioned below

        # grep myclient /etc/ethers /etc/hosts 
        /etc/ethers:01:02:03:04:05:06 myclient 
        /etc/hosts:192.168.1.228 myclient

 

Additional validity checks include:

 

In the event that entries have to be changed, it is a good idea to restart the nscd and in.rarpd daemons.

 

Confirm that the client hostname matches exactly between the ethers and hosts database. For example, using the Fully Qualified Domain Name (FQDN) in the ethers database and then the short name in the hosts database will not work.

Confirm that the /etc/nsswitch.conf file is setup to point to the correct ethers and hosts database locations and that the ordering is as you expect. For example, if the client information is located in /etc/ethers and /etc/hosts, confirm that /etc/nsswitch.conf has “files” first for the ethers and hosts entries.

If, for example, there is an entry in both NIS and files, and NIS was first, but invalid for that client, the arp/rarp will return the wrong details.

Confirm that the mac address alpha characters in the ethers database are all lower case – upper case has been seen to be a problem with some version of OS.

Confirm that there are no leading zeros in the mac address for the client in the ethers database. For example, change 08:00:20:0f:07:45 to 8:0:20:f:7:45.

5. Ensure that the netmask for the interface on the boot server that should service the RARP request is correct

 

The most common netmask is 255.255.255.0, the typical Class ‘C’ netmask, however it’s still common for other netmasks to be used. Note also that Solaris still adheres to the older style of netmask assumptions, in that if your network address is in the Class A address range, Solaris will by default assume that your netmask is 255.0.0.0. If your network address is in the Class B range, Solaris will assume a netmask of 255.255.0.0. In modern environments, these assumptions are frequently incorrect.

If you are uncertain of the netmask for the network you are attached to, discuss it with your site network administrators

Ramdev

Ramdev

I have started unixadminschool.com ( aka gurkulindia.com) in 2009 as my own personal reference blog, and later sometime i have realized that my leanings might be helpful for other unixadmins if I manage my knowledge-base in more user friendly format. And the result is today's' unixadminschool.com. You can connect me at - https://www.linkedin.com/in/unixadminschool/

15 Responses

  1. anil says:

    Hi Ramdev

    Solaris 11 has deprecated Jumpstart and introduced automated Installer do you have any practical exposure using AI

    WE faced several issues WAN booting sun servers to jumpstart sol10 on sunfire V870 servers.

  2. Ramdev Ramdev says:

    Hi Anil,  I have not  tested AI yet, in production. Sorry :).
    You can discuss the WAN boot issues with solaris 10 that you are experiencing now.

  3. Sameer Gole says:

    Hi Ramdev, Excellent doc. I just solved the complex jumpstart problem using this doc.
    Thanks

  4. akshay says:

    Hi,
    wht i role of “/tftpboot” directory; why its content

    also can u tell us what is jet installation & how its worked???????

    • Ramdev Ramdev says:

      /tftpboot mainly used to holds portable kernel which helps to boot the server from network. JET ( Jumpstart Enterprise Toolkit) refers to the total jumpstart framework. And it will come with some additional scripts to make the jumpstart installation lot more easier ( for solaris 10 and earlier).

  5. Ramdev Ramdev says:

    @Sameer – happy to know that it worked for you

  6. akshay says:

    HI,

    I want to perform OS up-gradation from solaris 10 U2 to solaris 10 U9 but through JUMPSTART.

    so can u help me what r change in installation & up-gradation via JUMPSTART….

  7. akshay says:

    Sir i am still waiting 4 ur reply…

    1 more thing on 1 server i fresh install solaris 10 U9. but after installation i found that i give wrong locale. us-en-1 but app team want us-en-15. so i edit /etc/TIMEZONE file & give req. locale. but its does nt take effect in locale cmds. is there is any process to refresh locale service. I cant take reboot as its production server.

  8. roony says:

    –> akshay

    1)  check this “locale” file first
          and the file path is “usr/lib/locale”
    2)  Then check “/etc/default/init” &  “/etc/TIMEZONE”
    3)  U must have to reboot the S,unless it won’t take effect.

          
      

  9. Ramdev Ramdev says:

    Thanks Roony.

    Akshay, please check the settings from /etc/default/init, that should fix the problem. About the version upgrade, I couldn’t recollect actual instructions for jumpstart. But will refer my notes and post you back.

  10. santhu says:

    Thanx for the doc ..

  11. santhu says:

    Hi ram ,,Can i set up jumpstart server on a pc and install solaris using this server in sun virtual box which is installed over my laptop??

    • Ramdev Ramdev says:

      Yes you can. Just use the bridged interface on virtual box, and select the network as first boot device from
      “virtual machine -> settings -> system -> motherboard tab -> boot order -> select network and move to top”

  12. Srinivas says:

    Hi Ramdev,

    Could u please provide the difference between process and a service in solaris.

  13. Ramdev Ramdev says:

    Service  is something that operating system delivers to end user by running different processes together. Example : NFS is a service that solaris provides us to share the data, by running different processes like nfsd, mountd , statd …etc.

    real world example:

    you know that Indian railways provides online reservation service to the customers. But to deliver that service to you, it has to run multiple processes such as  proper website, payment procedures and ticket delivery to you, together faultless.

What is in your mind, about this post ? Leave a Reply

Close
  Our next learning article is ready, subscribe it in your email

What is your Learning Goal for Next Six Months ? Talk to us