Skip to content

Commit

Permalink
Resolves firmware bricking issues
Browse files Browse the repository at this point in the history
Closes #43
Closes #42
Closes #40
Closes #38
Closes #32
Closes #15
  • Loading branch information
khronokernel committed Jan 11, 2021
1 parent 3674ca4 commit 50e3e08
Show file tree
Hide file tree
Showing 16 changed files with 1,962 additions and 34 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# OpenCore Legacy Patcher changelog

## 0.0.9
- Resolve firmware install issues bricking Macs

## 0.0.8
- Fix USB Map
- Add HiDPI patch
Expand Down
2 changes: 1 addition & 1 deletion OpenCore-Patcher.command
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ except NameError:
pass

# List build versions
patcher_version = "0.0.8"
patcher_version = "0.0.9"

CustomSMBIOS=False
MainMenu=True
Expand Down
22 changes: 2 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,6 @@

A python script for building and booting OpenCore on legacy Macs, see [Supported SMBIOS](#supported-smbios) on whether your model is supported.

# DO NOT USE, RISKS OF BRICKING YOUR MAC

Currently this patcher implementation can apply a firmware update that breaks your machine. To avoid this, we highly recommend users do not use this patcher until we've resolved this.

### Ivy Bridge and Haswell Notes

Currently in Big Sur 11.0.1 and 11.1, there are partial firmware brickings happening during the install stage. The exact issue depends on the CPU model generation:


* **Ivy Bridge**:
* Simply power cycling the machine will resolve this issue
* Laptops will need to unplug the battery for a bit
* To avoid this issue outright, simply shutdown the machine after Big Sur has installed macOS instread of having the installer auto reboot

* **Haswell**:
* Power cycling *may* work however some iMac14,x users have reported needing a firmware reflash
* Patcher currently has removed support for these machines till macOS 11.2's release to avoid any unnecessary headaches for users

## Supported SMBIOS

Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine:
Expand Down Expand Up @@ -117,7 +99,7 @@ Once you're done making your OpenCore installer, you can simply reboot holding t

## How to uninstall OpenCore?

To remve OpenCore is actually quite simply:
To remove 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
Expand All @@ -142,7 +124,7 @@ Once you've booted OpenCore at least once, your hardware should now auto boot it

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.
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remember this entry and auto boot from then on.

### Cannot run OpenCore Legacy Patcher

Expand Down
9 changes: 7 additions & 2 deletions Resources/BuildOpenCore.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,13 @@ def BuildEFI():
print("- Adding WhateverGreen v%s" % Versions.whatevergreen_version)
copy(Versions.whatevergreen_path, Versions.kext_path_build)

print("- Adding RestrictEvents v%s" % Versions.restrictevents_version)
copy(Versions.restrictevents_path, Versions.kext_path_build)
if current_model in ModelArray.MacPro71:
print("- Adding RestrictEvents v%s" % Versions.restrictevents_version)
copy(Versions.restrictevents_path, Versions.kext_path_build)
Versions.plist_data = Versions.plist_data.replace(
"<false/><!--RestrictEvents-->",
"<true/><!--RestrictEvents-->"
)

# Checks for kexts
# CPU Kext Patches
Expand Down
8 changes: 3 additions & 5 deletions Resources/ModelArray.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,9 @@
"iMac12,2",
"iMac13,1",
"iMac13,2",
#Remove due to pottential bricking with 11.0.1 and 11.1
#"iMac14,1",
#"iMac14,2",
#"iMac14,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
Expand Down Expand Up @@ -474,7 +473,6 @@
]

# Mac Pro and Xserve

MacPro71 = [
"MacPro3,1",
"MacPro4,1",
Expand Down
8 changes: 4 additions & 4 deletions Resources/Versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
import sys

# List build versions
opencore_version = "0.6.4"
lilu_version = "1.4.9"
whatevergreen_version = "1.4.4"
airportbcrmfixup_version = "2.1.1"
opencore_version = "0.6.6"
lilu_version = "1.5.0"
whatevergreen_version = "1.4.6"
airportbcrmfixup_version = "2.1.2"
bcm570_version = "1.0.0"
marvel_version = "1.0.0"
nforce_version = "1.0.0"
Expand Down
2 changes: 1 addition & 1 deletion payloads/Config/v0.6.3/config.plist
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@
<key>Comment</key>
<string>Process Blocker</string>
<key>Enabled</key>
<true/><!--RestrictEvents-->
<false/><!--RestrictEvents-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
Expand Down
2 changes: 1 addition & 1 deletion payloads/Config/v0.6.4/config.plist
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@
<key>Comment</key>
<string>Process Blocker</string>
<key>Enabled</key>
<true/><!--RestrictEvents-->
<false/><!--RestrictEvents-->
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
Expand Down
Loading

0 comments on commit 50e3e08

Please sign in to comment.