Can I PXE boot a Sol 10 X4100 off a Sol 8 BOOTP server?

I doubt it, I was able to run add_install_client with -d:

/js/os/sol-10-u1-ga-x86/Solaris_10/Tools/add_install_client -d -s

sunset-qfe0:/js/os/sol-10-u1-ga-x86 -p

sunset-qfe0:/js/jumpstart/yipes/Sysidcfg/Solaris_sol.nm24 -c

sunset-qfe0:/js/jumpstart/yipes dnsback3.yipes.com i86pc

But the interface does not respond. The other two DHCP servers on the subnet also respond, or course they do not know about my server (snoop output):

OLD-BROADCAST -> BROADCASTDHCP/BOOTP DHCPDISCOVER

10.10.12.5 -> BROADCASTDHCP/BOOTP DHCPOFFER

10.10.12.1 -> BROADCASTDHCP/BOOTP DHCPOFFER

OLD-BROADCAST -> BROADCASTDHCP/BOOTP DHCPREQUEST

10.10.12.1 -> BROADCASTDHCP/BOOTP DHCPACK

10.10.12.5 -> BROADCASTDHCP/BOOTP DHCPACK

Does anyone know how to fashion a DHCP response from my 10.10.12.5 box, which is some kind of WIndows DHCP server, to refer the X4100 to my "sunset-qfe0" interface?

[1131 byte] By [wsanders1] at [2007-11-25 22:36:14]
# 1

Oh, I see - the -d flag on add_Install_server didn't cause anything in /var/dhcp to get updated at all. It did print out the cryptic message:

If not already configured, enable PXE boot by creating

a macro named PXEClient:Arch:00000:UNDI:002001 with:

Boot server IP (BootSrvA) : 10.10.20.41

Boot file(BootFile) : dnsback3.yipes.com

So my guess is the answer is no.

wsanders1 at 2007-7-5 14:02:02 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 2

Another thing I found if that add_install_client prints the wrong IP when used with multi-homed jumpstart hosts. My system has three interfaces, hne0, qfe0, qfe1, and I want to install on the subnet on qfe0:

# /js/os/sol-10-u1-ga-x86/Solaris_10/Tools/add_install_client

-d -s sunset-qfe0:/js/os/sol-10-u1-ga-x86 -p

sunset-qfe0:/js/jumpstart/yipes/Sysidcfg/Solaris_sol.nm24 -c

sunset-qfe0:/js/jumpstart/yipes x4100a.yipes.com i86pc

The IP of sunset-qfe0 is 10.10.12.85, but the message printed out by

add_install_client is:

If not already configured, enable PXE boot by creating

a macro named PXEClient:Arch:00000:UNDI:002001 with:

Boot server IP (BootSrvA) : 10.10.20.41<<< WRONG! that's hme0

Boot file(BootFile) : x4100a.yipes.com

There is an infodoc 84167 that seems to have a lot of Solaris DHCP trivia in it, for interpreting what the line above mean.

It's pretty clear to me by now that Jumpstart and SOlaris DHCP don't interact. It woudl be nice if they did.

wsanders1 at 2007-7-5 14:02:02 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 3

The Solaris DHCP is such a kludge I installed the ISC DHCP server and am well on my way to getting it to work. It is SOOOO EASY! compared to the Solaris one. It took me about 15 minutes instead of spending hours groveling around for all the obscure documentation on dhtadm.

Run it in debug mode, you get:

Listening on DLPI/hme0/08:00:20:b1:e6:c7/10.10.20/24

Sending onDLPI/hme0/08:00:20:b1:e6:c7/10.10.20/24

Sending onSocket/fallback/fallback-net

DHCPDISCOVER from 00:14:4f:20:78:44 via hme0

DHCPOFFER on 10.10.20.201 to 00:14:4f:20:78:44 via hme0

DHCPREQUEST for 10.10.20.201 (10.10.20.41) from 00:14:4f:20:78:44 via hme0

DHCPACK on 10.10.20.201 to 00:14:4f:20:78:44 via hme0

And there is sweet lovely GRUB right on the serial port. It won't boot jumpstart just yet, since I haven't supplied the right parameters to GRUB, but editing the dhcp.conf file is pretty straightforward, it currently contains:

ddns-update-style none;

subnet 10.10.20.0 netmask 255.255.255.0 {

range 10.10.20.200 10.10.20.201;

}

group {

next-server 10.10.20.41;

host x4100a.yipes.com {

hardware ethernet 00:14:4f:1f:9e:70;

filename "pxegrub.I86PC.Solaris_10-1";

}

}

Sun, just drop DHCP from the Solaris distro. You can't even make your proprietary one work with "add_install_client", and why bother?

wsanders1 at 2007-7-5 14:02:02 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 4

After some further reverse-engineering of the X86 Jumpstart process, it looks like Jumpstart makes a second DHCP request for the parameters it used to get first from sysidcfg. This is where all the Sun-specific DHCP parameters come in. With that request being unsuccessful, it make a second try from the sysidcfg file it has been instructed to use in the kernel params (that one enters via add_install_client).

Jumpstart also behaves differently on X86 and SPARC with respect to sysidcfg: On SPARC, it ignores a lot ot imperfections in the sysidcfg file and proceeds with an unattended install anyway in most cases. In X86, if any of the information is missing, it will drop into X windows and ask for eveything all over again, making unattended installation fail if your sysidcfg file is not perfect.

wsanders1 at 2007-7-5 14:02:02 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...