Solaris 10 JumpStart and Client Boot Sequence

========================================================================================
Major Services for Jumpstart

- Boot Service
- Indentification Service
- Configuration Service
- Installation Service


==============
Boot Service
==============

Details:

1. When a Jumpstart client boots, the boot PROM broadcasts a RARP request to the local subnet;

2. The in.rarpd daemon on the boot server processes the client's RARP request by
a. Looking up the client's Ethernet address and hostname in the /etc/ethers;
b. Checking for a corresponding hostname in the /etc/hosts;
c. Returning the associated IP address to the client.

3. The client's boot PROM sends a TFTP request for a network bootstrap program.

4. The in.tftpd daemon on the boot srver processes the client's TFTP request. The daemon searches the /tftpboot directory for a file with a hexadecimal representation of the client's IP address. The hexadecimal representation is th ename of the file. This file is a symbolic link to the network bootstrap program (inetboot.Sun4U.Solaris_10_2);

5. The in.tftpd daemon on the boot server returns the network bootstrap program to the Jumpstart client.

6. The JumpStart client runs the network bootstrap program.

7. The network bootstrap program issues a whoami request to discover the Jumpstart client's hostname.

8. The rpc.bootparamd daemon on the boot server looks up the client's hostname and returns it to the client.

9. The network bootstrap program issues a getfile request to obtain the location of the root (/) filesystem.

10. The server responds with the location of the /, obtained from the appropriate source:
- the /etc/bootparams file
- A name servie such as NIS, LDAP.

11. After the client obtains its boot parameters, the network bootstrap program mounts the root (/) from the boot server.

12. The client loads its kernel and starts the init program. When the client finishes booting, it attempts to find configuration information.

13. The client searches for the configuration server using BOOTPARAMS information. The client mounts the configuration directory, and runs the sysidtool daemon.

14. The client uses BOOTPARAMS information to locate mount the Solaris OS installation image.

15. The client runs the suninstall program and installs the Solaris.


The followign files/directories must be properly configured on the boot server:

/etc/ethers
/etc/hosts
/tftpboot ; saves the bootstrap programs inetboot.SUN4U.Solaris_10_2
/etc/bootparams ; provides the location of / for client
/etc/dfs/dfstab ; nfs share, share out directory where sysidcfg and rules/rules.ok, check,

/etc/inetd.conf must allow in.tftpd daemon.

A sample /etc/bootparams file. The file is created by add_install_client program.

client1
root=server1:/export/install/Solaris_10/Tools/Boot
install=server1:/export/install
boottype=:in
sysid_config=server1:/export/config
install_config=server1:/export/config
rootopts=:rsize=32768


================================
Introducing the JumpStart Client Boot Sequence
================================
Protocals:
- RARP
- TFTP
- Bootparams


- RARP

1. client sends out mac address in ARP broadcast;
2. Server checks /etc/ethers and /etc/hosts then send back client the ip address;
3. Client acquires the ip address;

Files:
/etc/ethers mac:ip
/etc/hosts ip:hostname


- TFTP

4. Client uses tftp to request its boot program;
5. Server searches for a symbolic link pointing to a boot program; /tftpboot/0A986322----> inetboot.SUN4U.Solaris_10_2
6. Server returns inetboot.SUN4U.Solaris_10_2 program;
7. Client runs inetboot.SUN4U.Solaris_10_2 program and sends whoami request;
8. Server receives whoami request and sends hostname back to client; (not IP but hostname. Setp 2 was IP address)


- Bootparams

9. Client sends a getfile request;
10. Server returns information from /etc/bootparams;
11. The inetboot boot program mounts the / root filesystem;
12. Client loads its kernel and starts "init" program;
13. Client mounts the configuration directory and runs "sysidtool";
14. Client uses bootparams information to mount the installation directory;
15. clinet runs the suninstall program to install the operating environment.


cliff notes:

add_install_client


2. Identity Services

/etc/port/config

(key file)
sysidcfg ; list identification items and sources,

name service


3. Config Services

/export/config

/etc/dfs/dfstab

Profile,which specifies:
- install tape
- disk partitions
- file systems
- cluster info
- custom s/w pkgs

Rules File : associates clients with profiles


check script: checks the rules file syntax, if OK, creates rules.ok file
make sure run "check" script after you update the rules file. This will
create a new rules.ok file.



Begin/Finish scripts : before/after the jumpstart, things to do.

eg. Use finish script to patch system after jumpstart.


4. Installation Services

/export/install
/etc/dfs/dfstab

Provides install image:
CD
DVD
spooled image
flush archive

......................

setup_install_server
add_to_install_server