[comp.sys.hp] 300/400 boot protocoll

whkr@ciba-geigy.ch (Hans Kraft) (03/22/91)

As we are setting up a small test network we need to
know, how a HP9000/3xx (4xx) diskless workstation
boots, especially how does it get its internet address.
Is its first action to ask on the lan, if some server
knows the workstations internet address? Or does it
use ethernet addresses until....?

Any help will be appreciated. Thank you.

Hans Kraft

---------------------------------------------------------
He is not too bad until you ask him to think. (S. Holmes)

milburn@me10.lbl.gov (John Milburn) (03/23/91)

whkr@ciba-geigy.ch (Hans Kraft) writes:
>As we are setting up a small test network we need to
>know, how a HP9000/3xx (4xx) diskless workstation
>boots, especially how does it get its internet address.
>Is its first action to ask on the lan, if some server
>knows the workstations internet address? Or does it
>use ethernet addresses until....?


The discless machine broadcasts (ether address) a "boot me" message.
The server has a daemon running which is configured to respond to such
requests from certain ethernet addresses.  The ether address is mapped
to a hostname, and at boot time the IP number is assigned from the
hostname mapping in /etc/hosts.

Since the protocol is a simple ethernet broadcast, and therefore not
routable, the server and the client must be on the same subnet.

A sample entry from /etc/clusterconf:

08000903c6ab:2:me9:c:1:4


The fields are as follows (from `man 4 clusterconf`)


	  machine ID	 The ETHERNET address of the attached LAN
			 card.	This is a 12 character hexadecimal
			 number.

	  cnode ID	 An integer between 1 and 255 inclusive.  Used
			 to identify cnodes within a cluster.  Each
			 entry in /etc/clusterconf must have a unique
			 cnode ID.  By convention, the cnode id of the
			 root server is 1.

	  cnode name	 The name associated with this cnode of the
			 cluster.  The cnode name may be up to 8
			 characters long.  Each entry in
			 /etc/clusterconf must have a unique cnode
			 name.

	  cnode type	 A single character.  If this machine is the
			 root server, the character will be 'r';
			 otherwise, it will be 'c'.

	  swap location  If this machine uses the root server's swap
			 space, this will be the cnode ID of the root
			 server.  If swapping locally, it will be the
			 cnode ID of itself.

	  csp		 The default number of kernel level server
			 processes to create when the csp(1M) command
			 is executed.


-jem
--
John Milburn             milburn@me10.lbl.gov     (415) 486-6969
"I am successful because I am the only person in my city
who is not heavily addicted to powerful narcotics."  -Cerebus

darko@hpfcdc.HP.COM (David Arko) (03/27/91)

I probably don't know *everything* about the network boot process
but I will take a stab at your questions.

What happens during the boot process is:

1)  When the diskless client tries to boot, it sends out a broadcast
    boot request to see if any server will boot him.

2)  If a server running rbootd(1M) has an entry in it's /etc/clusterconf
    with that clients Ethernet address, (LLA), then it will respond to
    the client saying that this server can boot him.   Rbootd then looks
    at the servers /etc/clusterconf file and translates the LLA into a 
    hostname, this hostname is now what that client will call itself 
    when it boots.

3)  After rbootd has completed the boot request and the client is starting
    up, it will run the /etc/netlinkrc script. This will run the
    ifconfig command which will set up the internet address for the
    client host by using its `hostname` value  (remember that the
    hostname was given by the clusterconf file).  So it is at this point
    that the internet address gets assigned to the client.  Up till now
    it was using the Ethernet address (LLA).

Hope this helps...
-- David Arko (darko@hpfcrn.hp.com)

perry@hpfcdc.HP.COM (Perry Scott) (03/28/91)

More info is can be found with 'man 1m rbootd'.

Perry