Net-booting Leopard with ISC/DHCPd

Posted by Pepijn Oomen Sat, 09 Aug 2008 21:00:45 GMT

Booting a MacOSX machine from the network provides for an easy way to install and re-install the operating system. On MacOSX server, this feature can be enabled from a GUI, but the same effect can be achieved using open-source tools. One of the essential elements is a properly configured DHCP server.

The following configuration snippet is what I use to boot my Macs from a network-based image of the Leopard install DVD, build with the System Image Utility from the Server Admin Tools for Leopard.

class "netboot" {
  match if substring(option vendor-class-identifier, 0, 9) = "AAPLBSDPC";
  option dhcp-parameter-request-list 1,3,17,43,60;
  if (option dhcp-message-type = 1) {
    option vendor-class-identifier "AAPLBSDPC";
    option vendor-encapsulated-options 08:04:81:00:00:01;
  } elsif (option dhcp-message-type = 8) {
    option vendor-class-identifier "AAPLBSDPC";
    option vendor-encapsulated-options
      01:01:02:               # bsdp_msgtype_select
      08:04:81:00:00:01;      # bsdptag_selected_boot_image
  }
  if (substring(option vendor-class-identifier, 10, 4) = "i386") {
    filename "i386/booter";
  } elsif (substring(option vendor-class-identifier, 10, 3) = "ppc") {
    filename "ppc/booter";
  }
  option root-path "nfs:192.168.1.1:/srv/netboot:NetInstall.nbi/NetInstall.dmg";
}