Boot PXE Macbook - Imac
-
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, 0x7287af41IMac :
Broadcom 57765-B0
57765-v1.37, 0x7cfcc847 -
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?
-
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
In your opinion should we proceed with DHCP side or modifications on the client machine?
Thanks for your help.
-
Have you tried other EFI files? There are both 64bit and 32 bit files available.
-
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.
-
Hello,
Here are the references of Apple computers :
Here is the information of the two network cards:
MacBook PRO :
Broadcom 57765-B0
57765-v1.37, 0x7287af41IMac :
Broadcom 57765-B0
57765-v1.37, 0x7cfcc847 -
-
@Nicolas-Bricet Would you try the snp.efi, or the snponly.efi files maybe?
-
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?
-
You could try the vendor specific efi files. If I recall correctly, BMC is Broadcom/Realtek, maybe try the realtek.efi file?
-
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. -
Alright, wiki is up to date for now: https://wiki.fogproject.org/wiki/index.php/FOG_on_a_MAC
-
@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?
-
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
-
@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.