[SUMMARY] ISC DHCPD server w/jumpstart?

From: Ryan Anderson <Ryan.Anderson_at_baesystems.com>
Date: Wed Jan 25 2006 - 15:25:24 EST
I've got Jumpstart working via DHCP now. I'm using the open source ISC DHCP
server, downloaded with pkg-get from blastwave.org (excellent site).

Thanks to:
Tony Green - He provided a full working dhcpd.conf (!) and has made it
available here: http://bandcamp.tv/blog/jumpstart-dhcp
Daniel Rugotzke
Dave Miner
Anthony Florendo
Mats Oberg
Tom Crummey

1) The key I was missing was the 'next-server' directive. THIS IS THE IP
ADDRESS OF THE TFTP SERVER. With this, you don't even have to specify the
'filename "inetboot.SUN4U.Solaris_2.8-1"' directive if all your systems using
the same inet boot image. If you have Solaris x86 and Solaris Sparc or Solaris
8 & 10, you might have to futz with the 'filename' directive.

2) Use Tony's working dhcpd.conf file as an example at

3) I saved myself some typing by creating a very basic dhcpd.conf with all
common variables, then did an include file at the bottom for my Solaris 8 &
Solaris 10 dhcpd.conf files. Here's the dhcpd.conf file:

# Option definitions common to all supported networks...
ddns-update-style ad-hoc;
option domain-name "mpls.udlp.com";
option domain-name-servers,;
option subnet-mask;

default-lease-time 600;
max-lease-time 7200;

# Jumpstart Support
option space SUNW;
option SUNW.root-mount-options code 1 = text;
option SUNW.root-server-ip-address code 2 = ip-address;
option SUNW.root-server-hostname code 3 = text;
option SUNW.root-path-name code 4 = text;
option SUNW.swap-server-ip-address code 5 = ip-address;
option SUNW.swap-file-path code 6 = text;
option SUNW.boot-file-path code 7 = text;
option SUNW.posix-timezone-string code 8 = text;
option SUNW.boot-read-size code 9 = unsigned integer 16;
option SUNW.install-server-ip-address code 10 = ip-address;
option SUNW.install-server-hostname code 11 = text;
option SUNW.install-path code 12 = text;
option SUNW.sysid-config-file-server code 13 = text;
option SUNW.JumpStart-server code 14 = text;
option SUNW.terminal-name code 15 = text;

# Declare all UNIX subnets with only basic information
subnet netmask {
        option broadcast-address;
        option routers;

subnet netmask {
        option broadcast-address;
        option routers;

include "/opt/csw/etc/dhcpd_sol8.conf";
include "/opt/csw/etc/dhcpd_sol10.conf";

My /opt/csw/etc/dhcpd_sol8.conf file is re-generated by a script whenever a
host is added and looks like this:
group {
        vendor-option-space SUNW;
        option SUNW.JumpStart-server "jumper:/export/JS/sol8/configs";
        option SUNW.install-server-hostname "jumper";
        option SUNW.install-server-ip-address;
        option SUNW.install-path "/export/JS/sol8/current";
        option SUNW.root-server-hostname "jumper";
        option SUNW.root-server-ip-address;
        option SUNW.root-path-name

        host solclient01 { hardware ethernet 00:03:ba:dd:d5:df; fixed-address; option host-name "solclient01"; option
SUNW.sysid-config-file-server = "jumper:/export/JS/sol8/configs/server/west";
        host solclient02 { hardware ethernet 00:03:ba:dd:db:93; fixed-address; option host-name "solclient02"; option
SUNW.sysid-config-file-server = "jumper:/export/JS/sol8/configs/server/east";
The key here was I needed different sysidcfg files for different hosts, yet
wanted to keep most variables the same, and this did it. To support Solaris 10
clients, I just make a similar file with.

After this, you still need to do "./add_install_client -d foobar sun4u" ONCE
(not every time like arp/rarp method) to put a file in /tftpboot and ensure
you are NFS sharing what is needed. The variables it echoes back are used in
dhcpd.conf. Also, remember to restart dhcpd after any edits of dhcpd.conf.
Finally, to start the jumpstart, do:

OK> boot net:dhcp - install


UNIX Administrator - BAE Systems Land & Armaments
Desk: 763-572-6684 Pager: 952-235-9936
sunmanagers mailing list
Received on Wed Jan 25 15:26:15 2006

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:43:54 EST