Solaris JumpStart notes

General steps:

1. Create the JumpStart client profile
2. Create the JumpStart client sysidcfg file
3. Add an entry to the rules file on the JumpStart configuration server (often the same server as the JumpStart boot server rand JumpStart install server)
4. Run the check script on the JumpStart configuration server
5. Run add_install_client on the JumpStart boot server
6. Boot the JumpStart client with boot net - install

add_install_client parameters

-i    IP address of JumpStart client
-e    ethernet (MAC) address of JumpStart client
-s    install server (server and path to Solaris software)
-c    configuration server (server and path to the JumpStart directory)
-p    profile server (server and path to the sysidcfg file)

add_install_client errors

1. # ./add_install_client -i 10.209.128.101 -e 0:3:ba:5c:3f:89 -s mrdcmns001:/export/install/OS/Solaris_10_2006-11/ -c mrdcmns001:/export/install -p mrdcmns001:/export/install/Sysidcfg/Solaris_10/aps_ldap_servers/ apdcmns001 sun4u
Error: unknown client "apdcmns001"

# grep ^hosts /etc/nsswitch.conf
hosts:      files dns

In this case, apdcmns001 is not in /etc/hosts or DNS.

# /usr/bin/echo "10.209.128.101\tapdcmns001" >> /etc/hosts

2. add_install_client: nslookup: not found

If nslookup is not installed on your system, I recommend installing the package containing it; many changes would have to be made to add_install_client to use getent instead of nslookup.

On Solaris 10, the package is SUNWbind.

3. # ./add_install_client -i 10.209.128.101 -e 0:3:ba:5c:3f:89 -s mrdmmns001:/export/install/OS/Solaris_10_2006-11/ -c mrdmmns001:/export/install -p mrdmmns001:/export/install/Sysidcfg/Solaris_10/aps_ldap_servers/ apdcmns001 sun4u

adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
adb: syntax error on line 1 of (stdin) near "="
Warning: no hostname found for address 0.0.0.0
cleaning up preexisting install client "apdcmns001"
removing apdcmns001 from bootparams
updating /etc/bootparams

These errors are caused because the JumpStart client apdcmns001 (10.209.128.101/20) is not on the same subnet as the JumpStart boot server mrdmmns001 (10.205.0.0/20).

Note that you may receive this error on a multi-homed JumpStart boot server even though the JumpStart client is on the same subnet as one of the JumpStart server's NICs. In this case, you may ignore the error; the JumpStart procedure will still work.

4. "tftp entry not found in /etc/inetd.conf"

Solaris 10 instructions:

# /usr/bin/echo "# TFTPD - tftp server (primarily used for booting)" >> /etc/inetd.conf
# /usr/bin/echo "tftp\tdgram\tudp6\twait\troot\t/usr/sbin/in.tftpd\tin.tftpd -s /tftpboot" >> /etc/inetd.conf

# inetconv
tftp -> /var/svc/manifest/network/tftp-udp6.xml
Importing tftp-udp6.xml ...Done

5. "/usr/sbin/in.rarpd not found"

Install the SUNWbsu and SUNWbsr packages.

SUNWbsu        Boot Server daemons (Usr)
SUNWbsr        Boot Server daemons (Root)

Name Service Error

─ Name Service Error ───────────────────────────────────────────────────────────

  Unable to find an address entry for apdcmns001 with the specified DNS
  configuration.


      Enter new name service information?
      ───────────────────────────────────
      [X] Yes
      [ ] No

In this case, name_service=DNS in sysidcfg, and the DNS A record for the JumpStart client's host name does not exist on the name servers listed in sysidcfg.

You may either add the DNS A record on the name servers, or use name_service=NONE in sysidcfg and configure DNS after the JumpStart installation.

JumpStart hangs after configuring interfaces

Configured interface dmfe0...
|/-\|...

In this case, the root= section of /etc/bootparams is configured correctly, but one or more of the remaining options in /etc/bootparams are configured incorrectly. In this case, I have the incorrect hostname in install=, sysid_config=, and install_config=.

Incorrect:

apdcmns001  root=mrdcmns001:/export/install/OS/Solaris_10_2006-11/Solaris_10/Too
ls/Boot install=mrdmmns001:/export/install/OS/Solaris_10_2006-11/ boottype=:in s
ysid_config=mrdmmns001:/export/install/Sysidcfg/Solaris_10/aps_ldap_servers/ ins
tall_config=mrdmmns001:/export/install rootopts=:rsize=8192

Correct:

apdcmns001  root=mrdcmns001:/export/install/OS/Solaris_10_2006-11/Solaris_10/Too
ls/Boot install=mrdcmns001:/export/install/OS/Solaris_10_2006-11/ boottype=:in s
ysid_config=mrdcmns001:/export/install/Sysidcfg/Solaris_10/aps_ldap_servers/ ins
tall_config=mrdcmns001:/export/install rootopts=:rsize=8192

Sharing /export/install (/jumpstart)

In this example, the JumpStart server's files are located in /export/install. /jumpstart is a symbolic link to /export/install.

# echo 'share -F nfs -o ro,anon=0 -d "Jumpstart Directory" /export/install' >> /etc/dfs/dfstab
# shareall
/usr/lib/fs/nfs/share: No such file or directory

This system (Solaris 10) does not have the required NFS server packages:

SUNWnfssu     Network File System (NFS) server support (Usr)
SUNWnfssr     Network File System (NFS) server support (Root)
SUNWnfsskr    Network File System (NFS) server kernel support (Root)

Without SUNWnfsskr installed, shareall returns the following error:

# shareall
share_nfs: /export/install: Unknown error

After installing the required NFS server packages:

# shareall
# share
-               /export/install   ro,anon=0   "Jumpstart Directory"

If /export/install is not shared, you may see the following errors:

panic - boot: Could not mount filesystem.
Program terminated

If TCP wrappers on the JumpStart server are preventing NFS/RPC communication with the JumpStart client, you may see the following errors:

WARNING: mountnfs3: pmap_kgetport RPC error 2 (RPC: Can't decode result).
WARNING: Unable to mount NFS root filesystem: error 6
Cannot mount root on /pci@1f,0/ethernet@c fstype nfsdyn

panic[cpu0]/thread=180e000: vfs_mountroot: cannot mount root

snoop capture on the JumpStart server:

  server -> client   BPARAM R GETFILE File=/export/install/OS/Solaris_10_2006-11/Solaris_10/Tools/Boot
  client -> server   PORTMAP C GETPORT prog=100005 (MOUNT) vers=3 proto=UDP
  server -> client   RPC R (#401998) XID=4197453192 Can't authenticate (unknown reason)

Note: I don't know which daemon process names have to be allowed, so you may have to add ALL: JumpStart_client_IP to /etc/hosts.allow during the JumpStart.

TFTP errors

ok boot net - install
Boot device: /pci@1f,0/ethernet@c  File and args: - install
Using Onboard Transceiver - Link Up.
TFTP Error:

Boot load failed

In this example, the TFTP server is not running via inetd on the JumpStart boot server.

Copying the check script to /export/install

# find /export/install/OS/Solaris_10_2006-11/ -type f -name check -exec cp {} /export/install \;

Back to brandonhutchinson.com.
Last modified: 2008/02/05