Skip to content

Commit

Permalink
Docs: Improve legacy os info
Browse files Browse the repository at this point in the history
  • Loading branch information
vit9696 committed Oct 4, 2020
1 parent 61cc6f6 commit 75861b3
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 11 deletions.
Binary file modified Docs/Configuration.pdf
Binary file not shown.
59 changes: 56 additions & 3 deletions Docs/Configuration.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6203,6 +6203,15 @@ \subsection{Legacy Apple OS}\label{legacyapple}
This section tries to cover 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, so to get a compatible distribution one may have to download
a device-specific image and mod it if necessary. To get the list of
the bundled device-specific builds for legacy operating systems
one can visit this archived Apple Support
\href{https://web.archive.org/web/20170705003629/https://support.apple.com/en-us/HT204319}{article}.
Since it is not always accurate, the latest versions are listed below.

\subsubsection{macOS 10.8 and 10.9}\label{legacy108}

\begin{itemize}
Expand All @@ -6221,22 +6230,26 @@ \subsubsection{macOS 10.7}\label{legacy107}

\begin{itemize}
\item All previous issues apply.
\item Many kexts, including \texttt{Lilu} and its plugins, are
\item \texttt{SSSE3} support (not to be confused with \texttt{SSE3} support)
is a hard requirement for macOS 10.7 kernel.
\item Many kexts, including \texttt{Lilu} when 32-bit kernel
is used and a lot of \texttt{Lilu} 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.
\item Prior to macOS~10.8 KASLR sliding is not supported, which
will result in memory allocation failures on firmwares
that utilise lower memory for their own purposes. Refer to
\href{https://github.com/acidanthera/bugtracker/issues/1125}{acidanthera/bugtracker\#1125}
for tracking.
\item 32-bit kernel interaction is unsupported and will lead to
issues like kernel patching or injection failure.
\end{itemize}

\subsubsection{macOS 10.6}\label{legacy106}

\begin{itemize}
\item All previous issues apply.
\item \texttt{SSSE3} support is a requirement for macOS 10.6 kernel
with 64-bit userspace enabled. This limitation can mostly be lifted
by enabling the \texttt{LegacyCommpage} quirk.
\item Last released installer images for macOS~10.6 are macOS~10.6.7
builds \texttt{10J3250} (for \texttt{MacBookPro8,x}) and
\texttt{10J4139} (for \texttt{iMac12,x}), without Xcode). These
Expand Down Expand Up @@ -6277,6 +6290,46 @@ \subsubsection{macOS 10.6}\label{legacy106}
hdiutil convert ReadWrite.dmg -format UDZO -o ReadOnly.dmg
\end{lstlisting}

\subsubsection{macOS 10.5}\label{legacy105}

\begin{itemize}
\item All previous issues apply.
\item This macOS version does not support \texttt{x86\_64} kernel
and requires \texttt{i386} kernel extensions and patches.
\item This macOS version uses the first (V1) version of \texttt{prelinkedkernel},
which has kext symbol tables corrupted by the kext tools. This nuance
renders \texttt{prelinkedkernel} kext injection impossible in OpenCore.
\texttt{Mkext} kext injection will still work without noticeable
performance drain and will be chosen automatically when
\texttt{KernelCache} is set to \texttt{Auto}.
\item Last released installer image for macOS~10.5 is macOS~10.5.7
build \texttt{9J3050} (for \texttt{MacBookPro5,3}). Unlike the others,
this image is not limited to the target model identifiers and can be used
as is. The original \texttt{9J3050} image can be found
\href{https://mega.nz/FIXME}{here},
assuming macOS~10.5 is legally owned. Read \texttt{DIGEST.txt}
for more details. Note that this is the earliest tested
version of macOS~10.5 with OpenCore.
\end{itemize}

\subsubsection{macOS 10.4}\label{legacy104}

\begin{itemize}
\item All previous issues apply.
\item 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.
\item Last released installer images for macOS~10.4 are macOS~10.4.10
builds \texttt{8R4061a} (for \texttt{MacBookPro3,1}) and
\texttt{8R4088} (for \texttt{iMac7,1})). These images are limited
to their target model identifiers just like the newer macOS versions.
Modified \texttt{8R4088} images (with \texttt{ACDT} suffix) without
model restrictions can be found
\href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{here},
assuming macOS~10.4 is legally owned. Read \texttt{DIGEST.txt}
for more details. Note that these are the earliest tested
versions of macOS~10.4 with OpenCore.
\end{itemize}

\subsection{UEFI Secure Boot}\label{uefisecureboot}

Expand Down
Binary file modified Docs/Differences/Differences.pdf
Binary file not shown.
74 changes: 66 additions & 8 deletions Docs/Differences/Differences.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Sun Oct 4 16:14:00 2020
%DIF ADD ../Configuration.tex Sun Oct 4 16:15:12 2020
%DIF DEL PreviousConfiguration.tex Tue Sep 8 21:12:21 2020
%DIF ADD ../Configuration.tex Sun Oct 4 22:53:38 2020

\usepackage{lmodern}
\usepackage{amssymb,amsmath}
Expand Down Expand Up @@ -6316,7 +6316,17 @@ \subsection{Legacy Apple OS}\label{legacyapple}
This section tries to cover a common set of issues relevant to installing
older macOS operating systems.

\subsubsection{macOS 10.8 and 10.9}\label{legacy108}
\DIFaddbegin \DIFadd{While newer operating systems can be downloaded over the internet,
older operating systems did not have installation media for every minor
release, so to get a compatible distribution one may have to download
a device-specific image and mod it if necessary. To get the list of
the bundled device-specific builds for legacy operating systems
one can visit this archived Apple Support
}\href{https://web.archive.org/web/20170705003629/https://support.apple.com/en-us/HT204319}{article}\DIFadd{.
Since it is not always accurate, the latest versions are listed below.
}

\DIFaddend \subsubsection{macOS 10.8 and 10.9}\label{legacy108}

\begin{itemize}
\item Disk images on these systems use Apple Partitioning Scheme
Expand All @@ -6334,23 +6344,31 @@ \subsubsection{macOS 10.7}\label{legacy107}

\begin{itemize}
\item All previous issues apply.
\item Many kexts, including \texttt{Lilu} and its plugins, are
\item \DIFaddbegin \texttt{\DIFadd{SSSE3}} \DIFadd{support (not to be confused with }\texttt{\DIFadd{SSE3}} \DIFadd{support)
is a hard requirement for macOS 10.7 kernel.
}\item \DIFaddend Many kexts, including \texttt{Lilu} \DIFdelbegin \DIFdel{and its }\DIFdelend \DIFaddbegin \DIFadd{when 32-bit kernel
is used and a lot of }\texttt{\DIFadd{Lilu}} \DIFaddend 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.
\item Prior to macOS~10.8 KASLR sliding is not supported, which
will result in memory allocation failures on firmwares
that utilise lower memory for their own purposes. Refer to
\href{https://github.com/acidanthera/bugtracker/issues/1125}{acidanthera/bugtracker\#1125}
for tracking.
\item 32-bit kernel interaction is unsupported and will lead to
\DIFdelbegin %DIFDELCMD < \item %%%
\item%DIFAUXCMD
\DIFdel{32-bit kernel interaction is unsupported and will lead to
issues like kernel patching or injection failure.
\end{itemize}
}\DIFdelend \end{itemize}

\subsubsection{macOS 10.6}\label{legacy106}

\begin{itemize}
\item All previous issues apply.
\item Last released installer images for macOS~10.6 are macOS~10.6.7
\item \DIFaddbegin \texttt{\DIFadd{SSSE3}} \DIFadd{support is a requirement for macOS 10.6 kernel
with 64-bit userspace enabled. This limitation can mostly be lifted
by enabling the }\texttt{\DIFadd{LegacyCommpage}} \DIFadd{quirk.
}\item \DIFaddend Last released installer images for macOS~10.6 are macOS~10.6.7
builds \texttt{10J3250} (for \texttt{MacBookPro8,x}) and
\texttt{10J4139} (for \texttt{iMac12,x}), without Xcode). These
images are limited to their target model identifiers and have no
Expand Down Expand Up @@ -6390,8 +6408,48 @@ \subsubsection{macOS 10.6}\label{legacy106}
hdiutil convert ReadWrite.dmg -format UDZO -o ReadOnly.dmg
\end{lstlisting}

\DIFaddbegin \subsubsection{\DIFadd{macOS 10.5}}\label{legacy105}

\subsection{UEFI Secure Boot}\label{uefisecureboot}
\begin{itemize}
\item \DIFadd{All previous issues apply.
}\item \DIFadd{This macOS version does not support }\texttt{\DIFadd{x86\_64}} \DIFadd{kernel
and requires }\texttt{\DIFadd{i386}} \DIFadd{kernel extensions and patches.
}\item \DIFadd{This macOS version uses the first (V1) version of }\texttt{\DIFadd{prelinkedkernel}}\DIFadd{,
which has kext symbol tables corrupted by the kext tools. This nuance
renders }\texttt{\DIFadd{prelinkedkernel}} \DIFadd{kext injection impossible in OpenCore.
}\texttt{\DIFadd{Mkext}} \DIFadd{kext injection will still work without noticeable
performance drain and will be chosen automatically when
}\texttt{\DIFadd{KernelCache}} \DIFadd{is set to }\texttt{\DIFadd{Auto}}\DIFadd{.
}\item \DIFadd{Last released installer image for macOS~10.5 is macOS~10.5.7
build }\texttt{\DIFadd{9J3050}} \DIFadd{(for }\texttt{\DIFadd{MacBookPro5,3}}\DIFadd{). Unlike the others,
this image is not limited to the target model identifiers and can be used
as is. The original }\texttt{\DIFadd{9J3050}} \DIFadd{image can be found
}\href{https://mega.nz/FIXME}{here}\DIFadd{,
assuming macOS~10.5 is legally owned. Read }\texttt{\DIFadd{DIGEST.txt}}
\DIFadd{for more details. Note that this is the earliest tested
version of macOS~10.5 with OpenCore.
}\end{itemize}

\subsubsection{\DIFadd{macOS 10.4}}\label{legacy104}

\begin{itemize}
\item \DIFadd{All previous issues apply.
}\item \DIFadd{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.
}\item \DIFadd{Last released installer images for macOS~10.4 are macOS~10.4.10
builds }\texttt{\DIFadd{8R4061a}} \DIFadd{(for }\texttt{\DIFadd{MacBookPro3,1}}\DIFadd{) and
}\texttt{\DIFadd{8R4088}} \DIFadd{(for }\texttt{\DIFadd{iMac7,1}}\DIFadd{)). These images are limited
to their target model identifiers just like the newer macOS versions.
Modified }\texttt{\DIFadd{8R4088}} \DIFadd{images (with }\texttt{\DIFadd{ACDT}} \DIFadd{suffix) without
model restrictions can be found
}\href{https://mega.nz/folder/D3ASzLzA\#7sjYXE2X09f6aGjol\_C7dg}{here}\DIFadd{,
assuming macOS~10.4 is legally owned. Read }\texttt{\DIFadd{DIGEST.txt}}
\DIFadd{for more details. Note that these are the earliest tested
versions of macOS~10.4 with OpenCore.
}\end{itemize}

\DIFaddend \subsection{UEFI Secure Boot}\label{uefisecureboot}

OpenCore is designed to provide a secure boot chain between \DIFdelbegin \DIFdel{your firmware
and your }\DIFdelend \DIFaddbegin \DIFadd{firmware
Expand Down
Binary file modified Docs/Errata/Errata.pdf
Binary file not shown.

0 comments on commit 75861b3

Please sign in to comment.