Cannot Boot Macbook 7,1 from PXE



  • Hello,
    I am trying to boot some 2010 Macbooks 7,1 to image with FOG, its been a rocky start though. I have not been able to get the Macbooks (running Lion at the current moment) to boot via Netbook/PXE. It shows up when I hold alt however after clicking on it, it boots into the hard disk. I have following the directions found here https://wiki.fogproject.org/wiki/index.php?title=FOG_on_a_MAC using the fancy method and also the DNSMasq, blessing the mac does not work either. Any suggestions?


  • Moderator

    @Tom-S said in Cannot Boot Macbook 7,1 from PXE:

    LOL, Apple and its proprietary way of doing things. Simple explanation, netboot is not pxe boot. OS X is very picky about netboot. The efi iPxe file first must be named boot.efi as well as match the architecture of the machine that is booting (for you thats 64 bit) secondly not all ethernet or wifi adapters will be visible to iPxe after handoff. DHCP must point to that file as well as the boot file also.

    I have lots of experience with imaging Macs with FOG. We do about 1500 or more a year.

    Basically you have a few options but I will line out what we do. When I create an image, on the “master” machine I create the smallest partition possible. In that partition I add the folders:
    /System/Library/CoreServices/

    After that I add the 64 or 32 bit ipxe file naming it boot.efi. Again for you thats a 64 bit file

    Now on reboot, hold down option and select that partition. If it is able to find your nics and boot to FOG then you are in good shape!!. If it works copy the partition you just created to a usb disk. Now use that to boot your machines. Realize that you can simply select the usb disk in the boot manager and once iPxe loads up pull it out, and use it on another machine (if you are doing multiple machines). Because of limitations in iPxe do not expect a pretty FOG Menu. No background picture and such.

    If your nics are not visible to the efi iPXE then you will need to use the undionly.kpxe file. That is a lot more tricky!! But if needed I will explain to you!

    I hope this helps a little

    -T

    Added most of this here:
    https://wiki.fogproject.org/wiki/index.php?title=FOG_on_a_MAC#Notes_from_developers


  • Developer

    @nicholasrudd said:

    Ok upgraded to trunk and after bless the computer it boots into iPXE, which if fine for now.

    Did I get that wrong? I thought you were saying netboot is working with the blessing method. Why mess around with USB stuff at all??

    I am sure @Tom-S has a lot more experience with Mac stuff than I have but I have played with netboot a lot and I don’t see why you should bother about putting iPXE binaries on disk/USB to boot from. It’s definitely one way of doing it but from my point of view it’s a kind of inflexible way because exchanging the binary on disk has to be done on every machine/USB key compared to netbooting and loading the iPXE binary via TFTP from a server! NICs should be visible either way.

    I like the blessing method because you don’t need to bother about DHCP/netboot at all! The Mac will just pull the iPXE binary from the TFTP straight away without holding down any keys. Default iPXE menu entry will boot to Mac OS X if no task is scheduled. Configuring your DHCP server to serve netboot and have it show up on the ALT-key boot menu is just another option if you don’t like to have the client boot from the network all the time. Lot’s of options!


  • Moderator

    @nicholasrudd Well… what you had to do is hardly a viable solution. Asking for @Moderators and @Developers to chime in (I have zero experience with Macs and FOG).



  • Well I have it working with a USB, after about 30mins to a 1hour of messing around :). @Tom-S that method of making a USB does worked however Mac Boot just kept bouncing (I think this is a Lion issue, but I am trying to upgrade to El Capitan), just make sure that if the USB is made manually that it is formatted Mac OS X journaled not FAT (learn from your mistakes), but I would like to that in the wiki like @Wayne-Workman stated.
    However I did figure out a few things,

    1. When iPXE gets stuck at “ipxe initialising devices” you need to
    • Unplug ethernet cord

    • Reboot the system holding alt

    • Press the Efi Boot, USB/Partition

    • Plug ethernet back in.

    1. Your FOG server needs to have only one interface (at boot up) otherwise it will stall at trying to receive tftp ipxe.efi file (I knew this from just playing around with trunk)

    2. Macs are a pain compared to the ThinkPads we have

    3. Dont use a USB to ethernet device, doesn’t help at all :)

    4. Even with those new setting in the dhcp file, you still will not see the dhcp server when you hold alt, I eventually said screw-it and gave up after I saw that the USB worked

    Overall thanks, and I aprecieate all your help!


  • Developer

    I did create an app that should do it however it is not 100%
    Mac Boot

    Use at your own risk as it creates a hybrid MBR on machine electing to use the bios version of the software. Basically do not use on production machine until it has been verified by you.

    -T


  • Moderator

    @Tom-S That would be wiki worthy.


  • Developer

    LOL, Apple and its proprietary way of doing things. Simple explanation, netboot is not pxe boot. OS X is very picky about netboot. The efi iPxe file first must be named boot.efi as well as match the architecture of the machine that is booting (for you thats 64 bit) secondly not all ethernet or wifi adapters will be visible to iPxe after handoff. DHCP must point to that file as well as the boot file also.

    I have lots of experience with imaging Macs with FOG. We do about 1500 or more a year.

    Basically you have a few options but I will line out what we do. When I create an image, on the “master” machine I create the smallest partition possible. In that partition I add the folders:
    /System/Library/CoreServices/

    After that I add the 64 or 32 bit ipxe file naming it boot.efi. Again for you thats a 64 bit file

    Now on reboot, hold down option and select that partition. If it is able to find your nics and boot to FOG then you are in good shape!!. If it works copy the partition you just created to a usb disk. Now use that to boot your machines. Realize that you can simply select the usb disk in the boot manager and once iPxe loads up pull it out, and use it on another machine (if you are doing multiple machines). Because of limitations in iPxe do not expect a pretty FOG Menu. No background picture and such.

    If your nics are not visible to the efi iPXE then you will need to use the undionly.kpxe file. That is a lot more tricky!! But if needed I will explain to you!

    I hope this helps a little

    -T


  • Developer

    @nicholasrudd As FOG is still only rarely used for Mac imaging we do not include those DHCP settings when generating the config with the installer yet. So upgrading to FOG trunk those settings were probably lost. Add the settings you already found in the fancy section of the wiki article and you should see iPXE on the boot selection when holding the alt key on boot.

    The settings mentioned in that article for ISC-DHCP and dnsmasq should both do the exact same thing. It’s an either-or - if you like FOGs default ISC-DHCP then use the config shown in the fancy section and if you like to use dnsmasq try the config mentioned in that section. I prefer ISC-DHCP as you can build a more complex but still highly readable configuration file compared to the config syntax used in dnsmasq.

    I’ll mark this solved for now but feel free to keep on asking more questions here or open a new topic as you like!



  • Ok upgraded to trunk and after bless the computer it boots into iPXE, which if fine for now, however the fog server does not show up when I hold alt, do I need to re-use those settings from that old article (using DNSmasq)?


  • Developer

    @nicholasrudd Sorry, I haven’t played with the Mac OS X stuff for some month and was under the impression that you needed a patched DHCP to make iPXE show up in the boot selection screen. So I just couldn’t imagine you patching DHCP and getting this to show up but failing on booting. Don’t worry if this doesn’t make any sense to you. Just trying to explain why I was asking those weird questions…

    I also reset the PRAM/NVRAM(?)

    I think this would reset the blessing as well!

    Can you please do me a favour: do the blessing again and take a screenshot of the command + output. As well please post your dhcp config here!


  • Moderator

    @nicholasrudd said in Cannot Boot Macbook 7,1 from PXE:

    I will take a look at trunk

    Most definitely.



  • @Wayne-Workman Thanks for your reply, I am using 1.2.0 (I think that is the newest version). I will take a look at trunk



  • @Sebastian-Roth here is a screen shot of what i see, I do not know why blessing did not work (unless the tftp server is different than the FOG server), no errors just boots as if nothing happened, I also reset the PRAM/NVRAM(?) thinking that it was stuck (I have had this happen on Lion with Windows install USBs) however no joy.


  • Developer

    @nicholasrudd said:

    It shows up when I hold alt however…

    What does show up?? Please post a picture here in the forums! Why did blessing not work? Any error message while running the bless command? (Just asking because that’s the easiest way from my point of view). Don’t worry, I am pretty sure we can make this run. I played a lot with Macs back at my old working place…


  • Moderator

    @nicholasrudd I believe that most newer macs are UEFI only, so you will need to use ipxe.efi as your boot file most likely as a starting point.

    Additionally, we don’t know what version of FOG you are using. FOG Trunk has far better UEFI support, and partition handling. If your FOG setup is brand-new, I’d advise you to move to trunk. Instructions on that can be found here: https://wiki.fogproject.org/wiki/index.php?title=Upgrade_to_trunk


Log in to reply
 

393
Online

39.3k
Users

11.0k
Topics

104.6k
Posts

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