Skip to content

Commit

Permalink
Added general plist editing informations & Added kernel patching guide
Browse files Browse the repository at this point in the history
  • Loading branch information
tammo03 committed Sep 15, 2024
1 parent e52ce80 commit 0ee9b40
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 0 deletions.
33 changes: 33 additions & 0 deletions _configplist/02-AMD/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,39 @@ has_toc: false

2. Take the user to either a Desktop or Laptop/Mobile section.

## Before we start platform-specific configurations
Maybe you've already noticed that there isn't a single Mac with an AMD CPU. Therefore you have to patch the kernel. To do this, we use another tool from CorpNewt.

[AMDVanillaPatches](https://github.com/corpnewt/AMDVanillaPatches/) allows us to merge the required kernel patches without problems. It's pretty self-explanatory. However, you should read the ReadMe of the [kernel patches](https://github.com/AMD-OSX/AMD_Vanilla) to understand what is actually happening.
First of all, we have to get the tool itself. We can simply download the main branch or clone the repository.

<p align="center">
<img width="1583" height="1279" src="/assets/KernelPatches/AMDVanillaPatchesRepo.png">
</p>

Once we have the repository (you may need to unzip it), we should see the following files.

<p align="center">
<img width="533" height="340" src="/assets/KernelPatches/AMDVanillaPatchesRepoFiles.png">
</p>

You can now choose the appropriate script depending on your platform (Windows users should choose the ``.bat`` file).

We should now be greeted something like this.

<p align="center">
<img width="697" height="483" src="/assets/KernelPatches/AMDVanillaPatches.command.png">
</p>

First we want to select option 1). We then choose option 2) and drag and drop our config.plist into it. We then confirm it with enter.
After that we choose option 3) - Here we have to enter the number of CPU cores of our target system (**NOT** threads).

<p align="center">
<img width="697" height="483" src="/assets/KernelPatches/CPUCores.png">
</p>

Now we can close the program and continue with the platform-specific configuration.

<h2 align="center">To begin, select your hardware type:</h2>
<br>

Expand Down
27 changes: 27 additions & 0 deletions _configplist/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,33 @@ has_toc: false
1. Explain how this section is broken up
2. Explain how to read the pages, such as ACPI, Booter, Kernel

## Before you start with the configuration

Before we dive into configuring our plist, we should clarify a few things. A .plist file is not compiled - it is readable and editable for us. In order to make changes, we have to somehow introduce them to the file.
In theory, you can use any program you can edit a text with, but if you don't want to waste years in Microsoft Word, Nano or TextEdit, it is advisable to use a adequate plist editor.

For beginners, it's recommended to use [CorpNewt's](https://github.com/corpnewt) [ProperTree](https://github.com/corpnewt/ProperTree) for various reasons. ProperTree is a versatile, free plist editor that works across multiple platforms. Since it’s built with Python, it can theoretically run on any system that supports Python. One of its standout features is the array of built-in functions specifically designed for OpenCore, making it highly convenient. In contrast, using other editors would require you to access these functions separately or doing everything by hand.
However, you are free to use whatever you want.

{: .note }
Due to a bug inside Xcode that periodically trims your plist, it's not recommend to use it.

{: .warning }
Do **NOT** use configurators. Every conceivable reason, apart from laziness, speaks against it. Configurators are not recommended as they make assumptions, have no kext load order logic, make changes without telling you, often auto-save on opening your config (which bakes in those changes they didn't tell you they were making), and make it easier to make mistakes. Configurations teach you nothing, they are loaded with bugs and corrupt your plist.

Now that we know what we can use and what we shouldn't use (!), we can make the first changes to our config.plist.

## Taking a snapshot
CorpNewts [OCSnapshot](https://github.com/corpnewt/OCSnapshot) is able to transfer the structure of your EFI folder into your config.plist. The OCSnapshot function is already integrated in ProperTree. All you have to do is open ProperTree, press ``Ctrl+R`` (or ``Cmd+R``) and select the ``OC`` folder. However, when you take a snapshot for the first time, it is highly recommended to take a so-called "clean snapshot". To do this, press ``Ctrl/Cmd+Shift+R`` and select the ``OC`` folder.

Explained in more detail:
**OC Snapshot** updates the current values in ``ACPI -> Add``, ``Kernel -> Add``, ``Misc -> Tools``, and ``UEFI -> Drivers`` by only adding or removing entries as needed. **OC Clean Snapshot** clears these four sections completely and adds all entries from scratch.

Both functions check kext load order and fix common user errors, but **OC Snapshot** keeps your custom settings for existing entries like Enabled, MinKernel, MaxKernel, and Comments.

{: .headsup }
Attention! Every time you change the structure of your folder, e.g. add or remove a kext, SSDT or tool, you must repeat this step.

<br>
<h4 align="center">We now present the nav bar:</h4>

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/KernelPatches/AMDVanillaPatchesRepo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/KernelPatches/CPUCores.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions docs/03-Changelog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,33 @@ All notable changes to this project will be documented in this file. The format

---

## Added general plist editing informations & Added kernel patching guide
### Prerelease@CarnationsInternal
#### By Tammo

## [Version~Type] - 2024-09-15

### Added
- General plist editing suggestions - Disclaimer for plist editors and configurators. To be expanded, a guide to install PT is needed.
- Added a guide for installing kernel patches on AMD systems using Corp's tool

### Changed
-

### Fixed
-

### Deprecated
-

### Removed
-

### Security
-

---

## Add storage kext notes
### Prerelease@CarnationsInternal
#### By Tammo
Expand Down

0 comments on commit 0ee9b40

Please sign in to comment.