Hp Elitebook x360 G2 Boot Problems
-
@george1421 I installed the latest firmware as of a few weeks ago when we received them. I can check to see if there is a newer one posted to HP’s site. I can also try one of the ones we haven’t un-boxed and updated yet just to see if it makes any difference. I will post in a bit with the results and Bios version numbers.
-
I’ve tried both of the following BIOS versions and have the same error:
P80 Ver. 01.06 (3/29/2017)
P80 Ver 01.08 (6/09/2017)It does boot and function (mostly) as expected in Legacy mode but for obvious reasons that’s not preferable.
Also in case it matters secure boot was off for all tests.
-
-
@crixx Ideally we’d like to get this working with iPXE, with Sebastian’s help we should be able to get things working.
If debugging iPXE fails, we do have a fall back method to boot FOS from a usb drive. There are a few caveats to do it this way, but it is an option. Lets try to discover what hardware the iPXE kernel is having issues with first. -
snp.efi boots and lets us image with EFI. I’ve just successfully deployed an EFI win10 image using snp.efi. Nothing in else in the fog menu works however.
I’ve tried the debug efi binary you provided and this is the result when I attempt to do anything from the fog menu
-
@Crixx Sorry that I didn’t ask earlier but I keep forgetting myself: What kind of USB ethernet adapter do you use with this device(s)? We need to know this as it is part of the equation and plays a major role. Please bootup windows, open the device driver management, right click the USB ethernet adapter and select properties. Go to the details tab and select “Hardware IDs” from the dropdown. Please post the full (top most) hawrdware ID string here in the forums (copy&paste!). See here on where to find the information.
Thanks for testing the debug binary and posting the picture. Please do so for all the issues you run into. More often than not there is an important detail that we would miss. In this case I have a feeling that the iPXE menu is not generating properly and I wouldn’t have thought about this if I wouldn’t have seen the picture myself. Why do I think it’s not generating right? Because I only see
boot.php... ok
andinit.xz... ok
but nobzImage... ok
. It looks as if iPXE is just missing the information on what image/kernel to chainload next and therefore can’t go ahead.Please open the URL http://172.20.0.136/fog/service/ipxe/boot.php?mac=01:02:03:04:05:06 from any client PC which is able to reach the FOG web interface. Instead of
mac=01:02:03:04:05:06
use the MAC address of one particular client that is having an issue. Post the full text output you see here in the forum! Make sure there is no task scheduled before doing this as it sounds like iPXE code generation for tasking is working properly. -
@Sebastian-Roth We are using the USB-C to RJ45 Adapters that came with the devices (HP Model# RTL8153-03). I do have some usb to rj45 adapters from other companies that I could try out as well if it will make any difference although they don’t always play nice with pxe booting.
The hardware ID for the adapter is:
USB\VID_0BDA&PID_8153&REV_3000
The text output from the URL with one of the x360 mac addresses is:
#!ipxe set fog-ip 172.20.0.136 set fog-webroot fog set boot-url http://${fog-ip}/${fog-webroot} cpuid --ext 29 && set arch x86_64 || set arch i386 goto get_console :console_set colour --rgb 0x00567a 1 || colour --rgb 0x00567a 2 || colour --rgb 0x00567a 4 || cpair --foreground 7 --background 2 2 || goto MENU :alt_console cpair --background 0 1 || cpair --background 1 2 || goto MENU :get_console console --picture http://172.20.0.136/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console :MENU menu colour --rgb 0x00567a 0 || cpair --foreground 1 1 || cpair --foreground 0 3 || cpair --foreground 4 4 || item --gap Host is registered as testx360system! item --gap -- ------------------------------------- item fog.local Boot from hard disk item fog.memtest Run Memtest86+ item fog.keyreg Update Product Key item fog.deployimage Deploy Image item fog.multijoin Join Multicast Session item fog.quickdel Quick Host Deletion item fog.sysinfo Client System Information (Compatibility) choose --default fog.local --timeout 3000 target && goto ${target} :fog.local sanboot --no-describe --drive 0x80 || goto MENU :fog.memtest kernel memdisk initrd=memtest.bin iso raw initrd memtest.bin boot || goto MENU :fog.keyreg login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param keyreg 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.deployimage login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param qihost 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.multijoin login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param sessionJoin 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.quickdel login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param delhost 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.sysinfo kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=172.20.0.136/fog/ consoleblank=0 rootfstype=ext4 storage=172.20.0.136:/images/ storageip=172.20.0.136 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU :bootme chain -ar http://172.20.0.136/fog/service/ipxe/boot.php##params || goto MENU autoboot
Thanks for all your help with this!
-
Interesting. That ID translates to a Realtek RTL8153
A quick trip to the realtek store: http://www.realtek.com.tw/DOWNLOADS/downloadsView.aspx?Langid=1&PNid=13&PFid=56&Level=5&Conn=4&DownTypeID=3&GetDown=false shows us this for a driver.
FOS Is currently running 4.11 as its kernel. So (Mr. Kernel Guy, you know who I mean), does this mean that the realtek driver won’t compile under 4.11 or they only tested it up to 4.8? Is that something that can be integrated into the FOS kernel for a small fee?
-
@george1421 The driver is already compiled with this item. That said, ipxe might not have the driver for it. So Kernel is not the problem here, it’s the iPXE Drivers that’s the issue.
-
@tom-elliott OK I stand here a bit red faced. I missed that this was in iPXE still. Too many threads, and not enough extra brain cells to pay attention all the time.
-
@crixx Which FOG menu item did you select that gave you the error we see on the picture? The menu code you posted looks pretty good to me - almost identical to what I get here except the FOG server IP. So my guess about the kernel line missing was wrong.
This is really strange. You say that you are able to image but not use any of the items from the FOG menu?! When you image then the boot.php is just delivering a different iPXE code to the client. This code looks pretty much the same as if you’d select “System Information” from the menu - just calling it with different parameters:
kernel bzImage32 loglevel=4 initrd=init_32.xz ... imgfetch init_32.xz boot
So I can’t really believe it runs into that error when selecting a menu item but things go fine when you schedule a task to image that client. I am not saying it’s impossible but I can’t get my head around it yet.
Driver for the RTL8153/2 USB NICs has been in iPXE for quite some time. Lots of (FOG) people have used it. But hey, not every USB NIC based on this particular chip is the same.
-
@crixx When iPXE throws you back to the shell (as seen in the picture) can you please run the following two commands and post another picture here:
iPXE> ifstat ... iPXE> imgstat ...
-
I was able to boot and image using snp.efi. Using ipxe.efi everything in the menu throws errors, including image deployment.
Here are the pictures of the two commands that you asked me to run
ifstat:
imgstat:
-
@Crixx Ok, thanks for clarifying! If
snp.efi
is working for you, then just use this for those clients. Use DHCP classes if other clients don’t like snp.efi and need ipxe.efi for booting I’d say.
Although it would be interesting to figure out whyipxe.efi
does not like this particular RTL8153 chip. Most probably it’s some kind of issue that arises from a combination of the elitebook UEFI firmware and this particular USB NIC adapter. Sure we could try to make iPXE to work around this but usingsnp.efi
is just as good and does not cost us time. All those different binaries are good to use as long as they work for you. -
@sebastian-roth said in Hp Elitebook x360 G2 Boot Problems:
If snp.efi is working for you, then just use this for those clients.
Since the OP is using dnsmasq we might be able to do this automatically. It does require a little detective work with dnsmasq. I’m hoping the uuid for this class of computers is populated and consistent for this hardware.
@crixx if you can pxe boot one of these HP computers then look in the dnsmasq log for a uuid value. Record that and the pxe boot another one of these computers. Then please post the results here and we can work up a filter for you.
Ref: https://forums.fogproject.org/topic/8726/advanced-dnsmasq-techniques
-
@george1421
Sorry for the delay. Had some other non imaging related things to take care of the past few days.Unfortunately the UUID is completely different for each of the three machines that I tested.
It is alright though as setting everything to boot using snp.efi for now is fine. We are just looking for a solution to image this specific model of machines right now and it is unlikely that we will move all of our machines over to using fog for imaging as it would mean throwing out many hours of work and customization put into our existing system.
In the future hopefully either fog or our existing imaging solution will have better support for these new model HP’s.
-
@crixx said in Hp Elitebook x360 G2 Boot Problems:
In the future hopefully either fog or our existing imaging solution will have better support for these new model HP’s.
Better?!? What better can it get than FOG PXE booting and imaging the machines? All the different iPXE binaries are good. There is none better than the other. What works for a particular machine is just good.
-
@Sebastian-Roth
While snp.efi does let us boot and image the machine, it is far from perfect. As I stated below, none of the other utilities in the boot menu work. While the ability to register the host, run memtest, ect aren’t critical, it’s not what I would say ‘Ideal’ functionality is.Also please don’t take that as a Dig at FOG, you, or the support that you’ve provided me, which I very much appreciate. The fact that I can image these at all is going to be a huge time saver.
-
@crixx The x360 was released in early Apr 2017.
FOG does rely on other FOSS projects that make FOG possible. One important one is iPXE. Those guys in the iPXE project are really good and are constantly changing / upgrading the iPXE kernel as new hardware is released.
I would expect one or both things to happen here.
- HP will release a firmware fix that will enable ipxe.efi to boot correctly.
- The iPXE devs will get their hands on one of these x360s and figure out what’s wrong with their kernel.
So I see this (snp.efi) as a stop gap measure until one of the two are updated.
-
@crixx said in Hp Elitebook x360 G2 Boot Problems:
While snp.efi does let us boot and image the machine, it is far from perfect. As I stated below, none of the other utilities in the boot menu work. While the ability to register the host, run memtest, ect aren’t critical, it’s not what I would say ‘Ideal’ functionality is.
From your other messages to me it sounded like all was working with
snp.efi
. Sorry for that. It’s very weird that imaging would work but register would not. Both are booting the exact same kernel just handing over different kernel command line options. Could you please take a new picture of the error you see usingsnp.efi
?