Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Netbooting mac mini g4

I've finally got around to investigate how to netboot mac mini g4 as I
promised Christos (quite) a while ago.

OFW in that machine *really* wants to talk Apple's BSDP it seems.
Attached is the sekeleton dhcpd.conf that seems to make it happy.
There are still two ~15 seconds delays in the process, but that is

The idea is from


but expressed properly using dhcpd option defintions instead of bunch
of hex.

subnet netmask {
  next-server = config-option dhcp-server-identifier;

# Defintions for Apple's Boot Server Discovery Protocol (BSDP)
option space BSDP;
option BSDP.message-type	code 1 = unsigned integer 8;
option BSDP.version		code 2 = unsigned integer 16;
option BSDP.server-identifier	code 3 = ip-address;
option BSDP.server-priority	code 4 = unsigned integer 16;
option BSDP.reply-port		code 5 = unsigned integer 16;

# Implement dummy BSDP interaction to keep OFW happy
class "Apple-BSDP" {
  match if substring (option vendor-class-identifier, 0, 10) = "AAPLBSDPC/";
  vendor-option-space BSDP; 
  if (option dhcp-message-type = 8) {	# DHCP INFORM
    option vendor-class-identifier "AAPLBSDPC";


    # reply with an empty list
    if (option BSDP.message-type = 1) { # BSDP LIST
      log(info, "BSDP_LIST");
      option BSDP.message-type 1;
      option BSDP.server-identifier = config-option dhcp-server-identifier;
      option BSDP.server-priority 32768;

    # just ack SELECT
    elsif (option BSDP.message-type = 2) { # BSDP SELECT
      log(info, "BSDP_SELECT");
      option BSDP.message-type 2;
  } # INFORM

host snips {
  hardware ethernet 00:11:24:6f:0f:e6; 
  filename "ofwboot.elf";
  option root-path "/export/root/snips";

Home | Main Index | Thread Index | Old Index