HP-Prodesk-600-G1-SFF-macOS
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)
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 withiMac16,1
you can boot macOS 12 Monterey. - With
IntelSnowMausi.kext
now present in the Kext folder with the correctMinKernel/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 withiMac15,1
but you'll need to add-no_compat_check
since it is now unsupported on macOS 12. However, if you created the USB withcreateinstallmedia
you are able to install macOS 12 with just the boot-argument mentioned before. If you want to skip that and install thoughmacOS recovery
with the foldercom.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
, sectionPlatformInfo > 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 underEFI/OC/
path of this repository, and don't forget to addNvmeExpressDxe.efi
that to theConnectDrivers
section in OpenCore'sconfig.plist
. If you don't plan to use an NVMe, you can skip this and remove NvmeExpressDxe from theDrivers/
folder and from theconfig.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:
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
- (Serial Port A)
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:
- HfsPlus.efi (if you created the USB with this method or with
createinstallmedia
) and can be found either in the OC/Drivers folder of this repository or in acidanthera/OcBinaryData - OpenRuntime.efi (bundled in OpenCore package)
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
- AppleALC
- CPUFriend
- Lilu
- NVMeFix
- IntelMausi
- SMCProcessor - shipped inside VirtualSMC
- VirtualSMC
- WhateverGreen
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