Skip to content

Commit

Permalink
Add User-configurable verbose and debug
Browse files Browse the repository at this point in the history
Closes #10
References #74
  • Loading branch information
khronokernel committed Mar 7, 2021
1 parent 00a1e23 commit 690ff19
Show file tree
Hide file tree
Showing 11 changed files with 91 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
- Increment OpenCore 7bb41aa (0.6.8 rolling, 2021-03-06)
- Add ForceBooterSignature to resolve hibernation issues
- Add NightShiftEnabler (1.1.0 release e1639f9)
- Add user-configurable verbose and debug settings
- Add GopPassThrough quirk for UGA-based systems

## 0.0.13
- Add CPUFriend support to resolve X86PlatformPlugin clashes
Expand Down
71 changes: 71 additions & 0 deletions OpenCore-Patcher.command
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,76 @@ system_profiler SPHardwareDataType | grep 'Model Identifier'
print("\n".join(ModelArray.SupportedSMBIOS))
input("Press any key to continue...")

def change_os(self):
utilities.cls()
utilities.header(["Select Patcher's Target OS"])
print(f"""
Minimum Target:\t{self.constants.min_os_support}
Maximum Target:\t{self.constants.max_os_support}
Current target:\t{self.constants.os_support}
""")
temp_os_support = float(input("Please enter OS target: "))
if (self.constants.max_os_support < temp_os_support) or (temp_os_support < self.constants.min_os_support):
print("Unsupported entry")
else:
self.constants.os_support = temp_os_support

def change_verbose(self):
utilities.cls()
utilities.header(["Set Verbose mode"])
verbose_menu = input("Enable Verbose mode(y/n): ")
if verbose_menu in {"y", "Y", "yes", "Yes"}:
self.constants.verbose_debug = True
elif verbose_menu in {"n", "N", "no", "No"}:
self.constants.verbose_debug = False
else:
print("Invalid option")

def change_oc(self):
utilities.cls()
utilities.header(["Set OpenCore DEBUG mode"])
change_oc_menu = input("Enable OpenCore DEBUG mode(y/n): ")
if change_oc_menu in {"y", "Y", "yes", "Yes"}:
self.constants.opencore_debug = True
elif change_oc_menu in {"n", "N", "no", "No"}:
self.constants.opencore_debug = False
else:
print("Invalid option")
def change_kext(self):
utilities.cls()
utilities.header(["Set Kext DEBUG mode"])
change_kext_menu = input("Enable Kext DEBUG mode(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.kext_debug = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.kext_debug = False
else:
print("Invalid option")

def patcher_settings(self):
response = None
while not (response and response == -1):
title = [
"Adjust Patcher Settings"
]
menu = utilities.TUIMenu(title, "Please select an option: ", auto_number=True, top_level=True)
options = [
# TODO: Enable setting OS target when more OSes become supported by the patcher
#[f"Change OS version:\t\tCurrently macOS {self.constants.os_support}", self.change_os],
[f"Enable Verbose Mode:\tCurrently {self.constants.verbose_debug}", self.change_verbose],
# TODO: Enable setting OC DEBUG when path handling for DEBUg files is resolved
#[f"Enable OpenCore DEBUG:\tCurrently {self.constants.opencore_debug}", self.change_oc],
[f"Enable Kext DEBUG:\t\tCurrently {self.constants.kext_debug}", self.change_kext]
]

for option in options:
menu.add_menu_option(option[0], function=option[1])

response = menu.start()


input("Press any key to continue...")

def credits(self):
utilities.TUIOnlyPrint(["Credits"], "Press [Enter] to go back.\n",
["""Many thanks to the following:
Expand Down Expand Up @@ -85,6 +155,7 @@ system_profiler SPHardwareDataType | grep 'Model Identifier'
options = ([["Build OpenCore", self.build_opencore]] if ((self.constants.custom_model or self.current_model) in ModelArray.SupportedSMBIOS) else []) + [
["Install OpenCore to USB/internal drive", self.install_opencore],
["Change Model", self.change_model],
["Patcher Settings", self.patcher_settings],
["Credits", self.credits]
]

Expand Down
6 changes: 5 additions & 1 deletion Resources/Constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,14 @@ def __init__(self):
self.current_gpuv: str = None
self.current_gpud: str = None

# Debug Settings
# Patcher Settings
self.opencore_debug = False
self.kext_debug = False
self.verbose_debug = True
self.os_support = 11.0
self.min_os_support = 11.0
self.max_os_support = 11.0

# Payload Location
# OpenCore
@property
Expand Down
4 changes: 4 additions & 0 deletions Resources/ModelArray.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,4 +793,8 @@
"iMac14,1",
"iMac14,2",
"iMac14,3",
]

UGAtoGOP = [
"MacPro3,1"
]
9 changes: 9 additions & 0 deletions Resources/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,13 +192,22 @@ def build_efi(self):
shutil.rmtree(self.constants.resources_path, onerror=rmtree_handler)
shutil.copy(self.constants.gui_path, self.constants.oc_folder)
self.config["UEFI"]["Drivers"] = ["OpenCanopy.efi", "OpenRuntime.efi"]

# Add UGA to GOP layer
if self.model in ModelArray.UGAtoGOP:
print("- Adding UGA to GOP Patch")
self.config["UEFI"]["ProtocolOverrides"]["GopPassThrough"] = True

#DEBUG Settings
if self.constants.verbose_debug == True:
print("- Enabling Verbose boot")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -v"
if self.constants.kext_debug == True:
print("- Enabling DEBUG Kexts")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -liludbgall"
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " msgbuf=1048576"
if self.constants.opencore_debug == True:
print("- Enabling DEBUG OpenCore")
self.config["Misc"]["Debug"]["Target"] = 67

def set_smbios(self):
Expand Down
Binary file modified payloads/Kexts/Acidanthera/AirportBrcmFixup-v2.1.2.zip
Binary file not shown.
Binary file modified payloads/Kexts/Acidanthera/CPUFriend-v1.2.3.zip
Binary file not shown.
Binary file modified payloads/Kexts/Acidanthera/Lilu-v1.5.1.zip
Binary file not shown.
Binary file modified payloads/Kexts/Acidanthera/RestrictEvents-v1.0.0.zip
Binary file not shown.
Binary file modified payloads/Kexts/Acidanthera/WhateverGreen-v1.4.8.zip
Binary file not shown.
Binary file modified payloads/Kexts/Misc/NightShiftEnabler-v1.1.0.zip
Binary file not shown.

0 comments on commit 690ff19

Please sign in to comment.