netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a

Aaron Johnson ajohnson at terrasoftsolutions.com
Thu Aug 16 16:50:09 UTC 2007


Ok, here is my current dhcpd.conf, and I have compiled dhcp 3.0.6 from 
tarball source and using that I still cannot get the Xserve to netboot, 
it looks like bootp isn't getting recognized as such, see 
/var/log/messages below.  Can anyone even confirm if they have netboot 
working with Apple ppc64 Xserves with dhcp 3.0.1 or higher?

dhcpd.conf:
authoritative;
allow bootp;
ddns-update-style interim;
default-lease-time 30000000000;

  option dhcp-parameter-request-list = 1:3:dc:dd:e6:e8:e9:ea:eb:ed:ee;

  option mac-nc-client-unknown code 220 = string;
  option mac-nc-client-id code 221 = text;
  option mac-version code 230 = string;
  option mac-user-name code 232 = text;
  option mac-password code 233 = text;
  option mac-nb-img code 234 = string;
  option mac-apps-img code 235 = string;
  option mac-machine-name code 237 = text;

  option mac-version = 0;
  option mac-user-name = "netboot";

/var/log/messages:
Aug 16 16:41:49 localhost dhcpd: DHCPDISCOVER from 00:0d:93:9b:fa:a0 via 
eth1
Aug 16 16:41:49 localhost dhcpd: DHCPOFFER on 192.168.200.200 to 
00:0d:93:9b:fa:a0 via eth1
Aug 16 16:41:49 localhost dhcpd: DHCPREQUEST for 192.168.200.200 
(192.168.200.172) from 00:0d:93:9b:fa:a0 via eth1
Aug 16 16:41:49 localhost dhcpd: DHCPACK on 192.168.200.200 to 
00:0d:93:9b:fa:a0 via eth1
Aug 16 16:41:54 localhost dhcpd: DHCPINFORM from 192.168.200.200 via eth1
Aug 16 16:41:54 localhost dhcpd: DHCPACK to 192.168.200.200 
(00:0d:93:9b:fa:a0) via eth1
Aug 16 16:42:02 localhost dhcpd: DHCPINFORM from 192.168.200.200 via eth1


When it was working with the older dhcp version 3.0pl1-9a my 
/var/log/messages would look like:
Aug 14 16:12:10 localhost dhcpd: DHCPDISCOVER from 00:0d:93:9b:fa:a0 via 
eth1
Aug 14 16:12:11 localhost dhcpd: DHCPOFFER on 192.168.200.199 to 
00:0d:93:9b:fa:a0 via eth1
Aug 14 16:12:11 localhost dhcpd: DHCPREQUEST for 192.168.200.199 
(192.168.200.172) from 00:0d:93:9b:fa:a0 via eth1
Aug 14 16:12:11 localhost dhcpd: DHCPACK on 192.168.200.199 to 
00:0d:93:9b:fa:a0 via eth1
Aug 14 16:13:05 localhost dhcpd: dhcp.c(2072): non-null pointer
Aug 14 16:13:05 localhost dhcpd: DHCPDISCOVER from 00:0d:93:9b:fa:a0 via 
eth1
Aug 14 16:13:05 localhost dhcpd: Received BootP request from Macintosh 
netboot client
Followed by the tftp request for the boot filename



Glenn Satchell wrote:
> In version 3.0.1 onwards you can define new optionnames within
> dhcpd.conf. Add these definitions to your new dhcpd.conf:
>
> option mac-nc-client-unknown code 220 = string;
> option mac-nc-client-id code 221 = text;
> option mac-version code 230 = string;
> option mac-user-name code 232 = text;
> option mac-password code 233 = text;
> option mac-nb-img code 234 = string;
> option mac-apps-img code 235 = string;
> option mac-machine-name code 237 = text;
> option mac-client-nb-img 238 = string;
>
> I think that's right. 'X' is a string and 't' is ascii text.
>
> There's also some other things in that diff. The option 
> dhcp-parameter-request-list looks like it needs to be set.
>
> +	priority_list [priority_len++] = DHO_SUBNET_MASK;
> +	priority_list [priority_len++] = DHO_ROUTERS;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_VERSION;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_USER_NAME;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_MACHINE_NAME;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_PASSWORD;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_NB_IMG;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_APPS_IMG;
> +	priority_list [priority_len++] = DHO_MAC_NC_SERVER_CLIENT_NB_IMG;
>
> Just need to find these and set them, in hex, eg:
>
> option dhcp-parameter-request-list = 1:3:dc:dd:e6:e8:e9:ea:eb:ed:ee;
>
> There might be some other fiddling required, but this looks about it.
> Of course you probably want to put this in a class so that these
> options are only set for your netbooting apple clients:
>
> class "apple" {
>   match if option dhcp-client-identifier = "Apple Mac NC";
>   
>   option dhcp-parameter-request-list = 1:3:dc:dd:e6:e8:e9:ea:eb:ed:ee;
>   option dhcp-max-message-size = 576;
>   
>   option mac-nc-client-unknown code 220 = string;
>   option mac-nc-client-id code 221 = text;
>   option mac-version code 230 = string;
>   option mac-user-name code 232 = text;
>   option mac-password code 233 = text;
>   option mac-nb-img code 234 = string;
>   option mac-apps-img code 235 = string;
>   option mac-machine-name code 237 = text;
>   option mac-client-nb-img 238 = string;
>   
>   option mac-version = 0;
>   option mac-user-name = "netboot";
>   # etc
> }
>
> I hope this gives you most of what you need, and a way to work out the
> rest.
>
> regards,
> -glenn
>
>   
>> Date: Thu, 16 Aug 2007 10:59:03 -0400
>> From: Robert G Colantuoni <rgc at oss.buffalo.edu>
>> To: dhcp-users at isc.org
>> Subject: Re: netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a
>>
>> From: http://frank.gwc.org.uk/~ali/nb/dhcp-2.0+macnb.0.1.diff
>>
>> { "mac-nc-client-unknown", "X",			&dhcp_universe, 220 },
>> { "mac-nc-client-id", "t",			&dhcp_universe, 221 },
>> { "mac-version", "X",				&dhcp_universe, 230 },
>> { "mac-user-name", "t",				&dhcp_universe, 232 },
>> { "mac-password", "t",				&dhcp_universe, 233 },
>> { "mac-nb-img", "X",				&dhcp_universe, 234 },
>> { "mac-apps-img", "X",				&dhcp_universe, 235 },
>> { "mac-machine-name", "t",			&dhcp_universe, 237 },
>> { "mac-client-nb-img", "X",			&dhcp_universe, 238 },
>>
>>
>> Robert G Colantuoni
>> CIT - Operational Support Services
>> University at Buffalo
>> rgc at oss.buffalo.edu
>> 716.645.3552
>>
>>
>>
>> Glenn Satchell wrote:
>>     
>>> The undocumented change is to the source code for 3.0pl1. Do you have
>>> or can you get the source for that version (with the changes). Look in
>>> the file common/tables.c amd find "struct option dhcp_options". Lookin
>>> this table for the mac-xxx commands. Make a note of the option number,
>>> eg:
>>>
>>> static struct option dhcp_options[] = {
>>>         { "subnet-mask", "I",                   &dhcp_universe,   1, 1 },
>>>         { "time-offset", "l",                   &dhcp_universe,   2, 1 },
>>>         { "routers", "IA",                      &dhcp_universe,   3, 1 },
>>>
>>> routers is option 3. For newer version of dhcpd you don't need to hack
>>> the source, you can add the definitions in dhcpd.conf. Say the option
>>> for mac-version is 125. In your dhcpd.conf create an entry:
>>>
>>> option mac-version code 125 = integer 8;
>>> option mac-version 0;
>>>
>>> The details are in the dhcp-options man page, search for DEFINING NEW 
>>>       
> OPTIONS.
>   
>>> If you don't have access to the hacked source, then all is not lost.
>>> You could capture some dhcp network traffic and get the option numbers
>>> that way.  Same deal as far as adding the entries to dhcpd.conf.
>>>
>>> regards,
>>> -glenn
>>>
>>>       
>>>> Date: Thu, 16 Aug 2007 08:26:28 -0600
>>>> From: Aaron Johnson <ajohnson at terrasoftsolutions.com>
>>>> To: dhcp-users at isc.org
>>>> Subject: netbooting Apple Xserves, not working since dhcp version 3.0pl1-9a
>>>>
>>>> All,
>>>> I have several Apple PPC64 Xserves I have been able to netboot with dhcp 
>>>> version 3.0pl1-9a but with any new version I try dhcp won't even start  
>>>> I get the following error in /var/log/messages (this was with dhcp 
>>>> version 3.0.3-28)
>>>>
>>>> Aug 16 14:21:52 localhost dhcpd: dhcpd startup failed
>>>> Aug 16 14:21:59 localhost dhcpd: /etc/dhcpd.conf line 5: unknown option 
>>>> dhcp.mac-version
>>>> Aug 16 14:21:59 localhost dhcpd: option mac-version 0:
>>>> Aug 16 14:21:59 localhost dhcpd:        ^
>>>> Aug 16 14:21:59 localhost dhcpd: /etc/dhcpd.conf line 6: unknown option 
>>>> dhcp.mac-user-name
>>>> Aug 16 14:21:59 localhost dhcpd: option mac-user-name "netboot"
>>>> Aug 16 14:21:59 localhost dhcpd:        ^
>>>> Aug 16 14:21:59 localhost dhcpd: Configuration file errors encountered 
>>>> -- exiting
>>>>
>>>>
>>>> The relavent psrt of my /etc/dhcp.conf file is:
>>>>
>>>> allow bootp;
>>>> ddns-update-style interim;
>>>> default-lease-time 30000000000;
>>>> option mac-version 0:0:0:0;
>>>> option mac-user-name "netboot";
>>>>
>>>> subnet 192.168.200.0 netmask 255.255.255.0 {
>>>> option routers                  192.168.200.172;
>>>> option subnet-mask              255.255.255.0;
>>>> filename                        "yhpc-ppc64.img";
>>>> next-server                       192.168.200.172;
>>>> allow bootp;
>>>> range dynamic-bootp             192.168.200.100 192.168.200.199;
>>>> }
>>>>
>>>>
>>>>
>>>> I have also tried upgrading to dhcp 3.0.6, 3.1.0, and 4.0.0 without any 
>>>> success.  I have looking through all the man pages for all version and 
>>>> the change log neither one says anything about needing to change the 
>>>> "option mac-..." lines for the newer versions, I was hoping someone 
>>>> could help me figure out this un-documented change.
>>>>
>>>> Aaron
>>>>
>>>>         
>
>   



More information about the dhcp-users mailing list