PXE Boot HP X2 210 (Hybrid tablet Windows 10 Pro)
-
@george1421 I am pretty sure the .xz image format does not need to be understood by iPXE. This is handled by the kernel (later on in the process). See my post with the C comment a little further down! As well the message “format not recognized” does not play a roll for us. See the C code here if you like. This might be a minor print out bug in iPXE which does not cause any issue!
@Matthieu-Jacquart Meanwhile I compiled a new iPXE binary with some added custom debug output. Please put this in your /tftpboot and same procedure… hopefully we will see messages after
boot
! -
@Sebastian-Roth ok thaere’s some new info !
Do you want me tot test also with bzImage_epk binary (plus debug earlyprintk=efi) ?
-
@Matthieu-Jacquart Thanks again! Sorry but this will be step by step as we just don’t really know where it starts hanging. Good to see that at least we now have some output after
boot
. No need to try bzImage_epk at the moment. Will probably upload the next ipxe binary in a few minutes… -
Here is a new one! Removed some of the debug statements (just saying so that you don’t wonder) and added some new ones. Please give it a try. Will hang again but we know better where.
-
@Sebastian-Roth ok, 2 pictures, before and after “boot” command
-
@Matthieu-Jacquart As we are waiting for an answer from the iPXE devs Tom had the idea that we could try an older version of iPXE just so see if this issue was introduced at some point. Here is a binary compiled from older source (from 02.02.2015).
I also thought about putting together a PXE-enabled grub or pxelinux EFI binary for you to see if this can netboot into FOG. But I dropped the idea because this would not be of much help for you when it comes to cloning those machines. We use iPXE to kind of remote control the clients when booting up - e.g. let them do some kind of task. And we cannot remote control grub or pxelinux easily.
-
Just got a first answer from one of the devs. He suggested to add DEBUG=efi_wrap and so here is another binary that you can try. It might dump a lot of debug messages but that’s ok. Hopefully we end up with some new information…
Please try this as well as the binary from the old source I posted. Just to make sure!
-
@Matthieu-Jacquart Don’t give up. Guys like you are exactly what FOG needs to move forward. Your work with Sebastian is VERY appreciated by the whole fog community!
-
@Wayne-Workman Thanks that’s nice, I really had impression to waste your time
@Sebastian-Roth ok, so first with old ipxe file
One strange thing is that this ipxe.efi file makes the tablet reboot after few minutes : first time I began to type command and make other thing, when I came back tablet had reboot, and second time while I was taking a picture before typing “boot” command. But once I’ve entered “boot” command, even after 30 minutes tablet always stays on prompt like in picture.
And with last ipxe file, I had debug=efi_wrap I hope it was ok
Before “boot” command
And after “boot” command
Much more text ! I hope it helps
Thanks again to all of you
-
@Matthieu-Jacquart You are doing a great job! I really hope this will be fixed soon! So iPXE from an older source does not seam to be any better - good to know. Not sure what the rebooting is about.
One thing I notice in that output is GraphicsOutput. Maybe it’s just not able to print on the screen but still running. I kind of doubt but it’s possible. Could you configure a monitoring port on your switch to capture a packet dump of the tablet booting up using wireshark? We might see another DHCP request or some other noise from it.
@george1421 and @Wayne-Workman Do you want to give this iPXE binary a try as well? Any known working UEFI machine will do. Just as a reference to see if there is a difference in the output or what should be seen next. I guess you’d have to take a video. AFAIK some newer iPhones can take slow motion video. Would be awesome.
-
@Sebastian-Roth Do you want me to test the ipxe file you sent to Georges and Wayne ?
For capturing packet dump, I don’t really know how to do that, do you have some tips ? I’ve installed wireshark but I don’t know how to specifically capture packet on one switch port… -
@Sebastian-Roth said:
One thing I notice in that output is GraphicsOutput. Maybe it’s just not able to print on the screen but still running. I kind of doubt but it’s possible. Could you configure a monitoring port on your switch to capture a packet dump of the tablet booting up using wireshark? We might see another DHCP request or some other noise from it.
This thought may be in line with what I found with grub booting. I needed to add the function insmod efi_gop or the output was not visible on that e6220. As far as I could tell the FOS client was running just the screen output was not visible.
I will test the ipxe boot when I get in the office in about 2 hours.
-
@Matthieu-Jacquart Forget about the packet dump for now I’d say. Some good hints from iPXE dev Michael Brown pointed me a way to further dig into this. The blue lines in the last picture you posted is not really iPXE anymore. This is the linux kernel already!! I had no clue… Somehow it is possible for iPXE to track the UEFI calls the linux kernel is doing. This is crazy stuff. Never been there before but it is very interesting I find.
So back to the point. All the calls like GraphicsOutput I can see in the kernel source. Graphics/video detection seams to run through without any issue! Therefore I think wireshark won’t give us a clue.
So what’s next? I added an earlyprintk debug output to the linux kernel source. Find a new binary called bzImage_ng here. I am not sure if this will work but it’s worth a try. Use the latest uploaded ipxe.efi binary (DEBUG=efi_wrap) and adddebug earlyprintk=efi
to the parameters when loading bzImage_ng. If we see the output from the kernel than we can go on step by step. From then on we can move back to the original ipxe binary where you don’t have to type all the commands in the shell anymore! -
-
@Matthieu-Jacquart Yeah! Success. Now we have the kernel talking to us. I’ll look through the kernel code a little more to see where to properly add debugging messages and will upload a new binary later on. Might be in the evening as I have some other things to do as well. Will post here again.
-
@Sebastian-Roth ok good news !
No problem for new binairy, I finish job in 2 hours, test will be for tomorrow morning ! -
@Matthieu-Jacquart Meanwhile you can setup things to be prepared. Go back to the original ipxe.efi binary (so you don’t have to do all the typing). Make sure to register the USB NIC MAC address in the web interface by hand and add
debug earlyprintk=efi
to the kernel parameter for this host.
When I have a new kernel ready you can just go in /var/www/fog/service/ipxe, rename original bzImage to bzImage.orig and bzImage_ng to bzImage… Or change the name of the kernel via web interface (FOG configuration -> FOG settings …) and then boot the tablet. -
@Sebastian-Roth said:
Do you want to give this iPXE binary a try as well?
I would but you guys seem to have found success?
-
@Sebastian-Roth I create tablet on fog interface, I have to put “debug earlyprintk=efi” in “Host Kernel Arguments” right ?
-
@Wayne-Workman and @Matthieu-Jacquart Yes!