subnet x.x.x.x netmask 255.255.255.0 { range x.x.x.50 x.x.x.99; option routers x.x.x.254; option broadcast-address x.x.x.255; # NFS / bootp services next-server x.x.x.252; option root-path "/"; if substring (option vendor-class-identifier, 0, 13) = "AAPLBSDPC/ppc" { filename "yaboot"; # Set BSDP format message. option vendor-class-identifier "AAPLBSDPC"; # DHCP DISCOVER if (option dhcp-message-type = 1) { # Boot image 1 -----------------------------------vv option vendor-encapsulated-options 08:04:81:00:00:01; } # DHCP INFORM else if (option dhcp-message-type = 8) { # +------+ Message type: SELECT # | | +---------------+ Selected image: 01 # | | | | option vendor-encapsulated-options 01:01:02:08:04:81:00:00:01; } else { # Beacon for detecting badness in packet sniffing. option vendor-encapsulated-options 00:01:02:03:04:05:06:07; } option vendor-encapsulated-options 01:01:02:08:04:01:00:00:01:82:05:69:6d:61:63:34; #Ty:Ln:DD:Ty:Ln:DD:DD:DD:DD: } else if option arch = 00:0e { # 00:0e = POWER OPAL v3 option conf-file "http://boot.east.rtk0.net/talos.cfg"; } else if substring (option vendor-class-identifier, 0, 9 ) = "PXEClient" { if exists user-class and option user-class = "iPXE" { # Second level bootstrap for iPXE filename "http://boot.east.rtk0.net/boot/bootscript.ipxe"; } else { # TOP LEVEL boostrap for PXE compatible clients! # 00:00 BIOS # 00:06 EFI IA32 # 00:07 EFI Bytecode if option arch != 00:00 { # EFI filename "/ipxe.efi"; } else { # BIOS filename "/undionly.kpxe"; } } } else if substring (option vendor-class-identifier, 0, 14 ) = "Linux ipconfig" { # @@@ FIXME -- isolate ltsp! # filename "/ltsp/i386/lts.conf"; } else if substring (option vendor-class-identifier, 0, 9 ) = "Etherboot" { # @@@ FIXME -- isolate ltsp! # filename "/ltsp/i386/nbi.img"; } # @@@SNIP@@@ # Aluminum PowerBook G4 host powerbook { # actual powerbook hardware ethernet 00:0d:93:36:37:ae; # temp combusken #hardware ethernet 00:11:24:84:89:84; # temp charmander #hardware ethernet 00:14:51:99:90:94; fixed-address powerbook.east.rtk0.net; if exists user-class and option user-class = "FreeBSD" { filename "/boot/kernel/kernel"; } else { filename "loader"; } server-identifier x.x.x.252; always-reply-rfc1048 on; # LOADER syntax option root-path "nfs://x.x.x.30/blackdragon/netboot/powerbook"; } }