Forum Replies Created

Viewing 1 post (of 1 total)
  • Author
    Posts
  • in reply to: Issues with 2011 Macs and netboot. #381547
    bpcruz
    Participant

    Has anyone here heard any updates regarding this problem or found any solutions? I’m unable to NetBoot most recently purchased Macs (though I can load my NetBoot sets by holding down the Option key and selecting them via the Startup Manager).

    After much testing, I’ve isolated the issue to Macs that ship with Apple’s latest firmware updates. Among other things, these updates enable the Internet Recovery feature, which at least appears to be something akin to downloading a NetBoot set hosted by Apple (the environment, once downloaded, is essentially the same as the hard disk’s hidden Lion Recovery partition).

    Here are links to the updates that have caused problems for me:

    http://support.apple.com/kb/DL1470

    http://support.apple.com/kb/DL1450

    To verify that this firmware update caused the issue, I tried loading a DeployStudio NetBoot set stored on my laptop from an Early-2011 MacBook Pro using the previous firmware update (Boot ROM version MBP81.0047.B0E) by pressing the “N” key at startup. NetBoot was enabled on my laptop’s ethernet interface, to which the MacBook Pro was directly connected. The NetBoot set loaded just fine, and I was able to automatically log into the DeployStudio Runtime on the NetBoot set without issue.

    I then upgraded that same Early-2011 MacBook Pro to the latest firmware version (MBP81.0047.B24) and tried loading my laptop’s NetBoot set in the same manner (by pressing the “N” key). The globe flashed for a few seconds before failing and booting the system partition on MBP’s hard disk instead.

    Below is the a comparison of the bootstrap protocol data from the DCHP discover packet sent by the same machine before and after the update. First, the packet issued before the update:

    Bootstrap Protocol
    Message type: Boot Request (1)
    Hardware type: Ethernet
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x00000555
    Seconds elapsed: 4
    [b] Bootp flags: 0x0000 (Unicast)
    0… …. …. …. = Broadcast flag: Unicast
    .000 0000 0000 0000 = Reserved flags: 0x0000[/b]
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 0.0.0.0 (0.0.0.0)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client MAC address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Client hardware address padding: 00000000000000000000
    Server host name not given
    Boot file name not given
    Magic cookie: DHCP
    Option: (t=53,l=1) DHCP Message Type = DHCP Discover
    Option: (53) DHCP Message Type
    Length: 1
    Value: 01
    Option: (t=55,l=5) Parameter Request List
    Option: (55) Parameter Request List
    Length: 5
    Value: 0103432b3c
    1 = Subnet Mask
    3 = Router
    67 = Bootfile name
    43 = Vendor-Specific Information
    60 = Vendor class identifier
    Option: (t=57,l=2) Maximum DHCP Message Size = 1500
    Option: (57) Maximum DHCP Message Size
    Length: 2
    Value: 05dc
    Option: (t=61,l=7) Client identifier
    Option: (61) Client identifier
    Length: 7
    Value: 013c07541b1400
    Hardware type: Ethernet
    Client MAC address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    [b] Option: (t=60,l=28) Vendor class identifier = “AAPLBSDPC/i386/MacBookPro8,1”
    Option: (60) Vendor class identifier
    Length: 28
    Value: 4141504c42534450432f693338362f4d6163426f6f6b5072…[/b]
    Option: (t=43,l=4) Vendor-Specific Information
    Option: (43) Vendor-Specific Information
    Length: 4
    Value: 02020101
    End Option
    Padding

    Now, after the update:

    Bootstrap Protocol
    Message type: Boot Request (1)
    Hardware type: Ethernet
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x18553443
    Seconds elapsed: 0
    [b] Bootp flags: 0x8000 (Broadcast)
    1… …. …. …. = Broadcast flag: Broadcast
    .000 0000 0000 0000 = Reserved flags: 0x0000[/b]
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 0.0.0.0 (0.0.0.0)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client MAC address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Client hardware address padding: 00000000000000000000
    Server host name not given
    Boot file name not given
    Magic cookie: DHCP
    Option: (t=53,l=1) DHCP Message Type = DHCP Discover
    Option: (53) DHCP Message Type
    Length: 1
    Value: 01
    Option: (t=55,l=7) Parameter Request List
    Option: (55) Parameter Request List
    Length: 7
    Value: 0103060f432b3c
    1 = Subnet Mask
    3 = Router
    6 = Domain Name Server
    15 = Domain Name
    67 = Bootfile name
    43 = Vendor-Specific Information
    60 = Vendor class identifier
    Option: (t=61,l=33) Client identifier
    Option: (61) Client identifier
    Length: 33
    Value: 013c07541b14000000000000000000000000000000000000…
    Option: (t=57,l=2) Maximum DHCP Message Size = 1500
    Option: (57) Maximum DHCP Message Size
    Length: 2
    Value: 05dc
    End Option

    Besides the absence of the vendor class identifier noted above, another notable difference between this packet and the one I captured before the update is the bootp flag. The packet after the update has the broadcast flag set. The one before is unicast.

    The DHCP offer packet sent by my laptop also has the unicast bootp flag set in the exchange made before the firmware update:

    Ethernet II, Src: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8), Dst: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Destination: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    …. …0 …. …. …. …. = IG bit: Individual address (unicast)
    …. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
    Source: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8)
    Address: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8)
    …. …0 …. …. …. …. = IG bit: Individual address (unicast)
    …. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
    Type: IP (0x0800)

    ….

    Bootstrap Protocol
    Message type: Boot Reply (2)
    Hardware type: Ethernet
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x00000555
    Seconds elapsed: 0
    Bootp flags: 0x0000 (Unicast)
    0… …. …. …. = Broadcast flag: Unicast
    .000 0000 0000 0000 = Reserved flags: 0x0000
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: 0.0.0.0 (0.0.0.0)
    Next server IP address: 192.168.1.1 (192.168.1.1)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client MAC address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Client hardware address padding: 00000000000000000000
    Server host name: C701-ML-FSPT-20.local
    Boot file name: /private/tftpboot/NetBoot/NetBootSP0/10.7.2_Combo_Intel_NB111213.nbi/i386/booter
    Magic cookie: DHCP
    Option: (t=53,l=1) DHCP Message Type = DHCP Offer
    Option: (53) DHCP Message Type
    Length: 1
    Value: 02
    Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.1
    Option: (54) DHCP Server Identifier
    Length: 4
    Value: c0a80101
    Option: (t=60,l=9) Vendor class identifier = “AAPLBSDPC”
    Option: (60) Vendor class identifier
    Length: 9
    Value: 4141504c4253445043
    Option: (t=17,l=90) Root Path = “nfs:192.168.1.1:/Library/NetBoot/NetBootSP0:10.7.2_Combo_Intel_NB111213.nbi/NetInstall.dmg”
    Option: (17) Root Path
    Length: 90
    Value: 6e66733a3139322e3136382e312e313a2f4c696272617279…
    Option: (t=43,l=18) Vendor-Specific Information
    Option: (43) Vendor-Specific Information
    Length: 18
    Value: 08048200006e820a4e6574426f6f74363330
    End Option

    Below are the same sections from the discover packet sent by laptop to the MBP after the update:

    Ethernet II, Src: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    Destination: Broadcast (ff:ff:ff:ff:ff:ff)
    Address: Broadcast (ff:ff:ff:ff:ff:ff)
    …. …1 …. …. …. …. = IG bit: Group address (multicast/broadcast)
    …. ..1. …. …. …. …. = LG bit: Locally administered address (this is NOT the factory default)
    Source: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8)
    Address: Apple_b7:b7:f8 (64:b9:e8:b7:b7:f8)
    …. …0 …. …. …. …. = IG bit: Individual address (unicast)
    …. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
    Type: IP (0x0800)

    ….

    Bootstrap Protocol
    Message type: Boot Reply (2)
    Hardware type: Ethernet
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x18553443
    Seconds elapsed: 0
    Bootp flags: 0x8000 (Broadcast)
    1… …. …. …. = Broadcast flag: Broadcast
    .000 0000 0000 0000 = Reserved flags: 0x0000
    Client IP address: 0.0.0.0 (0.0.0.0)
    Your (client) IP address: 192.168.1.13 (192.168.1.13)
    Next server IP address: 192.168.1.1 (192.168.1.1)
    Relay agent IP address: 0.0.0.0 (0.0.0.0)
    Client MAC address: Apple_1b:14:00 (3c:07:54:1b:14:00)
    Client hardware address padding: 00000000000000000000
    Server host name: C701-ML-FSPT-20.local
    Boot file name not given
    Magic cookie: DHCP
    Option: (t=53,l=1) DHCP Message Type = DHCP Offer
    Option: (53) DHCP Message Type
    Length: 1
    Value: 02
    Option: (t=54,l=4) DHCP Server Identifier = 192.168.1.1
    Option: (54) DHCP Server Identifier
    Length: 4
    Value: c0a80101
    Option: (t=51,l=4) IP Address Lease Time = 59 minutes, 24 seconds
    Option: (51) IP Address Lease Time
    Length: 4
    Value: 00000dec
    Option: (t=1,l=4) Subnet Mask = 255.255.255.0
    Option: (1) Subnet Mask
    Length: 4
    Value: ffffff00
    Option: (t=3,l=4) Router = 192.168.1.1
    Option: (3) Router
    Length: 4
    Value: c0a80101
    Option: (t=67,l=19) Bootfile name = “pxelinux/pxelinux.0”
    Option: (67) Bootfile name
    Length: 19
    Value: 7078656c696e75782f7078656c696e75782e30
    End Option
    Padding

    The after the update, the boot file location is missing–further, the destination of this offer packet is a broadcast address, not the MBP address as before.

    My problem is, I have very little idea what any of this means. I’m not sure how to interpret this data, nor do I have any idea what I can do to have my clients properly load the NetBoot set when pressing the “N” key. And the issue doesn’t even stop there–after applying the firmware update, even though I can load NetBoot set through the Startup Manager, strange error messages and drops in connection occur once the DeployStudio NetBoot set loads.

    Thoughts?

Viewing 1 post (of 1 total)