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";
}