diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fd93f634..c9762fee1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # OpenCore Legacy Patcher changelog +## 0.0.22 + +- Add ExFat support for models missing driver + - Aids BootCamp support for EFI based installs on 2010 and older Macs + ## 0.0.21 - Fix botched images in OpenCanopy - Add support for 3rd party OpenCore usage detection during building diff --git a/Resources/Constants.py b/Resources/Constants.py index df0266672..9d2170db0 100644 --- a/Resources/Constants.py +++ b/Resources/Constants.py @@ -95,6 +95,8 @@ class Constants: # Drivers @property def nvme_driver_path(self): return self.payload_path / Path("Drivers/NvmExpressDxe.efi") + @property + def exfat_legacy_driver_path(self): return self.payload_path / Path("Drivers/ExFatDxeLegacy.efi") # Kexts @property diff --git a/Resources/ModelArray.py b/Resources/ModelArray.py index 2f7018575..7c32f70df 100644 --- a/Resources/ModelArray.py +++ b/Resources/ModelArray.py @@ -785,6 +785,35 @@ NoRootPatch11 = [ "Xserve3,1", ] +NoExFat = [ + "MacBook4,1", + "MacBook5,1", + "MacBook5,2", + "MacBook6,1", + "MacBook7,1", + "MacBookAir2,1", + "MacBookPro4,1", + "MacBookPro5,1", + "MacBookPro5,2", + "MacBookPro5,3", + "MacBookPro5,4", + "MacBookPro5,5", + "MacBookPro6,1", + "MacBookPro6,2", + "MacBookPro7,1", + "Macmini3,1", + "iMac7,1", + "iMac8,1", + "iMac9,1", + "iMac10,1", + "iMac11,1", + "MacPro3,1", + "MacPro4,1", + "MacPro5,1", + "Xserve3,1", + "Dortania1,1" +] + DeleteNvidiaAccel11 = [ "AMDRadeonX4000.kext", "AMDRadeonX4000HWServices.kext", diff --git a/Resources/build.py b/Resources/build.py index 99a0c9867..714a74e40 100644 --- a/Resources/build.py +++ b/Resources/build.py @@ -254,6 +254,13 @@ class BuildOpenCore: 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"] + # Exfat check + if self.model in ModelArray.NoExFat: + print("- Adding ExFatDxeLegacy.efi") + exfat = "ExFatDxeLegacy.efi" + shutil.copy(self.constants.exfat_legacy_driver_path, self.constants.drivers_path) + self.config["UEFI"]["Drivers"] += ["ExFatDxeLegacy.efi"] + # Add UGA to GOP layer if self.model in ModelArray.UGAtoGOP: diff --git a/payloads/Drivers/ExFatDxeLegacy.efi b/payloads/Drivers/ExFatDxeLegacy.efi new file mode 100644 index 000000000..00f331faa Binary files /dev/null and b/payloads/Drivers/ExFatDxeLegacy.efi differ