Legacy Apple OS
Older operating systems may be more complicated to install, but are sometimes necessary for various reasons. While a compatible board identifier and CPUID are the obvious requirements for proper functioning of an older operating system, there are many other less obvious things to consider. This section covers a common set of issues relevant to installing older macOS operating systems.
While newer operating systems can be downloaded over the internet, older operating systems did not have installation media for every minor release. For compatible distributions of such, download a device-specific image and modify it if necessary. Visit this archived Apple Support article for a list of the bundled device-specific builds for legacy operating systems. However, as this may not always be accurate, the latest versions are listed below.
macOS 10.8 and 10.9
- Disk images on these systems use the Apple Partitioning Scheme and require the
OpenPartitionDxe
driver to run DMG recovery and installation (included in OpenDuet). It is possible to setDmgLoading
toDisabled
to run the recovery without DMG loading avoiding the need forOpenPartitionDxe
. - Cached kernel images often do not contain family drivers for networking (
IONetworkingFamily
) or audio (IOAudioFamily
) requiring the use ofForce
loading in order to inject networking or audio drivers.
macOS 10.7
- All previous issues apply.
SSSE3
support (not to be confused withSSE3
support) is a hard requirement for macOS 10.7 kernel.- Many kexts, including
Lilu
when 32-bit kernel is used and a lot ofLilu
plugins, are unsupported on macOS 10.7 and older as they require newer kernel APIs, which are not part of the macOS 10.7 SDK. - Prior to macOS 10.8 KASLR sliding is not supported, which will result in memory allocation failures on firmware that utilise lower memory for their own purposes. Refer to acidanthera/bugtracker#1125 for tracking.
macOS 10.6
- All previous issues apply.
SSSE3
support is a requirement for macOS 10.6 kernel with 64-bit userspace enabled. This limitation can mostly be lifted by enabling theLegacyCommpage
quirk.- Last released installer images for macOS 10.6 are macOS 10.6.7 builds
10J3250
(forMacBookPro8,x
) and10J4139
(foriMac12,x
), without Xcode). These images are limited to their target model identifiers and have no-no_compat_check
boot argument support. Modified images (withACDT
suffix) without model restrictions can be found here (MEGA Mirror), assuming macOS 10.6 is legally owned. Refer to theDIGEST.txt
file for details. Note that these are the earliest tested versions of macOS 10.6 with OpenCore.
Model checking may also be erased by editing OSInstall.mpkg
with e.g. Flat Package Editor
by making Distribution
script to always return true
in hwbeModelCheck
function. Since updating the only file in the image and not corrupting other files can be difficult and may cause slow booting due to kernel cache date changes, it is recommended to script image rebuilding as shown below:
#!/bin/bash
# Original.dmg is original image, OSInstall.mpkg is patched package
mkdir RO
hdiutil mount Original.dmg -noverify -noautoopen -noautoopenrw -noautofsck -mountpoint RO
cp RO/.DS_Store DS_STORE
hdiutil detach RO -force
rm -rf RO
hdiutil convert Original.dmg -format UDRW -o ReadWrite.dmg
mkdir RW
xattr -c OSInstall.mpkg
hdiutil mount ReadWrite.dmg -noverify -noautoopen -noautoopenrw -noautofsck -mountpoint RW
cp OSInstall.mpkg RW/System/Installation/Packages/OSInstall.mpkg
killall Finder fseventsd
rm -rf RW/.fseventsd
cp DS_STORE RW/.DS_Store
hdiutil detach RW -force
rm -rf DS_STORE RW
hdiutil convert ReadWrite.dmg -format UDZO -o ReadOnly.dmg
macOS 10.5
- All previous issues apply.
- This macOS version does not support
x86_64
kernel and requiresi386
kernel extensions and patches. - This macOS version uses the first (V1) version of
prelinkedkernel
, which has kext symbol tables corrupted by the kext tools. This nuance rendersprelinkedkernel
kext injection impossible in OpenCore. Mkext kext injection will still work without noticeable performance drain and will be chosen automatically when KernelCache is set to Auto. - Last released installer image for macOS 10.5 is macOS 10.5.7 build
9J3050
(forMacBookPro5,3
). Unlike the others, this image is not limited to the target model identifiers and can be used as is. The original9J3050
image can be found here (MEGA Mirror), assuming macOS 10.5 is legally owned. Refer to theDIGEST.txt
file for details. Note that this is the earliest tested version of macOS 10.5 with OpenCore.
macOS 10.4
- All previous issues apply.
- This macOS version has a hard requirement to access all the optional packages on the second DVD disk installation media, requiring either two disks or USB media installation.
- Last released installer images for macOS 10.4 are macOS 10.4.10 builds
8R4061a
(forMacBookPro3,1
) and8R4088
(foriMac7,1
)). These images are limited to their target model identifiers as on newer macOS versions. Modified8R4088
images (withACDT
suffix) without model restrictions can be found here (MEGA Mirror), assuming macOS 10.4 is legally owned. Refer to theDIGEST.txt
file for details. Note that these are the earliest tested versions of macOS 10.4 with OpenCore.