Solved FreeBSD on HP ProDesk G6

I have installed FreeBSD on quite different machines over the years, but this is my first "strictly UEFI only" BIOS one and I can't get the installer image to work. There is no Legacy ot Compatibility mode in this BIOS at all.

So far tried the most recent USB images of 11.4, 12.1, 12.2, 13.0, 14.0.. with the same result:

loader.efi loads fine, I get the boot menu then upon loading the kernel it hangs right after displaying the UEFI framebuffer resolution. Tried various display interfaces (it has DP and HDMI), various monitors (resolutions). Unfortunately, the computer does not have serial interface to try serial console.

Ubuntu installs just fine. The computer came with "FreeDOS", which turns out to be actually Debian with QUEMU running FreeDOS.

I am open to any ideas to boot FreeBSD native on this thing.
 
I had the same issue with a Prodesk g5. The g4 worked, strangely enough. Seems to be that HP does a unique EFI implementation that doesn't play nicely with FreeBSD. A search shows some Asus computers and motherboards do the same thing. Unfortunately I happen to own an Asus system that had the problem. Thankfully my main computer doesn't.
 
Try to load the kms video driver by removing it from the blacklist kernel module (module_blacklist), or change the default resolution via gop.
You can also try hw.vga.textmode=1 vt(4)

If this doesn't help you can try to update your bios if there's a new one.
 
Already tried hw.vga.textmode=1, which probably is a no-op in UEFI anyway. Experimented all possible gop modes. Some posts suggest certain UEFI BIOSes would boot if gop modes are changed back and forth.. not in my case.

It came with BIOS S23 2.4.1 and there was an update to 2.5.1, same result. I experimented with downgrading BIOS all the way to 2.1.x with the same result.

Not sure I tried the kms driver, but it will most likely be loaded later in the kernel startup.. Will try that now.
 
I had the same issue with a Prodesk g5. The g4 worked, strangely enough. Seems to be that HP does a unique EFI implementation that doesn't play nicely with FreeBSD. A search shows some Asus computers and motherboards do the same thing. Unfortunately I happen to own an Asus system that had the problem. Thankfully my main computer doesn't.
I have multiple UEFI-only HP machines which can boot FreeBSD just fine, the HP Spectre x360 13t-aw200 (main personal laptop) and HP Slim Desktop S01-pF1013w (plan to use it for an OPNsense firewall).

It seems consumer HP systems don't have any UEFI issues with FreeBSD (although the Spectre has no drm-kmod for now), which is weird since it was historically the commercial line (Pro/Elite) with the "better" support.

I also heard older HP commercial systems had issues as well (e.g. EliteBook 2570p).

This is progress on a ticket here.
 
Just trying to help, it’s not spam. Deleted to make you happy.

What do you mean not spam. What you had posted there had no relevance to this issue.
Pick any FreeBSD bootable medium, all the recent releases have the correct UEFI bootstrapper. This is a hardware specific issue not a UEFI install/usage issue.
 
I have multiple UEFI-only HP machines which can boot FreeBSD just fine, the HP Spectre x360 13t-aw200 (main personal laptop) and HP Slim Desktop S01-pF1013w (plan to use it for an OPNsense firewall).

It seems consumer HP systems don't have any UEFI issues with FreeBSD (although the Spectre has no drm-kmod for now), which is weird since it was historically the commercial line (Pro/Elite) with the "better" support.

I also heard older HP commercial systems had issues as well (e.g. EliteBook 2570p).

This is progress on a ticket here.
I'd like to try out the patch submitted, but I can't figure out how to apply it. I tried copying the text into a .patch file and running patch, but it just generates errors about not finding a file to patch. I will admit that I am a complete neophyte when it comes to patching source, so if anyone has used that patch, I could use some directions!
 
… hangs right after displaying the UEFI framebuffer resolution. …

Symptoms probably match this, which was linked from 209821 a few weeks ago:


attachment.cgi


… open to any ideas to boot FreeBSD native on this thing. …

You could try legacy, although if (like me) you're unlucky you'll encounter this:


… kms driver, but it will most likely be loaded later …

True.
 
Try to load the kms video driver …

Good thinking, however (as far as I can tell) everything stops long before that stage.

With a boot drive that's illuminated (flashing) when active, there's an observable end to activity – the framebuffer information appears on screen then immediately, if I recall correctly, no illumination:

attachment.cgi


… update your bios …

I'm almost certain that I tried this, when I last had an opportunity with HP ProBook 440 G7. Probably around the time of reporting bug 255073.

… I also heard older HP commercial systems had issues as well (e.g. EliteBook 2570p). …

For what it's worth, no such problem with HP EliteBook 8570p.
 
Can you try replacing the /EFI/BOOT/bootx64.efi file on the EFI partition of your boot flash drive with the bootx64.efi file I am attaching to see if it boots? It has the patch from Bug 209821 applied to it.
 

Attachments

… try replacing the /EFI/BOOT/bootx64.efi file on the EFI partition of your boot flash drive with the bootx64.efi file I am attaching to see if it boots? …

Tested with an HP ProBook 440 G8, 13.0-RELEASE installed to a USB flash drive, there's no progress beyond presentation of EFI framebuffer information (much the same as in the photograph above <https://forums.FreeBSD.org/threads/79252/post-518177> but with the tidier logo).

Should the patched bootx64.efi be additionally copied to somewhere other than the EFI boot partition?

Maybe copied to /boot/ then renamed?
 
I'm getting the same problem with my HP G4 600. It can boot flawlessly on legacy but i need it to be on UEFI as my nvme ssd only supports uefi.
 
Try the latest installer for FreeBSD 14.0-CURRENT – FreeBSD-14.0-CURRENT-amd64-20210812-d20e9e02db3-248636 or later. When starting from the installer:
  1. immediately after the loader menu appears (items numbered 1–7)
  2. escape to the loader prompt
  3. type copy_staging auto
  4. key Return or Enter
  5. type boot
  6. key Return or Enter.
If copy_staging auto does not have the required effect – if there's no progress beyond what's pictured below – then try copy_staging disable

1629413601503.png
 
I can confirm that recent (at least the ones from 2022) FreeBSD-stable boot images boot and install just fine on this hardware.
Good job!
 
… boot and install just fine …

? you can add the Solved prefix – thanks.



Drafted for release notes for 13.1-RELEASE:

UEFI boot is improved for amd64. The loader detects whether the loaded kernel can handle the in-place staging area (non-copying mode). The default is copy_staging auto. Auto-detection can be overridden, for example: with copy_staging enable, the loader will unconditionally copy the staging area to 2M, regardless of kernel capabilities. Also, the code to grow the staging area is more robust; for growth to occur, it's no longer necessary to hand-tune and recompile the loader. (Sponsored by the FreeBSD Foundation)
 
Back
Top