SOLVED PXE Boot HP X2 210 (Hybrid tablet Windows 10 Pro)

  • @Sebastian-Roth I repeat ipxe shell command without error (I hope so…)

    And for fog server command :

    root@FOG:/opt/svn/trunk$ ls -al /var/www/fog/service/ipxe/bzImage
    -rw-r--r-- 1 fog www-data 6883968 f▒vr.  1 08:06 /var/www/fog/service/ipxe/bzImage
    root@FOG:/opt/svn/trunk$ ls -al /var/www/fog/service/ipxe/init.xz
    -rw-r--r-- 1 fog www-data 18747540 f▒vr.  1 08:05 /var/www/fog/service/ipxe/init.xz
    root@FOG:/opt/svn/trunk$ file /var/www/fog/service/ipxe/bzImage
    /var/www/fog/service/ipxe/bzImage: Linux kernel x86 boot executable bzImage, version 4.4.0 (root@debian64) #2 SMP Mon Jan 25 12:44:48 EST 2016, RO-rootFS, swap_dev 0x6, Normal VGA
  • Moderator

    @Matthieu-Jacquart Hmmm, looks interesting. But as George already said this seams to throw up even more questions. Please take a look at the apache error and access logs to see what happened at that point.

    And there are more typos which probably don’t cause an issue at this stage yet but might later on: “rw” instead of “rz”, missing ‘/’ in “init=/sbin/init” and “root=/dev/ram0”.

    Can you please post the ouput of the following commands on your FOG server:

    ls -al /var/www/fog/service/ipxe/bzImage
    ls -al /var/www/fog/service/ipxe/init.xz
    file /var/www/fog/service/ipxe/bzImage

    Just want to see if the filesizes match and what version that kernel is.

  • @george1421 All error are my mistakes :

    • I forgot blanck between “consoleblank=0 isdebug=yes”
    • for replies “file not found”, I’ve just make error when I wrote the command. When it was weel written, it works immediately

    I’m going to reproduce command without making mistakes 😉

  • Moderator

    @Matthieu-Jacquart While I don’t have an answer for you, this picture is interesting. The client requests the bzImage file and replies with file not found, but then a bit latter it does find the file. It does the same thing with the init. Eventually it does get down to boot and then stops.

    It would be interesting to know what the apache logs look like at the same moments you get the above messages. I would inspect the apache error and access log. From the web server side does everything look normal where there is just three access requests for bzImage and then a few for the init? Or are there error messages logged in the apache error log?

    This picture makes me ask more questions than it provides an aswer:
    The question I have is the tablet not waiting long enough for the web server to respond with the file? Is there an error on the first few attempts and then it works? Is the web server slow to respond? Is your network connection faulty between the tablet and the web server?

    I also noted a bug in the image request (not related to your issue). The last 2 parameters are missing a space between “consoleblank=0isdebug=yes” should be “consoleblank=0 isdebug=yes”

  • @Sebastian-Roth Ok, here it is :


    When I launch boot command, nothing happens, it stays on this screen

  • @Sebastian-Roth ok, I’m at home now, I’ll test this on monday 😉

  • Moderator

    @Matthieu-Jacquart Sorry, forgot to upload it! My fault. Here it is.

  • @Sebastian-Roth ok ok, let’s go… but which ipxe.efi file I have to use ?

  • Moderator

    @Matthieu-Jacquart Sorry, didn’t see you posted a picture already. So forget what I said about George’s suggestion. Network looks good! 🙂
    Too bad that we don’t see anything even with his debug enabled ipxe.efi binary. Well then lets try another way. Here is a different ipxe.efi file which brings you to the iPXE shell. Then try the following commands. Hope I got this all right. Sorry for all the typing involved but hopefully we might see some kind hint where things go wrong.

    iPXE shell> dhcp
    iPXE shell> kernel http://${next-server}/fog/service/ipxe/bzImage loglevel=7 initrd=init.xz init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 pcie_aspm=off consoleblank=0 isdebug=yes
    iPXE shell> imgfetch http://${next-server}/fog/service/ipxe/init.xz
    iPXE shell> imgstat

    Question is, what do you see after imgstat? Please take a picture. Then you can try booting it using the command boot.

  • @Sebastian-Roth
    What do you mean with “Please try as George suggested to see if our client kernel is able to see and use your USB NIC” ?

    I’ve just renamed 1454065283074-ipxe.efi as ipxe.efi and put it in tftpboot, check “FOG_KERNEL_DEBUG” in fog settings, but no difference, always blank screen after loding and init.xz…

  • Moderator

    Great stuff. So we know the kernel is fine. Funny that this is true for most of those new devices but we are still not sure why hand off from iPXE to the kernel does not work nicely.

    Please try as George suggested to see if our client kernel is able to see and use your USB NIC. But if it does not, then this is a different issue as the initial black screen after the FOG menu. Not sure which one we should address first. Well let’s see. Hopefully you see if getting an IP.

    So if you get some time you might want to test this ipxe.efi file with debugging for kernel image loading enabled (DEBUG=image_cmd). There might be lots of messages (in colors) scrolling past. Or maybe nothing. We will see how this behaves on your device. Please take a picture or video if you can (readable test is important!).

  • Moderator

    @Matthieu-Jacquart OK the fog kernel has passed with success. Now we need to identify why the ipxe handoff to the fog kernel is giving us a black screen. At this point I don’t have an answer. When I get to the office, I will try to see if I can find a system that does this.

    @Sebastian-Roth Do you know the git version of ipxe that is currently deployed with the FOG trunk? I just checked the rom-o-matic and it has version d0bfd (which is different than yesterday morning)

  • @george1421 ok, command “ip addr show” gives me result for usb ethernet adapter :


    I updated my fog server each day, including this morning, but no change for blank screen…

  • Moderator

    @Matthieu-Jacquart Success!! this is good news at least the FOG debug OS will run on this tablet.

    Please boot this tablet again using this flash drive. Make sure the usb etherent adapter is plugged in and connected to your network. When you get this screen in your picture, press enter a few time. This should give you a command prompt. Then key in ip addr show Hopefully it should show you a correct IP address for the usb ethernet adapter. If it does then the FOG debug OS sees that ethernet adapter and it can communicate with the network. If you can get to this point where the fog kernel is running and can talk on the network you have passed part two requirement. Since you are getting the fog menu you have already passed part one of the requirement to pxe boot.

    If this is successful we need to identify why the hand off between ipxe (not created by the fog project) and the fog kernel is giving you a blank screen. You might want to do a refresh (update) of the fog environment since this post is a few days old. There has been many updates to fog and I believe the fog kernel too. It may now work with the updates.

  • @Sebastian-Roth
    Ok thanks, that’s good.
    Here it is :

  • Moderator

    I think George meant you better create grub.cfg config yourself and put it in /boot/grub/grub.cfg
    Here is his example config:

    set timeout=10
    set default=0
    insmod all_video
    menuentry "FOG 32-bit Debug Kernel" {
     linux  /boot/bzImage32 loglevel=7 init=/sbin/init root=/dev/ram0 rw ramdisk_size=127000 pcie_aspm=off consoleblank=0 isdebug=yes
     initrd /boot/init_32.xz
    menuentry "FOG 64-bit Debug Kernel" {
     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

  • @george1421 Hi George
    Not sure to understand, you will sent me the grub.cfg file, or you want me to test your new script ?

  • Moderator

    @sarge_212 said:

    Just FYI, I had to manually make the grub.cfg file. Running grub-install on an ubuntu box didn’t make the grub.cfg file as expected.

    Yes this is expected. The bash script posted here will create the complete image file without having to mess around with running this and editing that.
    But it does require having all of the grub2 files downloaded either through yum or apt-get as you would need if you manually executed the files. Understand this process is still under development but it works for me, as they say.

  • Just FYI, I had to manually make the grub.cfg file. Running grub-install on an ubuntu box didn’t make the grub.cfg file as expected.

  • Moderator

    @Matthieu-Jacquart OK, I will have something for you in the morning, cheers.