ChorusOS 4.0 Installation Guide for Solaris Hosts

Setting Up a Boot Server

A boot server system runs services that allow a ChorusOS target system to obtain a system image at boot time over the network.

This chapter explains how to configure a boot server running on the Solaris operating environment to respond to RARP requests from target systems and deliver ChorusOS system images to targets through TFTP. Both services should run on the same server.


Note -

The following procedures apply to a system using NISTM, not NIS+TM.

If you want to use DHCP, see the TCP/IP and Data Communications Administration Guide at http://www.oracle.com/technetwork/indexes/documentation/index.html.


The following figure shows how the boot process occurs, in chronological order from top to bottom.

Figure 3-1 The Boot Process

Graphic

Typically (though not for all targets), the target system bootstraps, and then broadcasts a Reverse Address Resolution Protocol (RARP) request that says something like, "My Ethernet address is 8:0:20:a7:d6:f3. Could some system please tell me my IP address?" A boot server then responds to the target with the IP address that it learned through /etc/ethers, NIS, DNS or some other service.


Note -

If the target system cannot obtain its IP address through RARP, it tries using a Bootstrap Protocol (BOOTP) or Dynamic Host Configuration Protocol (DHCP) request.


If RARP returns an IP address successfully, the target then attempts to download the configuration file, /tftpboot/target_IP_address_in_hexadecimal_form, from the boot server that responded to the RARP request. This file identifies the system.image file that the target needs to request. For example, if the target has IP address 129.157.197.88, the boot server address is 129.157.197.144 and the system image file is /tftpboot/chorus.bmon, the configuration file, /tftpboot/819DC558, would contain the following:

AUTOBOOT=YES
BOOTFILE=chorus.bmon
BOOTSERVER=129.157.197.144

After reading the configuration file, the target sends a TFTP request to the boot server saying, "Send me my system image file, system.image," where system.image is the path to the system image file. The boot server responds by downloading the system image onto the target system.

The bootMonitor(1CC) man page also describes the boot process.

The procedures below assume that you set up only one boot server that does everything.

Setting Up RARP Services

The Reverse Address Resolution Protocol (RARP) service allows the target system to obtain its IP address over the Ethernet from the boot server.


Note -

If /tftpboot exists at boot time, a system running the Solaris operating environment starts the RARP daemon as part of normal system initialization.

The RARP daemon should run on a boot server whose IP network is the same as that of the target. See the TCP/IP and Data Communications Administration Guide and in.rarpd(1M) for details.


  1. Check /etc/nsswitch.conf on the boot server for lines starting with ethers:


    $ grep ^ethers /etc/nsswitch.conf
    

    If the output starts with... 

    Then... 

    ethers: nis

    as in ethers: nis [NOTFOUND=return] files

    Proceed to Step 2.

    ethers: files

    as in ethers: files nis [NOTFOUND=return]

    Proceed to Step 3.

    something other than the choices above 

    Ask your NIS administrator for help.

  2. Verify whether the target is listed in the map ethers.byname:


    $ ypmatch target_hostname ethers
    

    If the output is... 

    Then... 

    target_Ethernet_address target_hostname

    Proceed to Step 4.

    Can't match key target_hostname in map ethers.byname. Reason: no such key in map.

    Verify the target Ethernet address, and then proceed to Step 3.

  3. Add the following line to /etc/ethers on the boot server:

    target_Ethernet_address               target_hostname
    
  4. Start the RARP daemon on the boot server:


    $ su
    Password: root_password
    # /usr/sbin/in.rarpd -a
    
Setting Up TFTP Services

The Trivial File Transfer Protocol (TFTP) service allows the target system to obtain a ChorusOS system image from the boot server at boot time.


Note -

Due to limitations in the Trivial File Transfer Protocol, you may encounter difficulties when downloading large system images through TFTP. See RFC 1350 for a full description of TFTP.

Do not download images larger than 16 Megabytes.


  1. Create a /tftpboot directory on the boot server unless it already exists:


    $ ls /tftpboot
    /tftpboot: No such file or directory
    $ su
    Password: root_password
    # mkdir /tftpboot
    # chown user:group /tftpboot
    # exit
    $ chmod 664 /tftpboot
    

    The above commands allow user and group to write system images and boot configuration files to /tftpboot.

  2. Remove the comment character, #, from the TFTP daemon line in /etc/inetd.conf on the boot server to enable TFTP services as part of normal system initialization:

    tftp   dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -s /tftpboot
  3. Restart inetd in order to start the TFTP daemon on the boot server:


    $ su
    Password: root_password
    # ps -aef | grep inetd
        root   pid     1  0   Dec 15 ?        0:00 /usr/sbin/inetd -s
    # kill -1 pid
    # exit