SOLVED Surface Pro 4 won't get to registration menu

  • Moderator

    @sarge_212 Just for clarity if you use this process to create a usb boot media
    AND your target is in efi mode AND you boot from the usb drive, the debug kernel will be in UEFI mode. That flash drive process will create a multi boot bios / uefi boot device. Now understand the only thing this will get you is the FOG debug kernel running on your surface. You can’t do anything but debug which is not very exciting or productive. The thought though is if you can boot into the debug kernel and confirm that you are picking up and IP address then we know the surface is a viable option once the devs can get past the chain loading bit. But I think they already proved that the surface pro 4 boots the kernel, (not sure if they checked for an IP address). This needs to happen over a usb ethernet adapter since wifi is not a possible solution for pxe booting.

  • @george1421 I can understand all the commotion. I can boot the pro 4 with fog client debug from the USB stick. How do I boot into UEFI mode? Not quite sure how to do that from the debug USB stick. When I try to UEFI boot from the surface it gets the ipxe.efi but then hangs when I go to “perform full host registration and inventory.” If there is a way to UEFI boot from the USB stick, I don’t know it so any help is appreciated.

  • Moderator

    @sarge_212 First of all, I’m going to have to apologize since I’m getting all of these uefi thread mixed up.

    Just so I can get this straight. You can boot the surface pro 4 with the fog client debug OS from the usb stick right? And you can boot into uefi mode? If this IS the case. Can this device pick up an IP address from the usb ethernet adapter?

    ip addr show

  • I did try this with the default kernels I had before all this and it looks like it still won’t work with uefi. Are there any commands that would be helpful that I could run in the fog debug environment?

  • @Tom-Elliott Did that. Interesting to note – I ipxe efi booted the Optiplex 9020. I get the registration menus without any background (as expected) then it gets to the point where it kernel panics (same point the surface is getting stuck on) This is on FOG 1.2.0 with the regular 1.2.0 kernels (4.1.2 I believe). I may test on the previous kernel I was on before all of this and try that or try it on the new trunk kernels I pulled from a trunk fog install a few days ago. I’ll do some testing and let you know.

  • Senior Developer

    @sarge_212 his is 1.2.0, right? Can you open the file:


    Then comment the line number (again from 1.2.0 BootMenu.class.php) 684?

    Make it read:

    //print "console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n";
  • Moderator

    @sarge_212 said:

    Could not configure console: Error 0x7f4ce08e (
    Anyway…that’s that.

    Interesting, could not configure console (video). Not trying to draw a conclusion here, but this sounds similar to “No suitable video mode found. Booting in blind mode” Hmmmm… No solution in mind yet, but Hmmmmmmm…

  • @sarge_212 said:

    Just FYI – Tried ipxe efi booting a Dell Optiplex 9020.

    I use ipxe.efi for the Optiplex 9020 at work. It works fine. Try that?

  • @george1421 Just FYI – Tried ipxe efi booting a Dell Optiplex 9020. It gets some what into it and then errors with an iPXE error:

    tftp://10.x.x.x/default.ipxe… ok
    http://10.x.x.x/fog/service/ipxe/fogbg.png …ok
    Could not configure console: Error 0x7f4ce08e (
    could not boot: error (same error)

    Chainloading failed, hit ‘s’ for the iPXE shell: reboot in 10 seconds

    Anyway…that’s that.

  • Moderator

    @sarge_212 Don’t go through extra effort if you don’t have any systems you know of that pxe boot properly today in efi mode. I have the same systems in my test lab and will test them tomorrow with the latest fog build. Don’t disrupt your current production environment.

    I’m just trying to track down a ipxe efi booting system that is successful today. Then try to boot the debug kernel without the insmod video command. This will tell us if the insmod video is the true issue or just happens to fix a different issue.

  • @george1421 I can certainly try it. I have some old hardware but not sure what to test on. We have several generations of Dell Latitudes if that could be of use. E6420, E6430 and the like. We also are using optiplex 9020s in our environs so I can test on those. Isn’t it possible to switch from BIOS to UEFI as well in the setup of the dell systems? I’ll have a look at that. So basically I’ll do the following:

    EFI boot to see what happens on a system if it is the same behavior as the surface

    I’ll check to see if the hand off works but I will need to switch back the kernels to the trunk kernels. || sidenote: when I needed to image a machine for whatever reason, the new kernels{bzImage, bzImage32, init.xz, init_32.xz}, didn’t work. I got some errors imaging with the new kernels on the 1.2.0 fog (it’s that bad karma of mixing kernels) I’m toying with the idea of creating another FOG server for TRUNK version to see what it would do and how I could image from that. However, for now I’ll mess with the UEFI settings and see how far I get.

  • Moderator

    @sarge_212 I hate to keep going back to the well on this one. But do you have a working EFI system that does do the hand off between ipxe and the fog kernel without issue?

    What I’m looking for is if you have one of these systems, does the fog debug flash drive boot without the insmod command? We are trying to see if the insmod video… fixes the grub boot. Where some systems don’t need this command and some do, and the ones that don’t need the insmod command boot correctly via ipxe into the fog kernel. (wow that sounding like a lot of words to explain a simple process). I can tell you for the Dell e6220 I have, it requires the insmod command and does not boot in efi via ipxe.

  • Cool. I’m ready to run some command-fu on this thing and provide output as needed.

  • Moderator

    @sarge_212 So for the fog menu info if you press enter a few times, you should end up at a command prompt.

    This is GREAT! on the positive side the fog kernel does work for the surface pro 4. Now we need to identify why the hand-off from ipxe to the fog kernel is failing, but at least the devs have a direction!!

    Thank you for your help with this.

  • @george1421

    No worries at all on helping out. I’m glad to provide some help in the development of FOG. FOG is a great tool and we love using it in our environment, and it really rocks, as do you gents!

  • So,

    It booted and gave a FOG menu with some items to choose from. This is further than I’ve got in a while. Here is a shot of what it looks like:


  • Moderator

    What we are trying to identify is if this issue with the Surface Pro 4 is with the FOG kernel or the hand off between ipxe and the fog kernel. Right now we are not sure which part is falling down. If we can usb boot the fog kernel and it works in debug mode then we are pretty sure where the problem isn’t.

    Thank you for giving us a hand with this issue, its bigger than just the surface pro. The uefi booting is here to stay, so we have to work it out.

  • Moderator

    @sarge_212 said:

    Okay – here is the output of both the 32-bit and 64-bit debug kernel mode selections:

    error: no suitable video mode found.
    Booting to blind mode

    Is there a way for me to make the debugging go on no video mode? It isn’t accepting keyboard input at this point so I think it stops here.

    This is the same error I saw with my testing so this is good (kind of). Now I want you to edit the grub.cfg file and change the 64 bit section. to add the insmod command to add video support via grub.

    menuentry "FOG 64-bit Debug Kernel" {
     insmod all_video
     linux  /boot/bzImage loglevel=7 init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 pcie_aspm=off consoleblank=0 isdebug=yes
     initrd /boot/init.xz

  • Okay – here is the output of both the 32-bit and 64-bit debug kernel mode selections:

    error: no suitable video mode found.
    Booting to blind mode

    Is there a way for me to make the debugging go on no video mode? It isn’t accepting keyboard input at this point so I think it stops here.

    I can however hit “c” at the boot menu and get to grub command shell. If there is anything there I can run to provide insight, I’d be more than happy to do so.

  • Here is the dmesg output:

    0_1453846418443_dmesg.txt I’m testing the FOG debugging tool now and seeing if it will boot.