Boot PXE Macbook - Imac



  • Hello,

    Currently in trying to boot PXE on the Imac and Macbook PRO.

    Thanks to the method contained in IPXE image Clonezilla it works for Macbook PRO, but we have a problem with the Imac blocking the message 'initialising devices "that would be linked to the driver (BMC 57765-B0).

    If you have ideas to solve this problem?

    We also tried the method contained on this link:
    https://wiki.fogproject.org/wiki/index.php/FOG_on_a_MAC

    We executed this command (bless --netboot --booter tftp: // <your-tftp-server-ip> /ipxe.efi) on a client, the command goes well and we see that although we contact the file ipxe.efi the FOG server. So we are restarting the client Netboot but nothing happens (the earth rotates without launching anything)

    Should we make further adjustments to the MacOS client level or the FOG server for this to work properly?

    Thanks for your help.
    Best regards.

    Nicolas


  • Developer

    @Nicolas-Bricet Thanks for reporting back on this! I am still working on improving this article. Knowing what works and what not for different machines is very helpful. I am marking this thread as solved. If you see new issues with Mac OS you might want to open up a new post.



  • Hello

    First, thank you to everyone.
    PXE works on my two types of machinery by putting this in the DHCP with the ALT key or the “N” key :

    subnet ... {
        authoritative;
        ...
    }
    
    class "Apple-Intel-Netboot" {
        match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";
        option dhcp-parameter-request-list 1,3,17,43,60;
        if (option dhcp-message-type = 8) {
            option vendor-class-identifier "AAPLBSDPC";
            if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) {
                # BSDP List
                option vendor-encapsulated-options 01:01:01:04:02:80:00:07:04:81:00:05:2a:09:0D:81:00:05:2a:08:69:50:58:45:2d:46:4f:47;
            }
            elsif (substring(option vendor-encapsulated-options, 0, 3) = 01:01:02) {
                # BSDP Select
                option vendor-encapsulated-options 01:01:02:08:04:81:00:05:2a:82:0a:4e:65:74:42:6f:6f:74:30:30:31;
                filename "ipxe.efi";
                next-server *.*.*.*;
            }
        }
    }
    

    This configuration was not enough:

    class "Apple-Intel-Netboot" {
        match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";
        option dhcp-parameter-request-list 1,3,17,43,60;
        if (option dhcp-message-type = 1) {
            option vendor-class-identifier "AAPLBSDPC/i386";
            option vendor-encapsulated-options 08:04:81:00:00:67;
        }
        filename "ipxe.efi";
        next-server x.x.x.x;
    }
    

    For Macbook snp.efi and / or ipxe.efi work, should you use one over the other?

    Thanks for your help.
    See you soon.

    Nicolas.

    Mod edited to properly display information rather than having random smilies show up throughout


  • Moderator

    @Uncle-Frank said:

    Which iPXE binaries do you use? Those provided by FOG or different ones (maybe older versions)?

    I am still not exactly sure about the ethernet cards as it is almost impossible to find the PCI IDs of things assembled into Macs on the internet… So I just hope that there are “normal” BCM57765 chips in both of your Macs.

    Anyhow. Lets give it a try. Please add this line to your subnet section:

    subnet ... {
        authoritative;
        ....
    }
    

    and add this class definition anywhere in your DHCP config:

    class "Apple-Intel-Netboot" {
        # Limit this class to only Intel Apple machines
        match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";
        option dhcp-parameter-request-list 1,3,17,43,60;
        if (option dhcp-message-type = 1) {
            option vendor-class-identifier "AAPLBSDPC/i386";
            option vendor-encapsulated-options 08:04:81:00:00:67;
        }
        filename "ipxe.efi";
        next-server x.x.x.x;
    }
    

    Restart the DHCP service, power up your Mac - pressing ‘n’ on the keyboard till you see a globe spinning.
    This is the most simple configuration I could find to talk BSDP. It works with MacBook1,1 and MacBook6,1 which I happend to have here for testing. It might not work for newer Macs. I’ll be updating the before mentioned wiki page to explain different settings.
    I think you can remove ‘filename’ and ‘option bootfile-name’ from your host section. It is set via the new class definition.

    This needs added to the WiKi…

    I’m thinking I named the BIOS and UEFI coexistence article wrong… it should be simply entitled “Network Booting Coexistence”… idk… What name could it possibly be given?


  • Developer

    Alright, wiki is up to date for now: https://wiki.fogproject.org/wiki/index.php/FOG_on_a_MAC


  • Developer

    Which iPXE binaries do you use? Those provided by FOG or different ones (maybe older versions)?

    I am still not exactly sure about the ethernet cards as it is almost impossible to find the PCI IDs of things assembled into Macs on the internet… So I just hope that there are “normal” BCM57765 chips in both of your Macs.

    Anyhow. Lets give it a try. Please add this line to your subnet section:

    subnet ... {
        authoritative;
        ....
    }
    

    and add this class definition anywhere in your DHCP config:

    class "Apple-Intel-Netboot" {
        # Limit this class to only Intel Apple machines
        match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386";
        option dhcp-parameter-request-list 1,3,17,43,60;
        if (option dhcp-message-type = 1) {
            option vendor-class-identifier "AAPLBSDPC/i386";
            option vendor-encapsulated-options 08:04:81:00:00:67;
        }
        filename "ipxe.efi";
        next-server x.x.x.x;
    }
    

    Restart the DHCP service, power up your Mac - pressing ‘n’ on the keyboard till you see a globe spinning.
    This is the most simple configuration I could find to talk BSDP. It works with MacBook1,1 and MacBook6,1 which I happend to have here for testing. It might not work for newer Macs. I’ll be updating the before mentioned wiki page to explain different settings.
    I think you can remove ‘filename’ and ‘option bootfile-name’ from your host section. It is set via the new class definition.


  • Senior Developer

    You could try the vendor specific efi files. If I recall correctly, BMC is Broadcom/Realtek, maybe try the realtek.efi file?



  • @Tom-Elliott

    Hello,

    Yes I have tested ipxe.efi files snp.efi, snponly.efi, ipxe_i386.efi, snp_i386.efi, snponly_i386.efi without success.

    Does not it come from a problem with the DHCP?


  • Senior Developer

    @Nicolas-Bricet Would you try the snp.efi, or the snponly.efi files maybe?



  • @Wayne-Workman

    Hello,

    I tested ipxe.efi and ipxe_i386.efi without success.

    Best regards



  • Hello,

    Here are the references of Apple computers :

    Macbook.jpg

    Imac.jpg

    Here is the information of the two network cards:

    MacBook PRO :
    Broadcom 57765-B0
    57765-v1.37, 0x7287af41

    IMac :
    Broadcom 57765-B0
    57765-v1.37, 0x7cfcc847


  • Developer

    Please provide the exact model and serial number. Here you see how to find those on your Mac: http://www.macobserver.com/imgs/tmo_articles/20120906-04-MacSysInfo_1.jpg
    Plus provide vendor id, device/product id of the NIC (found in System Report -> Hardware -> Ethernet Cards).

    IMHO you seam to have to go with extending your DHCP configuration as bless obviously does not work for you. Lately I stumbled upon Macs that seam to not work with bless because of a newer Boot ROM or SMC Version. Please send us those information as well, while you have the system report tool open: https://support.apple.com/library/content/dam/edam/applecare/images/en_US/osx/yosemite-system-information-hardware-overview.png

    I am willing to provide more information about how to extend DHCP as soon as you post all the information I asked for.


  • Moderator

    Have you tried other EFI files? There are both 64bit and 32 bit files available.



  • Hello,

    We currently have the SVN version (4543) of FOG 1.2.0

    The DHCP server is remote, this is the configuration of the network and the configuration of the machine causing problems

    dhcp_1.PNG

    dhcp_2.PNG

    In your opinion should we proceed with DHCP side or modifications on the client machine?

    Thanks for your help.


  • Developer

    Sorry, I forgot to post the URL: http://www.macobserver.com/imgs/tmo_articles/20120906-04-MacSysInfo_1.jpg
    Here you see where to get the information (model, serial number of model, ethernet vendor and device id). I just want to make sure that you have the exact same network cards and we are not talking about different things here.

    Well, making iPXE work using USB has been done years ago. But with current iPXE you should be able to really network boot as well as the ipxe-devs have made a lot of progress.

    One way is to configure your DHCP server properly to talk BSDP (https://static.afp548.com/mactips/bootpd.html). I have done this with isc-dhcp-server on linux but usually I prefer the ‘bless’ way. You don’t need BSDP then, just DHCP (even Windows DHCP should work). Just a day ago I had a Macmini here which wouldn’t netboot the ‘bless’-way. Maybe it’s because it had a newer firmware!? Not sure.

    Before I tell you more about BSDP, please let us know a little more about your environment. Which version of FOG do you use? Is FOG your DHCP server or which other DHCP server do you use?



  • It works by simulating the PXE via a USB key, this loads the DHCP configuration with the filename and nex-server and then gets the FOG menu. This manipulation works on Macbook.

    Here is the information of the two network cards:

    MacBook PRO :
    Broadcom 57765-B0
    57765-v1.37, 0x7287af41

    IMac :
    Broadcom 57765-B0
    57765-v1.37, 0x7cfcc847


  • Developer

    What do you mean by “it works for Macbook PRO”. Do you see iPXE coming up, getting an IP via DHCP and then showing the FOG menu?

    The bless command won’t help you as ipxe is coming up already (hanging with the message “initialising devices”). Bless is only one way to make a Mac boot iPXE. Seams like you’ve already achieved this.

    Some Mac models are different than others. Mine all work perfectly (BMC 57765 NIC chip). Please provide the exact model and serial number. Here you see how to find those on your Mac. Plus provide vendor id and product id of the NIC (found in System Report -> Hardware -> Ethernet Cards).


Log in to reply
 

362
Online

38976
Users

10712
Topics

101675
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.