HP-Prodesk-600-G1-SFF-macOS icon indicating copy to clipboard operation
HP-Prodesk-600-G1-SFF-macOS copied to clipboard

This repository contains the necessary files and information to successfully boot macOS on this prebuilt PC.

HP Prodesk 600 G1 SFF - iMac14,4 (for 10.9) / iMac15,1 / iMac16,1 (for Monterey)

Screenshot 2022-07-19 at 18 03 25

This repository contains the necessary files and information to successfully boot macOS on this prebuilt PC.

  • Bootloader version: OpenCore 0.8.2
  • Kexts version: everything up-to-date with the latest version (check the links below)
  • Current macOS version: Monterey 12.4 - Release channel
  • I chose iMac15,1 since provides support for Big Sur and is the closest to the CPU model (i5 4590 is installed on an official Mac)
  • With a different SMBIOS, e.g. iMac14,4, which supports even lower versions of macOS, you can install up to OS X Mavericks (10.9) and with iMac16,1 you can boot macOS 12 Monterey.
  • With IntelSnowMausi.kext now present in the Kext folder with the correct MinKernel/MaxKernel values you can even try macOS 10.8 which is the lowest supported by most kexts (Darwin 12.0.0)

Specs

Component Brand
CPU Intel Core i5-4590 @ 3.3 GHz
Chipset Intel Q85
iGPU Intel HD Graphics 4600 - Haswell
Storage WD SN750 NVMe 512GB
Audio Realtek ALC221 - layout 11
Ethernet Intel I217LM Gigabit Ethernet
OS macOS Monterey 12.2 (21D5025f)
BIOS 2.78 - 29 April 2020

Important notes

macOS Monterey support

  • macOS Monterey support is present (you should update every kext to the master version, check this out on how to do that) and for the SMBIOS you can choose to boot with iMac15,1 but you'll need to add -no_compat_check since it is now unsupported on macOS 12. However, if you created the USB with createinstallmedia you are able to install macOS 12 with just the boot-argument mentioned before. If you want to skip that and install though macOS recovery with the folder com.apple.recovery.boot then you should use a different SMBIOS, iMac16,1. Performance is the same, tested with Geekbench and others.

Serial numbers info

  • In the config.plist, section PlatformInfo > Generic, the following fields are currently edited with "CHANGEME" in order to force the user to generate his own serials. Refer to this guide to know how.

    • MLB
    • ROM
    • SystemSerialNumber
    • SystemUUID
  • If you are planning an NVMe device on the PCI-E x16 or x1 slots, note that on Aptio IV firmware, NvmeExpressDxe is not present, check the Drivers/ folder under EFI/OC/ path of this repository, and don't forget to add NvmeExpressDxe.efi that to the ConnectDrivers section in OpenCore's config.plist. If you don't plan to use an NVMe, you can skip this and remove NvmeExpressDxe from the Drivers/ folder and from the config.plist

BIOS Settings

Update 01/01/2022:

Since HP has removed the option to download the latest BIOS from their website, and they only allow to update to 2.71:

missing-latest-bios

in order to update to 2.78 which is the supported version used in this repository, I've scraped their website to find the file I've downloaded on April 2021. In this file you can see the HTTPS and FTP link to the .exe which has the ROM images to update.

For additional security, here's the SHA-256 checksum of the file:

bb6b711aa093f3c97525bedeb64df81ecc558b3a07cb946db9febf2eb8875619  BIOS-2.78-sp103785.exe (present in this repo)
bb6b711aa093f3c97525bedeb64df81ecc558b3a07cb946db9febf2eb8875619  sp103785.exe (downloaded from HP on 01/01/2022

There are screenshots to document what are the necessary BIOS settings for this PC, check them here or by cloning the repository

Additional hidden BIOS settings

The tool setup_var from datasone can help you to setup this additional parameters to successfully boot macOS:

Instructions: copy modGRUBShell.efi to a FAT32 partition and save it under the directory ESP/EFI/BOOT/ as BOOTx64.efi, your firmware will target that .efi driver to boot, and once you reached the GRUB command line, type the following (these offsets apply to this firmware in particular with this BIOS version, 2.78)

  • CFG Lock: setup_var 0x4A3 0x00 [Disabled]
  • DVMT GFX total mem: setup_var 0x234 0x3 [MAX]
  • VT-d Support: setup_var 0x238 0x00 [Disabled]
  • EHCI Hand-off: setup_var 0x2 0x1 [Enabled]
  • Wake on LAN: setup_var 0x85 0x0 [Disabled]
  • Serial ports: [Disable All]
    • (Serial Port A) setup_var 0x13 0x00
    • (Serial Port B) setup_var 0x15 0x00
    • (Serial Port C) setup_var 0x17 0x00
    • (Serial Port D) setup_var 0x19 0x00

Unfortunately I was not able to unlock the DVMT Pre-Allocated (offset 0x233) in order to increse it from 32MB to someting higher like 64MB or 128MB as discussed here so the max achievable resolution is QHD, 2560x1440 with the iGPU under macOS, but in Linux/Windows everythig is correct even at 3840x2160

Note: if you don't apply the correct BIOS settings, you won't be able to boot.

Drivers

Must have to boot:

Optional Drivers:

  • NvmExpressDxe.efi (bundled in OpenCore package) for those of you who opt to install an NVMe inside a PCIE to M.2 converter, Intel 7/8 Series chipsets do not have this in their firmware
  • AudioDxe.efi if you want BootChime support (added in the latest release)

Kexts

Credits:

  • Apple for macOS
  • Mieze for IntelMausi LAN driver
  • dreamwhite for helping me with SSDT-USB.aml which does not require DSDT patching
  • Gengik84 for the GENG method and for the original custom DSDT
  • dortania team for its detailed guides
  • Corpnewt for SSDTTime and fewtarius for CPUFriend fork
  • Acidanthera for OpenCore and Lilu-based kexts