JumpStart has three roles that are filled by different systems on the network:
An install server, which provides all of the data and services required to install the system.
A boot server, which allows the RARP daemon to boot client systems that have not been installed.
An install client, which is the target system for installation.
A boot server provides a copy of the operating system to be installed on a target host. Once the target host has been booted using the network and install options (see the following), a kernel is downloaded to the target host from an install server and booted locally. Once the system has been loaded, the operating system is then downloaded from the boot server. The rules for downloading and installing specific files are located in the rules.ok file. Individual systems can have their own entries in the rules file, or generic rules can be inserted. After loading the system from the boot server, the install client then executes a post installation script, and will then be ready for use.
The install server uses RARP to listen for requests to install the system from target hosts. Once such a request is received, a miniroot system is downloaded from the install server to the target host.
To set up an install server, you need to perform the following tasks:
# mkdir -p /export/install /export/config # cp -r /cdrom/sol_9_sparc/s0/Solaris_2.9/Misc/jumpstart_sample/ /export/config # /cdrom/sol_9_sparc/s0/Solaris_2.9/Tools ./setup_install_server /export/install
This assumes that /export/install has sufficient space to store the installation files, and that the JumpStart configuration data, such as the rules file, will be stored in /export/config. Here is a sample host_class file, which is referred to in rules, that specifies the UFS disk layout for all boot clients:
install_type initial_install system_type standalone partitioning explicit filesys c1t2d0s0 512 / filesys c1t2d0s3 2048 /usr filesys c1t2d0s4 256 /var filesys c0t3d1s0 1024 swap filesys c0t3d1s1 free /export cluster SUNWCall
Here, we can see that the standard layout allocated 512MB to /, 2048MB to /usr, 256MB to /var, 1024MB to swap, and all free space to /export. In addition, the cluster SUNWCall is to be installed.
This is a very specific setup, so you might want to use something more general like:
# install_type initial_install # This machine is standalone system_type standalone # Disk partitioning partitioning explicit filesys rootdisk.s0 2000 / filesys rootdisk.s1 1000 swap filesys rootdisk.s4 1000 /tmp filesys rootdisk.s5 free /var # Start with the entire OS... cluster SUNWCall
Once the rules file has been customized, its contents must be verified by using the check command. Once the check command parses the rules file and validates its contents, a rules.ok file is created.
In order to set up a boot client, the target system must be shut down to init level 0, by using the init 0 command or equivalent. Next, the system needs to be booted by using the following command from the "ok" prompt:
boot net - install
At this point, a broadcast is made on the local subnet to locate an install server. Once an install server is located, a miniroot system is downloaded to the target system. Once the kernel is loaded from the miniroot system, the operating system is then downloaded from the boot server:
Resetting ... SPARCstation 20 MP (2 X SuperSPARC-II) ROM Rev. 2.28, 256 MB memory installed, Serial #345665. Ethernet address 8:0:19:6b:22:a2, Host ID: 49348a3. Initializing Memory | Boot device: /iommu/sbus/ledma@f,400010/le@f,c00000 File and args: - hostname: paul.cassowary.net domainname: cassowary.net root server: installserv root directory: /solaris_2.9/export/exec/kvm/sparc.sun Copyright (c) 1983-2001, Sun Microsystems, Inc. The system is coming up. Please wait.
Once the system has started, you’ll see individual clusters being installed:
Selecting cluster: SUNWCXall Total software size: 324.55 MB Preparing system to install Solaris. Please wait. Setting up disk c1t2d0: Creating Solaris disk label (VTOC) Creating and checking UFS file systems: - Creating / (c1t2d0) - Creating /var (c1t2d0) - Creating /scratch (c1t2d0) - Creating /opt (c1t2d0) - Creating /usr (c1t2d0) - Creating /staff (c1t2d0) Beginning Solaris package installation... SUNWcsu.....done. 321.23 MB remaining. SUNWcsr.....done. 277.34 MB remaining. SUNWcsd.....done. 312.23 MB remaining.
When installing JumpStart on a large number of clients, installation can be expedited by using a sysidcfg file, which defines a number of standard parameters for installation. The sysidcfg file can contain configuration entries for the properties shown in Table 30-1.
Property |
sysidcfg Parameter |
---|---|
Date and time |
Timeserver |
DHCP |
dhcp |
Domain name |
domain_name |
Graphics card |
display |
Hostname |
hostname |
IP address |
ip_address |
IPv6 |
protocol_ipv6 |
Keyboard language |
keyboard |
Monitor type |
monitor |
DNS, LDAP or NIS/NIS+ name server |
name_server |
DNS, LDAP or NIS/NIS+ name service |
name_service |
DNS domains to search |
search |
LDAP profile |
profile |
Netmask |
netmask |
Network interface |
network_interface |
Pointing device |
pointer |
Root password |
root_password |
Security policy |
security_policy |
Kerberos administration server |
admin_server |
Kerberos KDC |
kdc |
Kerberos realm |
default_realm |
Terminal type |
terminal |
Timezone |
timezone |
The following is a sample sysidcfg file:
system_locale=en_US timezone=US/Eastern timeserver=localhost network_interface=le0 {netmask=255.255.255.0 protocol_ipv6=yes} security_policy=NONE terminal=dtterm name_service=NONE root_password=f7438:;H2ef