Merge branch 'main' into sequoia-development

This commit is contained in:
Mykola Grymalyuk
2024-07-25 10:12:09 -06:00
committed by GitHub
13 changed files with 28 additions and 28 deletions
+1
View File
@@ -8,6 +8,7 @@
- Removes Gatekeeper "verifying" prompt on first launch after PKG installation - Removes Gatekeeper "verifying" prompt on first launch after PKG installation
- Note `gktool` is only available on macOS Sonoma and newer - Note `gktool` is only available on macOS Sonoma and newer
- Resolve unpatching crash edge case when host doesn't require patches. - Resolve unpatching crash edge case when host doesn't require patches.
- Implement new Software Update Catalog Parser for macOS Installers
## 1.5.0 ## 1.5.0
- Restructure project directories - Restructure project directories
-1
View File
@@ -5,7 +5,6 @@ import subprocess
from pathlib import Path from pathlib import Path
from opencore_legacy_patcher import constants
from opencore_legacy_patcher.support import subprocess_wrapper from opencore_legacy_patcher.support import subprocess_wrapper
+25 -7
View File
@@ -2,6 +2,7 @@
* [Booting without USB drive](#booting-without-usb-drive) * [Booting without USB drive](#booting-without-usb-drive)
* [Booting seamlessly without Boot Picker](#booting-seamlessly-without-boot-picker) * [Booting seamlessly without Boot Picker](#booting-seamlessly-without-boot-picker)
* [SIP settings](#sip-settings)
* [Applying Post Install Volume Patches](#applying-post-install-volume-patches) * [Applying Post Install Volume Patches](#applying-post-install-volume-patches)
## Booting without USB drive ## Booting without USB drive
@@ -24,23 +25,40 @@ To do this, run the OpenCore Patcher and head to Patcher Settings, then uncheck
Once you've toggled it off, build your OpenCore EFI once again and install to your desired drive. Now to show the OpenCore selector, you can simply hold down the "ESC" key while clicking on EFI boot, and then you can release the "ESC" key when you see the cursor arrow at the top left. Once you've toggled it off, build your OpenCore EFI once again and install to your desired drive. Now to show the OpenCore selector, you can simply hold down the "ESC" key while clicking on EFI boot, and then you can release the "ESC" key when you see the cursor arrow at the top left.
## Enabling SIP ## SIP settings
For many users, SIP will be lowered by default on build. For Intel HD 4000 users, you may have noticed that SIP is partially disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings. SIP, or System Integrity Protection, needs to be lowered on systems where root patching is required to patch data on disk. This will vary between OS versions and the model in question. OCLP by default will determine the proper SIP options for the OS version and Mac model, in most cases the user has no need to touch these settings. However, this part explains how the SIP settings work in OCLP, where lowered SIP is needed and where full SIP could be enabled.
Note: Machines running macOS Ventura or systems with non-Metal GPUs cannot enable SIP outright, due to having a patched root volume. Enabling it will brick the installation. :::warning
Going forward with 0.6.6, SIP settings can be accessed from the Security tab shown in the images. If you're unsure whether you should change the SIP settings, leave them as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install.
:::
SIP settings can be accessed from the Security tab shown in the images. To change SIP settings, make the changes here, return in main menu and rebuild OpenCore using the first option.
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled | | SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
| :--- | :--- | :--- | | :--- | :--- | :--- |
| ![](./images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](./images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](./images/OCLP-GUI-Settings-SIP-Disabled.png) | | ![](./images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](./images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](./images/OCLP-GUI-Settings-SIP-Disabled.png) |
:::warning
If you're unsure whether you should enable SIP, leave it as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install. In the cases where SIP can be enabled, manually enabling it is needed. Easiest way to check whether you can fully enable SIP is the "Post Install Root Patch" section, if that section tells your system doesn't need patches (or you don't install the patches e.g. in case you don't need WiFi on a Mac Pro with upgraded GPU running Monterey) then it is safe to assume full SIP can be enabled.
::: **Ventura and newer**
All unsupported systems require lowered SIP.
**Monterey**
Majority of unsupported systems from 2013 onward can enable full SIP.
Pre-2012 systems, also known as "non-Metal" (includes Mac Pros without upgraded GPU), as well as NVIDIA Kepler and Intel HD 4000 GPUs require lowered SIP.
Some systems such as Mac Pros also require root patching for stock WiFi cards but if you do not need WiFi or you plan to upgrade the card, there is no need for root patching and as such SIP can be fully enabled.
**Big Sur**
All Metal capable systems from 2012 onward (incl. NVIDIA Kepler and Intel HD 4000) as well as Mac Pros with upgraded GPU can run with full SIP enabled.
Non-Metal systems still require lowered SIP.
## Applying Post Install Volume Patches ## Applying Post Install Volume Patches
@@ -7,12 +7,9 @@ This is to ensure compatibility when running without a user
ie. during automated patching ie. during automated patching
""" """
import os
import logging import logging
import plistlib import plistlib
from . import subprocess_wrapper
from pathlib import Path from pathlib import Path
@@ -5,7 +5,6 @@ install.py: Installation of OpenCore files to ESP
import logging import logging
import plistlib import plistlib
import subprocess import subprocess
import applescript
from pathlib import Path from pathlib import Path
@@ -13,8 +12,6 @@ from . import utilities, subprocess_wrapper
from .. import constants from .. import constants
from ..datasets import os_data
class tui_disk_installation: class tui_disk_installation:
def __init__(self, versions): def __init__(self, versions):
@@ -2,7 +2,6 @@
kdk_handler.py: Module for parsing and determining best Kernel Debug Kit for host OS kdk_handler.py: Module for parsing and determining best Kernel Debug Kit for host OS
""" """
import os
import logging import logging
import plistlib import plistlib
import requests import requests
@@ -18,8 +18,7 @@ from .. import constants
from . import ( from . import (
analytics_handler, analytics_handler,
global_settings, global_settings
subprocess_wrapper
) )
@@ -3,7 +3,6 @@ subprocess_wrapper.py: Wrapper for subprocess module to better handle errors and
Additionally handles our Privileged Helper Tool Additionally handles our Privileged Helper Tool
""" """
import os
import enum import enum
import logging import logging
import subprocess import subprocess
@@ -11,9 +11,6 @@ import requests
import markdown2 import markdown2
import threading import threading
import webbrowser import webbrowser
import subprocess
from pathlib import Path
from .. import constants from .. import constants
@@ -2,7 +2,6 @@
gui_settings.py: Settings Frame for the GUI gui_settings.py: Settings Frame for the GUI
""" """
import os
import wx import wx
import wx.adv import wx.adv
import pprint import pprint
@@ -24,8 +23,7 @@ from ..support import (
global_settings, global_settings,
defaults, defaults,
generate_smbios, generate_smbios,
network_handler, network_handler
subprocess_wrapper
) )
from ..datasets import ( from ..datasets import (
model_array, model_array,
@@ -2,7 +2,6 @@
gui_support.py: Utilities for interacting with wxPython GUI gui_support.py: Utilities for interacting with wxPython GUI
""" """
import os
import wx import wx
import sys import sys
import time import time
@@ -20,7 +19,6 @@ from . import gui_about
from .. import constants from .. import constants
from ..detections import device_probe from ..detections import device_probe
from ..support import subprocess_wrapper
from ..datasets import ( from ..datasets import (
model_array, model_array,
@@ -2,7 +2,6 @@
gui_sys_patch_display.py: Display root patching menu gui_sys_patch_display.py: Display root patching menu
""" """
import os
import wx import wx
import logging import logging
import plistlib import plistlib
@@ -6,7 +6,6 @@ import wx
import sys import sys
import time import time
import logging import logging
import datetime
import threading import threading
import subprocess import subprocess