HP ProBook 445 G2 Not Displaying iPXE Menu Correctly

  • FOG: 1.5.8
    bzImage Version: 4.19.101
    bzImage32 Version: 4.19.101

    When we PXE boot these HP ProBook 445 laptops, we are getting some very interesting artifacting going on. These are the only devices that we are seeing it on. We are able to navigate the menu if we do it by memory and the amount of clicks so that we can get them imaged and registered. Haha. But that is not always great, when you have to do other tasks.

    Any ideas??? It almost seems like maybe a resolution issue… Computer displays everything else fine.


  • Senior Developer

    @quinniedid Ok, looks like this is not due to the picture you used but a general issue with displaying the image on the HP ProBook 445 G2. So far I have not found any hint on other people reporting this issue to iPXE and I would suspect this to be kind of an endeavor to figure out even with the help of iPXE developers. Though you can still report it on github or the forums.

    The easier way is just using the workaround that George came up with. Not fancy but way less effort than figuring this one out I suppose.

  • @sebastian-roth Ok. We were finally able to test this today. I tried both the standard bg and bgdark images and all of them are doing the same thing.

  • @sebastian-roth I just wanted to check-in. Just letting you know I am trying to get this tested but because of the holidays and COVID exposure I am unable to be on-site to test this. It will most likely be in early January as to being able to go back on-site. I will provide an update once we are able to get this tested. We are using a custom background and will try to use a default background of both the white and black.

  • Senior Developer

    @quinniedid said in HP ProBook 445 G2 Not Displaying iPXE Menu Correctly:

    That change worked! The screen doesn’t have our background image and different colored text. What does that mean we need to do to get the regular console back?

    Sounds like you were using a custom background image. I am wondering if it’s that in particular causing the scrembled output? Have you tried using the default picture that comes with the FOG install on the HP ProBook 445 G2 yet (download here if you don’t have it anymore)?

    Great we figured out the background picture is causing this! A first major step. George’s idea is great to just use the alternative console (no picture) for this model. But still I would try to use the default picture first.

  • Moderator

    @quinniedid said in HP ProBook 445 G2 Not Displaying iPXE Menu Correctly:

    System Product: HP ProBook 455 G2
    Motherboard Product Name: 2235

    Warning none of this gibberish will be understandable at the moment but I’m building a path to an answer. This won’t be a quick fix, but a durable one if what I’m thinking works well.

    In ipxe terms the product variable might access one of these values.


    Looking at the ipxe source code the ipxe settting product points to System Product So for this hardware product should equal “HP ProBook 455 G2”

    Offset +1898

    +        if (isset($_REQUEST['alt_console'])) {
    +           $gconsole = "alt_console";
    +        } else {
    +            $gconsole = "get_console";
    +        }
            $Send['head'] = self::fastmerge(
                    'cpuid --ext 29 && set arch x86_64 || set arch i386',
    +                'goto ' . $gconsole,
    -                'goto get_console',
                explode("\n", $mainColors),
                explode("\n", $mainCpairs),

    OMG, if it was easy I guess everyone would be doing this. String functions in iPXE, to put it nicely… stink.


    cpuid --ext 29 && set arch x86_64 || set arch ${buildarch}
    set testalt HP ProBook 455 G2
    param mac0 ${net0/mac}
    param arch ${arch}
    param platform ${platform}
    param product ${product}
    param manufacturer ${product}
    param ipxever ${version}
    param filename ${filename}
    param sysuuid ${uuid}
    iseq ${product} ${testalt} && param alt_console 1 ||
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    chain http://<fog_server_ip_address>/fog/service/ipxe/boot.php##param

    Nothing is tested I can pass a param of alt_console=1 and the right code runs and creates the ipxe menu.

  • @george1421 That is understandable.

    Here is the data you requested:

    System Manufacturer	Hewlett-Packard
    System Product	HP ProBook 455 G2
    System Version	A3009DD10303
    System Serial Number	<omitted>
    System UUID	<omitted>
    System Type	Type: Notebook
    BIOS Vendor	Hewlett-Packard
    BIOS Version	M75 Ver. 01.09
    BIOS Date	12/04/2014
    Motherboard Manufacturer	Hewlett-Packard
    Motherboard Product Name	2235
    Motherboard Version	KBC Version 66.20
    Motherboard Serial Number	<omitted>
    Motherboard Asset Tag	Base Board Asset Tag
    CPU Manufacturer	AMD Corporation
    CPU Version	AMD A8-7100 Radeon R5, 8 Compute Cores 4C+4G
    CPU Normal Speed	Current Speed: 1800 MHz
    CPU Max Speed	Max Speed: 1800 MHz
    Memory	3.30 GiB
    Hard Disk Model	WDC WD2500BEVT-22ZCT0
    Hard Disk Firmware	11.01A11
    Hard Disk Serial Number	WD-WXT0E59HNE56
    Chassis Manufacturer	Hewlett-Packard
    Chassis Version	
    Chassis Serial	<omitted>
    Chassis Asset	Not Specified
  • Moderator

    @quinniedid I have an idea but I need to see the inventory data for this computer. So register it with FOG and do a full inventory of the computer. Then go into the host definition and inventory page. Copy and paste the results as text into this thread. I don’t need to see anything like serial numbers, mac address, or anything that is personally/company identifiable. I do want to see what inventory (smbios) does say so that we can find something unique to identify this specific model of computer.

  • Moderator

    @quinniedid said in HP ProBook 445 G2 Not Displaying iPXE Menu Correctly:

    The screen doesn’t have our background image and different colored text.

    The “alt_console” is a backup console when everything else fails. Normally this console should never be called unless something happens configuring the default console. The alt_console only sets a standard text color and does not load any background images, or sets any fancy colors. It would be difficult for FOG to trap this issue unless it was something that iPXE could detect beforehand.

    Again this points to a flaw in the target computer’s bios and not with fog directly.

  • @sebastian-roth That change worked! The screen doesn’t have our background image and different colored text. What does that mean we need to do to get the regular console back?

  • Senior Developer

    @quinniedid Good, then we might be able to find a quick fix for you. Open the file /var/www/html/fog/lib/fog/bootmenu.class.php and find the text “goto get_console” in line 1901 and change that to “goto alt_console”. Save the file and boot one of your ProBooks that show the issue.

  • @sebastian-roth So far we see all the iPXE messages and everything looks fine until we get to the FOG menu itself. That is when we get scrambled display output.

  • Senior Developer

    @quinniedid Now that I read this again I am wondering at what stage of the boot process this scrambled display output starts? Sorry I didn’t ask earlier but it just came to my mind.

    Do you see the initial iPXE messages like this?
    alt text

    Just ignore the error on screen. I just want to find out up to which point you see things normal on the screen.

  • @sebastian-roth I was finally able to get this done. We are not always in the office due to the current pandemic. After updating the iPXE we are still getting the same behavior.

  • Senior Developer

    @quinniedid Ok, looks like it switches over to “normal” display output as soon as the Linux kernel is started. Those messages no_IRQ ...: no handler for vector are harmless but stem from the kernel.

    Before we reach out to the iPXE developers on this I may ask you to build binaries from the latest source to conform it’s still an issue. Within the FOG archive/code repo you should have a sub directory utils/FOGiPXE. In that you find a script to build the binaries:

    cd fogproject/utils/FOGiPXE
    cd ../../packages/tftp
    ls -al ipxe.efi
    cp ipxe.efi /tftpboot/

    Make sure the second last command (ls ...) shows a recent date of the file so we know the compilation went fine. If not than please post output of the compile output here.

    If it went fine that should give you the very latest version of iPXE. Let’s see if that makes a difference.

  • @Sebastian-Roth I PM’ed you a link to the video. This is showing when we select a task to start from the menu. Right now, we don’t have any of these PC’s registered but we might be able to get that done for testing purposes.

  • Senior Developer

    @quinniedid Could you take a video of a host booting into a task? To be able to further investigate we need to see where exactly it switches from garbled to proper display.

    Make sure you rest the smartphone/camera on a pile of books to get a steady recording. Upload to some file hoster and post a link here.

  • @Sebastian-Roth When scheduling a task to run when the system is booting using iPXE/UEFI, the lines that you have displayed are garbled. But as soon as it loads everything is fine and you can clearly see all the associated text.

  • Senior Developer

    @quinniedid Have had a look at the configs we use to build the iPXE binaries but there is only framebuffer (which we use) but no alternative as far as I see. What happens when you schedule a task for one of those machines. Do you see the lines where it loads kernel and init?

    bzImage... ok
    init.xz... ok

    As well, do you see the Linux kernel messages showing up properly?

  • @george1421 When running it on the BIOS it displays perfectly! So it must be something with iPXE than?