[K12OSN] dhcpd.conf for diskless booting old iMacs

Eric Harrison eharrison at mail.mesd.k12.or.us
Sat Mar 26 04:27:43 UTC 2005


On Fri, 25 Mar 2005, Jim McQuillan wrote:

> Eric,
>
> You mentioned a problem with 'option 211', but in your packet trace,
> it's option 221.
>
> Is that just a typo in your email, or have you been looking for the
> wrong option ?
>
> Jim.

Doh!  Thanks for catching the obvious Jim!

I do believe it would be a good idea if waited until tomorrow to
finish debugging the "indigo" video driver problem ;-)

(working dhcpd.conf attached)

-Eric

> On Fri, 25 Mar 2005, Eric Harrison wrote:
>
>>
>> I'm not having much luck getting dhcpd to recognize the "Apple MacNC"
>> option 211 that is being sent by the old iMac I'm banging on. Hopefully
>> someone will be able to figure it out (see attached tcpdump)
>>
>> I did get it to work based off the vendor-portion of the MAC address, see the
>> attached dhcpd.conf. Are there any reasons NOT to do it this way?
>>
>> -Eric
>
-------------- next part --------------
# Sample configuration file for ISCD dhcpd
#
# Don't forget to set run_dhcpd=1 in /etc/init.d/dhcpd
# once you adjusted this file and copied it to /etc/dhcpd.conf.
#

default-lease-time            21600;
max-lease-time                21600;
ddns-update-style none;
allow booting;
allow bootp;

option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.254;
option domain-name-servers    192.168.0.254;
option domain-name            "ltsp";
option root-path              "192.168.0.254:/opt/ltsp/i386";
option option-128 code 128 = string;
option option-129 code 129 = text;
option option-221 code 221 = text;

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
     range dynamic-bootp 192.168.0.100 192.168.0.253;
     use-host-decl-names       on;
     option log-servers        192.168.0.254;

     # trick from Peter Rundle <peter.rundle at au.interpath.net>
     #if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC"

     # newer Macs
     if substring (option vendor-class-identifier, 0, 9) = "AAPLBSDPC"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     } 
     # really old iMacs
     elsif substring (option option-221, 0, 5) = "Apple"
     {
        filename      "yaboot";
        option vendor-class-identifier "AAPLBSDPC";
     } 
     # Intel PXE
     elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient" 
     {
        # NOTE: kernels are specified in /tftpboot/lts/pxe/pxelinux.cfg/
        filename      "/lts/pxe/pxelinux.0";
     } 
     # default to an i386 BOOTP image
     else 
     {
        filename      "/lts/vmlinuz.ltsp";
     }

     if substring (option vendor-class-identifier, 20, 3) = "ppc" {
        option root-path "192.168.0.254:/opt/ltsp/ppc";
     } else {
        option root-path "192.168.0.254:/opt/ltsp/i386"; }
  }
}

# example configurations for specifying specific kernels to specific clients
group	{
    use-host-decl-names       on;
    option log-servers        192.168.0.254;

    host ws001 {
        hardware ethernet     00:E0:06:E8:00:84;
        fixed-address         192.168.0.1;
        filename              "/lts/vmlinuz.ltsp";
        option option-128 e4:45:74:68:00:00;
        option option-129 "NIC=3c509";
    }
    host ws002 {
        hardware ethernet     00:D0:09:30:6A:1C;
        fixed-address         192.168.0.2;
        filename              "/lts/vmlinuz.ltsp";
        option option-128 e4:45:74:68:00:00;
        option option-129 "NIC=ne";
    }
    host ws003 {
        hardware ethernet     00:D0:09:30:28:B2;
        fixed-address         192.168.0.3;
        # kernels are specified in /tftpboot/lts/boot/pxe/pxelinux.cfg/
        filename              "/lts/boot/pxe/pxelinux.0";
    }

# Apple Specific Settings
#    host ws007 {
#       hardware ethernet     00:30:65:69:23:60;
#       fixed-address         192.168.0.4;
#       option root-path      "192.168.0.254:/opt/ltsp/ppc";
#       filename              "yaboot";
#       option vendor-class-identifier "AAPLBSDPC";
#    }
}


More information about the K12OSN mailing list