Solaris JumpStart vs the Microsoft DHCP Server
I had a need to JumpStart a couple of Sun servers to a new level of Solaris 10. The network infrastructure at work is Microsoft Windows, so the DHCP servers are all Microsoft.
I did my usual of trying to use Google, and the other search engines for what I needed to have put into the Microsoft DHCP server to make the JumpStart magic happen, and came up with a bunch of questions, but no answers. I also posted a quick note to the SunManagers mailing-list, and got some encouragement back in private email, and some ideas, but nothing definitive.
I finally got it to work, and this post is to document it for others.
I created a Solaris 10 X86 VM to use as the JumpStart boot and install server, and loaded the Solaris 10 SPARC DVD using the normal jumpstart scripts in the Tools directory.
I then set out to find the options I needed to set in order to get the DHCP options sent from the DHCP server to the client.
you must define a Vendor Class that matches the solaris "Client Class Identifier" For a T1000:
SUNW.Sun-Fire-T1000
And then under that Class Identifier you must define the options in the table at the end of this article.
Once I set this up, I added the following items in the DHCP server reservations. I used a static IP for this.
Reservation Name: the machine name
IP Address: a static IP
MAC Address: the actual MAC address of the BGE0 interface of the T1000
Then on the options pane, under standard options:
Router (003): the gateway address for our network
Host name (012): the hostname for the new server
DNS Doman Name (015): our domain name
Boot Server Host Name (066): the IP of the TFTP / Boot server (I chose IP, but suspect DNS would work as we have the DNS servers set as being sent on all requests by default)
Bootfile name (067) the file name set by the ./add_install_client -d script (01+the mac address, in all upper case)
Under the SUNW.Sun-Fire-T1000 options pane:
root-server-ip-address (002): the IP of the JumpStart VM
root-server-hostname (003): the hostname of the JumpStart VM
root-path-name (004): the path to the Tools/Boot directory (this info is given by the add_install_client -d script)
install-server-ip-address (010): ip of the JumpStart VM
install-server-hostname (011): hostname of the JumpStart VM
install-path (012): the path to the OS to install, again this is given by the add_install_client -d script.
Once this is all done, do a boot net:dhcp - install from the OK prompt and off you go.
The major thing that drove me nuts is that the options class name MUST match exactly the Client Class Identifier that the machine is sending. I haven't found a way to wild card this. (Comments/tips readily accepted).
Thanks for listening.
PS: this is a repost of this article after my server lost a filesystem.
Name |
Type |
Code |
root-mount-options |
string |
1 |
root-server-ip-address |
ip-address |
2 |
root-server-hostname |
string |
3 |
root-path-name |
text |
4 |
swap-server-ip-address |
ip-address |
5 |
swap-file-path |
string |
6 |
boot-file-path |
string |
7 |
posix-timezone-string |
string |
8 |
boot-read-size |
Word |
9 |
install-server-ip-address |
ip-address |
10 |
install-server-hostname |
string |
11 |
install-path |
string |
12 |
sysid-config-file-server |
string |
13 |
JumpStart-server |
string |
14 |
terminal-name |
string |
15 |