SOLVED Multicast error with FOG USB new iMac

  • Server
    • FOG Version: 1.4.4
    • OS: Ubuntu
    • SVN Revision: 6077
    • Service Version: USB FOS & NETWORK BOOT
    • OS: MACOS ( Model ID : iMac18,2 )

    From fog server I create the multicast task without problems.
    On the Mac client computers, boot the usb without problems but the following error message appears.

    alt text


  • Moderator

    @sebastian-roth OK now that we’ve identified that iPXE is having an issue init’ing the tigon driver, how about trying plan “B” booting directly info FOG? Its not the cleanest solution but it might allow the OP the ability to image these computers???

  • Moderator

    @Abuelika Thanks for testing this. So we proofed that this is not essentially a PXE/netboot issue but just something with the tg3 driver that cannot properly initialize the NIC after the new Sierra boot ROM has been deployed. No matter booting it from an USB key or over network. Nice sh**

  • Moderator

    @abuelika Well that was a nice try. It looks like iPXE doesn’t support the network adapter, or probably more correct iPXE doesn’t support the uefi firmware that is sitting between iPXE and the network adapter.

    I did check into what it would take to have grub (from the fos boot usb) connect to the multicast. The fog developers are doing some tricks with iPXE that I don’t know (yet) how to do with grub. I’m still going to look into it, but grub is not quite as dynamic as iPXE is.

  • Hi @george1421 ,

    The menu does not appear, directly starts network

    alt text

  • Moderator

    @sebastian-roth I like the first way since its the simplest.

    The second way is if you wanted a single usb stick that will boot directly into FOS and bypass iPXE if iPXE is having a problem with setting up the hardware, or if its just the pxe roms at fault you can jump into iPXE from GRUB boot and have the full function of FOG via iPXE. Its just two different ways to get to the same answer.

    That is why I kept asking about iPXE with these macs. Based on your response it was the pxe roms in the MAC that was at fault not iPXE.

  • Moderator

    @george1421 Why not going the easy way you described at first. I quite like that, simple and nice. Though both ways should work. Thanks for testing!

  • Moderator

    @sebastian-roth ok, now…

    I had a few minutes to test an idea I had with my FOS usb boot drive.

    If we do the following we can jump start iPXE from grub.

    1. Append the two new menu entries to /boot/grub/grub.conf on the flash drive.
    menuentry "7. FOG iPXE Jumpstart BIOS" {
     echo loading the kernel
     linux16  /boot/ipxe.krn
     echo booting iPXE...
    menuentry "8. FOG iPXE Jumpstart EFI" {
     echo chain loading the kernel
     insmod chain 
     chainloader /boot/ipxe.efi
     echo booting iPXE-efi...
    1. Copy the following files from the fog server /tftpboot directory to the flash drive in the /boot directory.
      1 ipxe.krn
      2 ipxe.efi

    Now boot the mac from the usb drive, you should see the GRUB menu now with options 7 and 8. Since this is an EFI system, pick option 8 to chain into ipxe.efi. If everything works well you should see the FOG iPXE menu.

    Since I don’t have a mac here, I tested on a Dell o790. This test failed, it hung on initializing the network adapter it printed the mac address and then displayed 3 dots but never went any more. I did the same process with a Dell 7040 in efi mode and it booted correctly.

    The 790 was the first model to support uefi, but it looks like it doesn’t support pxe booting in uefi mode. So it may be missing the uefi network stack. That might explain why ipxe.efi hung setting up the network adapter.

  • Moderator

    @sebastian-roth OK since this is an efi system can we do the trick of,

    1. formatting a usb drive as fat32
    2. Create a directory structure of /EFI/BOOT
    3. Then take /tftpboot/ipxe.efi from the FOG server and place it into that directory structure on the usb flash drive.
    4. Rename ipxe.efi in /EFI/BOOT to /EFI/BOOT/BOOTX64.EFI
    5. And probably for good measure, take /tftpboot/i386-efi/ipxe.efi from the FOG server and place it into that directory structure on the usb flash drive.
    6. Rename ipxe.efi (from the i386-efi directory) in /EFI/BOOT to /EFI/BOOT/BOOTIA32.EFI
    7. And finally move that flash drive to a mac and usb boot from it?

    If iPXE is happy you should get the FOG iPXE menu.

  • Moderator

    @george1421 The issue is very specific to one network card that is used in a couple of Macs (books, iMacs, maybe even some minis). So far I’ve only seen this reported with BCM57766 chips (PCI 14e4:1686). The issue is that when you install Mac OS X Sierra it’ll install a new “Boot ROM” version (I am still not exactly sure if this means UEFI firmware or what) and that breaks PXE booting for those clients. I have tested a couple other Macs (that I borrowed from friends) but they all worked (with Sierra) because they have a different NIC chip. Even very similar chips like the BCM57765 (same tg3 driver) do work!! So it’s really “special”. What happens is that on PXE boot the NIC does not come up properly. Curtis even reported that his NIC came up but it wasn’t able to send packets to the wire. I am still not exactly sure where we are with this.

    So back to your question. The Macs do load and execute iPXE but fail to establish a network connection from that. Any ideas?

  • Moderator

    @sebastian-roth Sorry english is my second language (binary is #1). I need to be more specific with my question.

    Is the issue in the transition from MAC PXE Roms to IPXE or does the MACs do not like iPXE all together? If its the first one we can get around, if its the second one we may need to do more looking.

  • Moderator

    I have been working on the iPXE boot issue with those Macs together with the iPXE devs but it’s very hard as I do not own one of these Macs and the roundtrip time (try this binary and post picture here, then interpret this and send a mail to the devs) is very long and I don’t see this getting any further right now. Although there has been some minor progress and a new contact with someone else working on this in the last week… He’s been in contact with I still hope we get this solved at some point in time.

  • @george1421 I do not like to boot via USB. But the new version of macs can not boot ipxe …

  • Moderator

    @sebastian-roth What that error means is (under unicast) the FOG server doesn’t have anything for the target computer to do. I know this is a confusing error (type Null) that really needs to be changed to make it more user friendly.

    As far as I know this was never a feature of the usb boot. As for making it work with multicasting… I would have to ask why are we using usb booting with the macs? Is it because they don’t pxe boot or is it that they do not like iPXE? The reason why I ask is I think multicasting asks you a question about what stream you want to connect to. That part is iPXE. I tought I had a way to chain load from grub to iPXE. If iPXE works on macs then there is a chance to make this work. If iPXE hates macs then we have a problem.

  • Moderator

    @Abuelika Did this ever work? I suppose not. The USB key thing is just a quick hack and does not fully work. Maybe @george1421 can look into this and update the grub config to make this work. But maybe we also need to change the initrd scripts?!