LAN Boot

For more details, see http://docs.sun.com/app/docs/doc/817-5504/ejurp?a=view

Jumpstart Install/Boot Server This procedure works when the install/boot server is located on the same LAN as the jumpstart client. It is possible to install Solaris when a server and a client are located on different networks or even over WAN using http(s) protocol in a secure manner. This page however does not cover such scenario.

1. Make a directory for DVD Solaris 10 05/08 image

# mkdir -p /export/home/jumpstart/sol_10_05-08_dvd 

2. Copying the image there from a DVD

# lofiadm -a /export/home/jumpstart/sol-10-u5-ga-sparc-dvd.iso
# mount -F hsfs /dev/lofi/1 /mnt
# cd /mnt/Solaris_10/Tools
# ./setup_install_server /export/home/jumpstart/sol_10_05-08_dvd 

3. Making client’s install directory:

# mkdir /export/home/jumpstart/<client_name>

4. Adding the client for installing from the same network (LAN)

 ./add_install_client -i 192.168.1.10 -e 0:14:4f:cb:86:4e \
                      -s server.domain.com:/export/home/jumpstart/sol_10_05-08_dvd \
                      -t /export/home/jumpstart/sol_10_05-08_dvd/Solaris_10/Tools/Boot \
                      -с server.domain.com:/export/home/jumpstart/<client_name>
                      -p server.domain.com:/export/home/jumpstart/<clinet_name> <client_name> sun4v

 where -i is IP of the client

    -e  - its MAC address
    -s - path to the Solaris 10 DVD image made in step 2
    -t - local miniroot
    -c - jumpstart server and a directory, where rules.ok and profiles files are located
    -p - sysidcfg server and a directory where sysidcfg file is located

last two arguments are the client’s name and its platform.

-c and -p arguments may be omitted if a path to jumpstart.tar file is included with

boot net - install nfs://server/jumpstart.tar

command. They could also be omitted for x86 platforms in lieu of grub -B arguments install_config and sysid_config.

Interesting to note that option does not work for sparc platform. We still need to provide the url for install parameter in

boot net - install [url|ask]

command.

For x86 machines (i86pc platform), parameters for an IP address, a client’s name and the miniroot are not used. Instead we should use -d option to indicate that a client will be configured via DHCP (rather than RARP).

For x86 clients that are booted via PXE, we should configure a Sun dhcp server with the following macro

PXEClient:Arch:00000:UNDI:002001:
  BootSrvA: 192.168.1.1
  BootFile: SUNW.i86pc

and use the following command when adding a client

# ./add_install_client -d -s server.domain.com:/export/home/jumpstart/dvd-image-x86 \
                       -с server.domain.com:/export/home/jumpstart/<client_name>
                       -p server.domain.com:/export/home/jumpstart/<client_name> SUNW.i86pc i86pc

For x86 clients for Solaris 10 01/06 and above grub does not use a DHCP vendor class SUNW.i86pc. Therefore, we should configure such clients with the following command

# ./add_install_client -d -e 0:e0:81:31:a8:ea -s server.domain.com:/export/home/jumpstart/dvd-image-x86 \
                       -c server.domain.com:/export/home/jumpstart/amd3 \
                       -p server.domain.com:/export/home/jumpstart/amd3 i86pc

and use the following DHCP marco

0100E08131A8EA:
  Boot server IP (BootSrvA) : 192.168.1.1
  Boot file      (BootFile) : 0100E08131A8EA

For more information see install_scripts(1M) or

# man install_scripts

The above Sun DHCP “standard” options are fields, which are found be a fixed offset into a dhcp packet. I couldn’t find a way to define such options in non-Solaris DHCP server.

5. Exporting /export/home/jumpstart

# vi /etc/dfs/dfstab
# share -F nfs -o ro,anon=0 /export/home/jumpstart
# shareall

6. Copying /mnt/Solaris_10/Misc/jumpstart_sample/check into client’s directory

# cd /export/home/jumpstart/<client_name>
# cp /mnt/Solaris_10/Misc/jumpstart_sample/check .

7. In client’s folder create sysidcfg

# vi sysidcfg 

name_service=DNS {domain_name=invidi.com
                  name_server=192.168.1.2,192.168.2.2
                  search=domain.com,subdomain.domain.com} 
network_interface=bge0 {hostname=<client_name>
                        ip_address=192.168.1.10
                        netmask=255.255.255.0
                        protocol_ipv6=no
                        default_route=192.168.1.1}
root_password=*********
security_policy=NONE
system_locale=C
terminal=vt100
timezone=Canada/Mountain
timeserver=localhost
nfs4_domain=dynamic

8. Create rules file and two profiles (one for creating flash archive, another for installing from the archive).

Note that if an automatic hardware RAID creation is required, then

probe lsi 

statement must be added into the rules file.

The appropriate custom probes and format commands scripts must be included in to the tarball.

# vi rules
arch sparc && disksize c0t0d0 140000-160000 devfsadm profile160g -
 
# vi defvsadm

#!/bin/sh
/usr/sbin/devfsadm

# chmod 755 devfsadm
 
# vi profile160g

install_type initial_install
root_device c0t0d0s0
filesys c0t0d0s0 2000 /
filesys c0t0d0s1 4000 swap
filesys c0t0d0s3 8000 /usr
filesys c0t0d0s4 8000 /var
filesys c0t0d0s5 20000 /opt
filesys c0t0d0s6 110560 /export/home
geo N_America
cluster SUNWCXall

# ./check
 
# tar -cf client.tar rules.ok devfsadm profile160g sysidcfg

# vi rules

arch sparc && disksize c0t0d0 140000-160000 devfsadm profile160g-flash - 

# vi profile160g-flash

install_type flash_install
partitioning explicit
filesys c0t0d0s0 2000 /
filesys c0t0d0s1 4000 swap
filesys c0t0d0s3 8000 /usr
filesys c0t0d0s4 8000 /var
filesys c0t0d0s5 20000 /opt
filesys c0t0d0s6 110560 /export/home
archive_location nfs://server.domain.com/export/home/jumpstart/<client_name>/client.flar

# ./check
 
# tar -cf client-flash.tar rules.ok devfsadm profile160g-flash sysidcfg

These profiles cover only single 160GB IDE disk drive.

9. To make the flash archive, client.tar, we could use the following procedure on the client:

ok boot net - install nfs://192.168.1.1/export/home/jumpstart/<client_name>/cleint.tar

Install Companion DVD (download iso image into /var/spool/pkg):

# lofiadm -a /var/spool/pkg/sol-10-08_07-u4-companion-ga.iso
# mount -F hsfs /dev/lofi/1 /mnt
# vi /var/tmp/admin

mail=
conflict=nocheck
setuid=nocheck
action=nocheck
partial=nocheck
instance=overwrite
idepend=nocheck
rdepend=nocheck
space=check

# cd /mnt/Solaris_Software_Companion/Solaris_sparc/Packages
# pkgadd -a /var/tmp/admin -d `pwd`install Recommended Patch cluster (download zip file into /var/spool/pkg)
# shutdown -is -g0 -y
# cd /var/spool/pkg
# unzip -q 10_Recommended.zip
# cd 10_Recommended
# ./install_cluster
 
# shutdown -i6 -g0 -y

Install necessary packages if any

# shutdown -is -g0 -y
# rm -rf /var/spool/pkg/*
# flar create -n Solaris_10-05_08-client -c /tmp/client.flar
# exit
# scp /tmp/client.flar 192.168.1.1:/export/home/jumpstart/<client_name> 

10. Boot the client from the network and point it to the jumpstart profile

ok boot net - install nfs://192.168.1.1/export/home/jumpstart/<client_name>/client-flash.tar

In case of x86 clients, we boot them via PXE, modifying BIOS settings if necessary and changing grub agruments as following (add “ - install [url]” and possible -B install_config=<path>/sysid_config=<path>)

kernel /I86PC.Solaris_10-1/multiboot kernel/unix \
       - install [nfs://192.168.1.1/export/home/jumpstart/client/jumpstart.tar] \
       -B install_config=192.168.1.1:/export/home/jumpstart/amd3,\
          sysid_config=192.168.1.1:/export/home/jumpstart/amd3,\
          install_media=192.168.1.1:/export/home/jumpstart/dvd-image-x86,\
          install_boot=192.168.1.1:/export/home/jumpstart/dvd-image-x86/boot