Compare commits

...

29 Commits
0.0.1 ... 0.0.5

Author SHA1 Message Date
Mykola Grymalyuk
b25fa91962 Fix misc issues 2020-12-03 13:42:54 -07:00
Mykola Grymalyuk
627bc817d0 Enable Hibernation support
Closes https://github.com/dortania/Opencore-Legacy-Patcher/issues/7
2020-12-03 11:45:23 -07:00
Mykola Grymalyuk
511ea4cf68 Increment build version 2020-12-03 09:42:50 -07:00
Mykola Grymalyuk
1a37abbb4b Sync changelog 2020-12-03 09:37:19 -07:00
Mykola Grymalyuk
e284214dfb Add AGDP patch for dual GPU models 2020-12-03 09:28:37 -07:00
Mykola Grymalyuk
33df90c399 Temp remove GUI due to rendering issues 2020-12-03 09:12:01 -07:00
Mykola Grymalyuk
80e65bb6ab Add basic audio support for legacy chipets 2020-12-03 09:08:42 -07:00
Mykola Grymalyuk
513fe5cb36 Add basic troubleshooting 2020-12-03 09:00:36 -07:00
Mykola Grymalyuk
eb5280f827 Fix correcy typo
Closes https://github.com/dortania/Opencore-Legacy-Patcher/issues/5
2020-12-03 08:51:12 -07:00
Mykola Grymalyuk
bafff66417 Print IOHIDFamily patching 2020-12-02 17:23:53 -07:00
Mykola Grymalyuk
f71c8925c6 Update icon border 2020-12-02 17:23:04 -07:00
Mykola Grymalyuk
9ace5c9624 Add basic py3 support 2020-12-02 14:56:12 -07:00
Mykola Grymalyuk
939ee3f188 Add VoodooHDA payload 2020-12-02 11:12:36 -07:00
Mykola Grymalyuk
a57fa2d572 Update README.md 2020-12-02 10:35:45 -07:00
Mykola Grymalyuk
ce16e87101 Update README.md 2020-12-02 10:33:44 -07:00
Mykola Grymalyuk
abc704e6e3 Add icon 2020-12-02 10:32:46 -07:00
Mykola Grymalyuk
8480c1d7c6 Add basic app building
Currently non-functional
2020-12-02 08:13:23 -07:00
Mykola Grymalyuk
3b8168644f Fix import with py3 2020-12-01 20:55:39 -07:00
Mykola Grymalyuk
8756a2daa3 Fix incorrect DeviceProperty formatting 2020-12-01 17:43:34 -07:00
Mykola Grymalyuk
89d434e708 Increment build version 2020-12-01 17:09:52 -07:00
Mykola Grymalyuk
68cf4d1e7d Sync changelog 2020-12-01 16:39:54 -07:00
Mykola Grymalyuk
847b26bf47 Fix typo 2020-12-01 16:38:53 -07:00
Mykola Grymalyuk
c6eb016d85 Increment build version 2020-12-01 15:48:53 -07:00
Mykola Grymalyuk
362b3e4065 Sync changelog 2020-12-01 15:46:10 -07:00
Mykola Grymalyuk
0e02d45fce Revamp Airport patches 2020-12-01 15:44:19 -07:00
Mykola Grymalyuk
7df675ff42 Improve FileVault support 2020-12-01 14:37:27 -07:00
Mykola Grymalyuk
d15d691386 Expand IOHIDFamily Patch to all Nvidia chipsets 2020-12-01 14:26:42 -07:00
Mykola Grymalyuk
a8e2d1ad14 Update README.md 2020-12-01 11:45:07 -07:00
Mykola Grymalyuk
2a49219521 Increment build version 2020-12-01 11:11:40 -07:00
14 changed files with 386 additions and 96 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
.DS_Store
/App
/Build-Folder
/.vscode
__pycache__/

52
Build-App.command Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env python
from __future__ import print_function
from shutil import copy
from shutil import rmtree
from distutils.dir_util import copy_tree
import os
import json
import subprocess
import sys
import zipfile
os.chdir(os.path.dirname(os.path.realpath(__file__)))
current_path = os.getcwd()
print(current_path)
# File location
command_path = os.path.join(current_path, "OpenCore-Patcher.command")
resources_path = os.path.join(current_path, "Resources/")
payloads_path = os.path.join(current_path, "payloads/")
icns_path = os.path.join(current_path, "OC-Patcher.icns")
plist_path = os.path.join(current_path, "Info.plist")
app_path = os.path.join(current_path, "App/")
app_app_path = os.path.join(current_path, "App/OpenCore-Patcher.app/")
contents_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/")
app_macos_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/")
app_macos_payload_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/payloads")
app_macos_resources_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/MacOS/Resources")
app_resources_path = os.path.join(current_path, "App/OpenCore-Patcher.app/Contents/Resources/")
if os.path.exists(app_path):
print("Cleaning App folder")
rmtree(app_path)
print("Creating new App folder")
os.mkdir(app_path)
os.mkdir(app_app_path)
os.mkdir(contents_path)
os.mkdir(app_macos_path)
os.mkdir(app_resources_path)
copy(command_path, app_macos_path)
copy_tree(resources_path, app_macos_resources_path)
copy_tree(payloads_path, app_macos_payload_path)
copy(icns_path, app_resources_path)
copy(plist_path, contents_path)
copy(icns_path, app_macos_path)

22
CHANGELOG.md Normal file
View File

@@ -0,0 +1,22 @@
# OpenCore Legacy Patcher changelog
## 0.0.5
- Enable hibernation support
- Work around USB Map failing
- Add checks whether booting with OpenCore
- Fix MouSSE injection
## 0.0.4
- Add basic audio support for legacy chipsets
- Add patch for dual GPU machines
## 0.0.3
- Fix Wireless patch logic
## 0.0.2
- Expand IOHIDFamily Patch to all Nvidia chipsets
- Fix Airdrop 1.0 support
- Add El Capitan era wireless cards
## 0.0.1
- Inital developer preview

32
Info.plist Normal file
View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>OpenCore-Patcher.command</string>
<key>CFBundleIconFile</key>
<string>OC-Patcher.icns</string>
<key>CFBundleIdentifier</key>
<string>com.dortania.OpenCore-Patcher</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>0.0</string>
<key>CFBundleName</key>
<string>OpenCore-Patcher</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>LSMultipleInstancesProhibited</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2020 Dortania</string>
</dict>
</plist>

BIN
OC-Patcher.icns Normal file

Binary file not shown.

BIN
OC-Patcher.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -12,8 +12,15 @@ import zipfile
from Resources import *
# Allow py2 and 3 support
try:
input = raw_input
except NameError:
pass
# List build versions
patcher_version = "0.0.1"
patcher_version = "0.0.5"
CustomSMBIOS=False
MainMenu=True
@@ -53,7 +60,7 @@ while MainMenu:
print(" 5. Exit")
print("")
MainMenu = raw_input('Please select an option: ')
MainMenu = input('Please select an option: ')
if MainMenu=="1":
OpenCoreBuilderMenu=True
@@ -69,7 +76,7 @@ while MainMenu:
print(" 3. Return to main menu")
print("")
OpenCoreBuilderMenu = raw_input('Please select an option: ')
OpenCoreBuilderMenu = input('Please select an option: ')
if OpenCoreBuilderMenu=="1":
AutoBuilderMenu=True
@@ -83,7 +90,7 @@ while MainMenu:
print (" %s" % Versions.current_path)
print("")
BuildOpenCore.BuildEFI()
BuildOpenCore.BuildGUI()
#BuildOpenCore.BuildGUI()
BuildOpenCore.BuildSMBIOS()
BuildOpenCore.SavePlist()
BuildOpenCore.CleanBuildFolder()
@@ -91,7 +98,7 @@ while MainMenu:
print("Your OpenCore EFI has been built at:")
print(" %s" % Versions.opencore_path_done)
print("")
AutoBuilderMenu = raw_input("Press any key to return to previous menu: ")
AutoBuilderMenu = input("Press any key to return to previous menu: ")
if AutoBuilderMenu=="1":
print("Returning to previous menu...")
AutoBuilderMenu=False
@@ -106,7 +113,7 @@ while MainMenu:
print("")
print(" Supported versions: 0.6.3, 0.6.4")
print("")
OpenCoreOption = raw_input('Please enter the OpenCore you want (Press enter to exit): ')
OpenCoreOption = input('Please enter the OpenCore you want (Press enter to exit): ')
if OpenCoreOption == "":
print("Exiting...")
ChangeOCversion=False
@@ -115,7 +122,7 @@ while MainMenu:
print("")
print(" New SMBIOS: %s" % OpenCoreOption)
print("")
ChangeOCversionYN = raw_input("Is this correcy? (y/n)")
ChangeOCversionYN = input("Is this correct? (y/n)")
if ChangeOCversionYN in {"y", "Y", "yes", "Yes"}:
ChangeOCversion=False
Versions.opencore_version = OpenCoreOption
@@ -143,7 +150,7 @@ while MainMenu:
print(" 2. Return to main menu")
print("")
OpenCoreInstallerMenu = raw_input('Please select an option: ')
OpenCoreInstallerMenu = input('Please select an option: ')
if OpenCoreInstallerMenu=="1":
os.system('clear')
@@ -156,7 +163,7 @@ while MainMenu:
print("OpenCore folder missing!")
print("Please build OpenCore first")
print("")
OpenCoreInstallerMenu = raw_input("Press any key to exit: ")
OpenCoreInstallerMenu = input("Press any key to exit: ")
if OpenCoreInstallerMenu=="1":
print("Returning to main menu...")
OpenCoreInstallerMenu=False
@@ -181,7 +188,7 @@ while MainMenu:
print("")
print(" system_profiler SPHardwareDataType | grep 'Model Identifier'")
print("")
SMBIOSOption = raw_input('Please enter the SMBIOS of your machine (Press enter to exit): ')
SMBIOSOption = input('Please enter the SMBIOS of your machine (Press enter to exit): ')
if SMBIOSOption == "":
print("Exiting...")
SMBIOSMenu=False
@@ -190,7 +197,7 @@ while MainMenu:
print("")
print(" New SMBIOS: %s" % SMBIOSOption)
print("")
SMBIOSMenuYN = raw_input("Is this correcy? (y/n)")
SMBIOSMenuYN = input("Is this correct? (y/n)")
if SMBIOSMenuYN in {"y", "Y", "yes", "Yes"}:
SMBIOSMenu=False
BuildOpenCore.current_model = SMBIOSOption
@@ -211,8 +218,9 @@ while MainMenu:
print(" - DhinakG: Writing and maintaining this Patcher")
print(" - Khronokernel: Writing and maintaining this Patcher")
print(" - Syncretic: AAAMouSSE and telemetrap")
print(" - Slice: VoodooHDA")
print("")
CreditMenu = raw_input(" Press any key to exit: ")
CreditMenu = input(" Press any key to exit: ")
print("Returning to main menu...")
CreditMenu=False
MainMenu=True

View File

@@ -1,14 +1,10 @@
# OpenCore Legacy Patcher
<img src="OC-Patcher.png" width="256">
A python script for building and booting OpenCore on legacy Macs, see [Supported SMBIOS](#supported-smbios) on whether your model is supported.
Current TO-DO's with this patcher:
* [ ] Create macOS Installer
* [ ] Legacy GPU Patches
* ie. 2011 and older
* [ ] Legacy Audio Patches
* ie. 2011 and older
See [here](https://github.com/dortania/Opencore-Legacy-Patcher/issues/1) for current TO-DOs on this patcher.
## Supported SMBIOS
@@ -98,7 +94,46 @@ Prerequists:
1. [Download the release](https://github.com/dortania/Opencore-Legacy-Patcher/releases)
2. Run the `OpenCore-Patcher.command` file
3. Once opened, select option 1 and build your EFI
* if poatching for a different patching, selectect option 3 first
* if patching for a different patching, select option 3 first
4. Once finished, run option 2 a the main menu and install onto your desired drive
Once you're done making your OpenCore installer, you can simply reboot holding the Option key. In the picker, you should see a new EFI Boot Option. Boot it and from there you'll be in the OpenCore picker.
Once you're done making your OpenCore installer, you can simply reboot holding the Option key. In the picker, you should see a new EFI Boot Option. Boot it and from there you'll be in the OpenCore picker.
## How to uninstall OpenCore?
To remve OpenCore is actually quite simply:
1. Remove OpenCore either from the USB or internal drive
* You'll need to mount the drive's EFI partition, and delete the EFI folder
* [See here for example how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
2. Reset NVRAM
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
## Troubleshooting
Here are some common errors users may experience while using this patcher:
* [Stuck on `This version of Mac OS X is not supported on this platform`](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform)
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
### Stuck on `This version of Mac OS X is not supported on this platform`
This means macOS has detected a SMBIOS it does not support, to resolve this ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder the option will be called `EFI Boot`
Once you've booted OpenCore at least once, your hardware should now auto boot it until either NVRAM reset or you remove the drive with OpenCore installed.
### Cannot boot macOS without the USB
At this time, the OpenCore Patcher won't install macOS onto the internal drive itself during installs. Instead, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or run this patcher's Option 2 again but select your internal drive.
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remenber this entry and auto boot from then on.
### OpenCore won't show up in the boot picker
If OpenCore refuses to show up in the boot picker even with the above troubleshooting step, you can try to disable SIP and run this command(With your EFI drive mounted):
```sh
sudo bless --verbose --file /Volumes/EFI/EFI/OC/Bootstrap/Bootstrap.efi --folder /Volumes/EFI/EFI/OC/Bootstrap --setBoot
```
* Note: NVRAM write is disabled with SIP, so disables SIP first before running

View File

@@ -12,12 +12,27 @@ import subprocess
import sys
import zipfile
import Versions
import ModelArray
from Resources import Versions
from Resources import ModelArray
# Allow py2 and 3 support
try:
input = raw_input
except NameError:
pass
# Find SMBIOS of machine
current_model = subprocess.Popen("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE)
current_model = [line.strip().split(": ", 1)[1] for line in current_model.stdout.read().split("\n") if line.strip().startswith("Model Identifier")][0]
opencore_model = subprocess.Popen(["NVRAM", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product"], stdout=subprocess.PIPE).communicate()[0]
if opencore_model not in ("NVRAM: Error getting variable - '4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product': (iokit/common) data was not found"):
print("Detected OpenCore machine")
opencore_model = subprocess.Popen("nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product".split(), stdout=subprocess.PIPE)
opencore_model = [line.strip().split(":oem-product ", 1)[1] for line in opencore_model.stdout.read().split("\n") if line.strip().startswith("4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:")][0]
current_model = opencore_model
else:
print("No OpenCore detected")
current_model = subprocess.Popen("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE)
current_model = [line.strip().split(": ", 1)[1] for line in current_model.stdout.read().split("\n") if line.strip().startswith("Model Identifier")][0]
print("Current Model: %s" % current_model)
OCExist = False
@@ -65,7 +80,7 @@ def BuildEFI():
if current_model in ModelArray.SSEEmulator:
print("- Adding AAAMouSSE v%s" % Versions.mousse_version)
copy(Versions.mousse_version, Versions.kext_path_build)
copy(Versions.mousse_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--AAAMouSSE-->",
"<true/><!--AAAMouSSE-->"
@@ -115,31 +130,30 @@ def BuildEFI():
"<false/><!--AirPortAtheros40-->",
"<true/><!--AirPortAtheros40-->"
)
if current_model in ModelArray.WifiBCM94328:
print("- Wifi patches currently unsupported")
# TO-DO: Add El Capitan's IO80211
if current_model in ModelArray.WifiBCM94322:
print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
copy(Versions.io80211mojave_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--IO80211Mojave-->",
"<true/><!--IO80211Mojave-->"
)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--AirPortBrcm4331-->",
"<true/><!--AirPortBrcm4331-->"
)
if current_model in ModelArray.WifiBCM943224:
print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
copy(Versions.io80211mojave_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--IO80211Mojave-->",
"<true/><!--IO80211Mojave-->"
)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--AirPortBrcm4331-->",
"<true/><!--AirPortBrcm4331-->"
)
#if current_model in ModelArray.WifiBCM94328:
# print("- Wifi patches currently unsupported")
#if current_model in ModelArray.WifiBCM94322:
# print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
# copy(Versions.io80211mojave_path, Versions.kext_path_build)
# Versions.plist_data = Versions.plist_data.replace(
# "<false/><!--IO80211Mojave-->",
# "<true/><!--IO80211Mojave-->"
# )
# Versions.plist_data = Versions.plist_data.replace(
# "<false/><!--AirPortBrcm4331-->",
# "<true/><!--AirPortBrcm4331-->"
# )
#if current_model in ModelArray.WifiBCM943224:
# print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
# copy(Versions.io80211mojave_path, Versions.kext_path_build)
# Versions.plist_data = Versions.plist_data.replace(
# "<false/><!--IO80211Mojave-->",
# "<true/><!--IO80211Mojave-->"
# )
# Versions.plist_data = Versions.plist_data.replace(
# "<false/><!--AirPortBrcm4331-->",
# "<true/><!--AirPortBrcm4331-->"
# )
if current_model in ModelArray.WifiBCM94331:
print("- Adding AirportBrcmFixup and appling fake ID")
copy(Versions.airportbcrmfixup_path, Versions.kext_path_build)
@@ -151,25 +165,74 @@ def BuildEFI():
"<false/><!--AirPortBrcmNIC_Injector-->",
"<true/><!--AirPortBrcmNIC_Injector-->"
)
if current_model in ("iMac13,1", "iMac13,2"):
if current_model in ModelArray.EthernetNvidia:
# Nvidia chipsets all have the same path to ARPT
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
)
if current_model in ("MacBookAir2,1", "MacBookAir3,1", "MacBookAir3,2" ):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
)
elif current_model in ("iMac7,1", "iMac8,1" ):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)"
)
elif current_model in ("iMac13,1", "iMac13,2"):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)"
)
elif current_model in ("MacPro5,1"):
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)"
)
else:
# Assumes we have a laptop with Intel chipset
Versions.plist_data = Versions.plist_data.replace(
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)"
"#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)",
"PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)"
)
if current_model in ModelArray.LegacyHID:
print("- Adding legacy IOHIDFamily Patch")
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--IOHIDFamily-->",
"<true/><!--IOHIDFamily-->"
)
if current_model in ModelArray.LegacyAudio:
print("- Adding VoodooHDA v%s" % Versions.voodoohda_version)
copy(Versions.voodoohda_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--VoodooHDA-->",
"<true/><!--VoodooHDA-->"
)
usb_map_path = os.path.join(Versions.current_path, "payloads/Kexts/Maps/Zip/" "USB-Map-%s.zip" % current_model)
if os.path.exists(usb_map_path):
print("- Adding USB Map for %s" % current_model)
copy(usb_map_path, Versions.kext_path_build)
map_name = ("USB-Map-%s.kext" % current_model)
Versions.plist_data = Versions.plist_data.replace(
"<<false/><!--USBmap-->",
"<true/><!--USBmap-->"
)
Versions.plist_data = Versions.plist_data.replace(
"USB-Map-SMBIOS.kext",
map_name
)
if current_model in ModelArray.DualGPUPatch:
print("- Adding dual GPU patch")
Versions.plist_data = Versions.plist_data.replace(
"debug=0x100",
"debug=0x100 agdpmod=pikera"
)
def BuildGUI():
print("- Adding OpenCanopy GUI")
@@ -186,32 +249,25 @@ def BuildSMBIOS():
if current_model in ModelArray.MacBookAir61:
print("- Spoofing to MacBookAir6,1")
new_model = "MacBookAir6,1"
if current_model in ModelArray.MacBookAir62:
elif current_model in ModelArray.MacBookAir62:
print("- Spoofing to MacBookAir6,2")
new_model = "MacBookAir6,2"
if current_model in ModelArray.MacBookPro111:
elif current_model in ModelArray.MacBookPro111:
print("- Spoofing to MacBookPro11,1")
new_model = "MacBookPro11,1"
if current_model in ModelArray.MacBookPro112:
elif current_model in ModelArray.MacBookPro112:
print("- Spoofing to MacBookPro11,2")
new_model = "MacBookPro11,2"
if current_model in ModelArray.Macmini71:
elif current_model in ModelArray.Macmini71:
print("- Spoofing to Macmini7,1")
new_model = "Macmini7,1"
if current_model in ModelArray.iMac151:
elif current_model in ModelArray.iMac151:
print("- Spoofing to iMac15,1")
new_model = "iMac15,1"
if current_model in ModelArray.iMac144:
elif current_model in ModelArray.iMac144:
print("- Spoofing to iMac14,4")
new_model = "iMac14,4"
if current_model in ModelArray.MacPro71:
elif current_model in ModelArray.MacPro71:
print("- Spoofing to MacPro7,1")
new_model = "MacPro7,1"
@@ -286,12 +342,12 @@ def ListDiskutil():
print("Loading diskutil...(This may take some time)")
diskList = subprocess.Popen(["diskutil", "list"], stdout=subprocess.PIPE).communicate()[0]
print(diskList)
ChosenDisk = raw_input('Please select the disk you want to install OpenCore to(ie. disk1): ')
ChosenDisk = input('Please select the disk you want to install OpenCore to(ie. disk1): ')
ChosenDisk = ChosenDisk + "s1"
print("Trying to mount %s" % ChosenDisk)
diskMount = subprocess.Popen(["sudo", "diskutil", "mount", ChosenDisk], stdout=subprocess.PIPE).communicate()[0]
print(diskMount)
DiskMenu = raw_input("Press any key to continue: ")
DiskMenu = input("Press any key to continue: ")
def MoveOpenCore():
print("")

View File

@@ -198,20 +198,45 @@ WifiBCM943224 = [
]
WifiBCM94331 = [
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
"iMac13,2" # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
"MacBook5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir2,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,3", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,4", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,5", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"iMac7,1", # PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
"iMac8,1", # PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
"iMac9,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"MacPro5,1" # PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)
]
## Audio
@@ -342,6 +367,26 @@ SidecarPatch = [
"iMac14,3"
]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro10,1",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,2",
"iMac14,2",
"iMac14,3",
]
# 11" Air
MacBookAir61 = [
"MacBookAir3,1",

View File

@@ -23,6 +23,7 @@ mousse_version = "0.93"
telemetrap_version = "1.0.0"
io80211high_sierra_version = "1.0.0"
io80211mojave_version = "1.0.0"
voodoohda_version = "296"
# List current location
os.chdir(os.path.dirname(os.path.realpath(__file__)))
@@ -52,6 +53,7 @@ mousse_path = os.path.join(current_path, "payloads/Kexts/SSE/" "AAAMouSSE-v%s.zi
telemetrap_path = os.path.join(current_path, "payloads/Kexts/SSE/" "telemetrap-v%s.zip" % telemetrap_version)
io80211high_sierra_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211HighSierra-v%s.zip" % io80211high_sierra_version)
io80211mojave_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211Mojave-v%s.zip" % io80211mojave_version)
voodoohda_path = os.path.join(current_path, "payloads/Kexts/Audio/" "VoodooHDA-v%s.zip" % voodoohda_version)
# Build Location
opencore_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s.zip" % opencore_version)
@@ -68,5 +70,6 @@ gui_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC
macserial_path = os.path.join(current_path, "payloads/" "Tools")
# Icons
app_icon_path = os.path.join(current_path, "OC-Patcher.icns")
icon_path = os.path.join(current_path, "payloads/Icon/" ".VolumeIcon.icns")
gui_path = os.path.join(current_path, "payloads/Icon/" "Resources.zip")

View File

@@ -159,7 +159,7 @@
<dict>
<key>Add</key>
<dict>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)</key>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
<dict>
<key>device-id</key>
<data>ukMAAA==</data>
@@ -424,13 +424,31 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>VoodooHDA</string>
<key>Enabled</key>
<false/><!--VoodooHDA-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>18.0.0</string>
<key>BundlePath</key>
<string>VoodooHDA.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/VoodooHDA</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>USB Map</string>
<key>Enabled</key>
<true/>
<false/><!--USBmap-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
@@ -551,7 +569,7 @@
<key>ConsoleAttributes</key>
<integer>0</integer>
<key>HibernateMode</key>
<string>None</string>
<string>Auto</string>
<key>HideAuxiliary</key>
<true/>
<key>PickerAttributes</key>
@@ -607,7 +625,7 @@
<key>EnablePassword</key>
<false/>
<key>ExposeSensitiveData</key>
<integer>6</integer>
<integer>15</integer>
<key>HaltLevel</key>
<integer>2147483648</integer>
<key>PasswordHash</key>
@@ -865,7 +883,7 @@
<key>AppleDebugLog</key>
<true/>
<key>AppleEvent</key>
<false/>
<true/>
<key>AppleFramebufferInfo</key>
<false/>
<key>AppleImageConversion</key>

View File

@@ -161,7 +161,7 @@
<dict>
<key>Add</key>
<dict>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)</key>
<key>#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
<dict>
<key>device-id</key>
<data>ukMAAA==</data>
@@ -426,13 +426,31 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>VoodooHDA</string>
<key>Enabled</key>
<false/><!--VoodooHDA-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>18.0.0</string>
<key>BundlePath</key>
<string>VoodooHDA.kext</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/VoodooHDA</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Comment</key>
<string>USB Map</string>
<key>Enabled</key>
<true/>
<false/><!--USBmap-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
@@ -553,7 +571,7 @@
<key>ConsoleAttributes</key>
<integer>0</integer>
<key>HibernateMode</key>
<string>None</string>
<string>Auto</string>
<key>HideAuxiliary</key>
<true/>
<key>PickerAttributes</key>
@@ -611,7 +629,7 @@
<key>EnablePassword</key>
<false/>
<key>ExposeSensitiveData</key>
<integer>6</integer>
<integer>15</integer>
<key>HaltLevel</key>
<integer>2147483648</integer>
<key>PasswordHash</key>
@@ -877,7 +895,7 @@
<key>AppleDebugLog</key>
<true/>
<key>AppleEvent</key>
<false/>
<true/>
<key>AppleFramebufferInfo</key>
<false/>
<key>AppleImageConversion</key>

Binary file not shown.