-
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tiger, Leopard on x86_64 Guides Completed, Sierra Phoenix AppleIntern…
…al, Tiger 10.4.1 DTK Gallery Image.
- Loading branch information
1 parent
5198b00
commit afcd026
Showing
80 changed files
with
1,249 additions
and
125 deletions.
There are no files selected for viewing
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
layout: default | ||
title: Introduction | ||
parent: ----- | ||
nav_order: 1 | ||
--- | ||
|
||
<h2 align="center">----- Configuration Guide</h2> | ||
<h3 align="center">Download the following tools required for modifications.</h3> | ||
|
||
| Tool | Status | Description | | ||
| ----- | ----- | ----- | | ||
| [Python](https://www.python.org/downloads/) | Required | Needed as a dependency. | | ||
| [ProperTree](https://github.com/corpnewt/ProperTree) | Required | Software that required Python, provides GUI and Tools for config.plist | | ||
| [GenSMBIOS](https://github.com/corpnewt/GenSMBIOS) | Required | Must generate clean SMBIOS information for iServices | | ||
| [DarwinOCPkg](https://github.com/royalgraphx/DarwinOCPkg/blob/main/Docs/Sample.plist) | Required | Need Docs/Sample.plist renamed to config.plist in OC folder. | | ||
|
||
<h3 align="center">Be sure you meet the following requirements to begin configuring your OC.</h3> | ||
|
||
**1. Valid Python Install** | ||
- Required as a dependency for ProperTree. | ||
|
||
**2. ProperTree:** | ||
- This will allow you to use tools like "OC Clean Snapshot" which will scan your OC folder and add the various files to your config.plist automatically and in the correct order. | ||
|
||
**3. GenSMBIOS** | ||
- Required to generate a serial number, you cannot log into iServices until you properly generate SMBIOS information and use that on your config.plist | ||
|
||
**4. [Sample.plist](https://github.com/royalgraphx/DarwinOCPkg/blob/main/Docs/Sample.plist)** | ||
- Base that you change to config.plist, and begin to modify. | ||
|
||
## You can now continue to the next <a href="../01-ACPI">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
layout: default | ||
title: ACPI | ||
parent: ----- | ||
nav_order: 2 | ||
--- | ||
|
||
# ACPI | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreACPIAdd.png"><img src="../../../assets/OpenCoreACPIAdd.png" alt=""></a> | ||
|
||
## Add | ||
|
||
This section of the config is meant to expose the various ACPI in your OC folder. This along with many of the other sections will be auto-filled by simply going to ``File -> OC Clean Snapshot`` and going to the OC folder in your OpenCore.img mount point. | ||
|
||
## Delete | ||
|
||
This blocks certain ACPI tables from loading, for us, we can ignore this. | ||
|
||
## Patch | ||
|
||
This section allows us to dynamically modify parts of the ACPI (DSDT, SSDT, etc.) via OpenCore. For us, our patches are handled by our SSDTs. This is a much cleaner solution as this will allow us to boot Windows and other OSes with OpenCore for dual or multi-boot configurations. | ||
|
||
## Quirks | ||
|
||
For settings relating to ACPI, leave everything here as default as we have no use for these quirks. | ||
|
||
## You can now continue to the next <a href="../02-Booter">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
layout: default | ||
title: Booter | ||
parent: ----- | ||
nav_order: 3 | ||
--- | ||
|
||
# Booter | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreBooterQuirks.png"><img src="../../../assets/OpenCoreBooterQuirks.png" alt=""></a> | ||
|
||
## MmioWhitelist | ||
|
||
This section is allowing spaces to be passthrough to macOS that are generally ignored, useful when paired with DevirtualiseMmio. We can ignore this for our Virtual Machine use cases generally. | ||
|
||
## Patch | ||
|
||
This contains general patches, for us, we can ignore this. | ||
|
||
## Quirks | ||
|
||
Don't skip over this section, we'll be changing the following: | ||
|
||
| Quirk | Value | Description | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
|
||
## You can now continue to the next <a href="../03-DeviceProperties">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
layout: default | ||
title: Device Properties | ||
parent: ----- | ||
nav_order: 4 | ||
--- | ||
|
||
# Device Properties | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreDeviceProperties.png"><img src="../../../assets/OpenCoreDeviceProperties.png" alt=""></a> | ||
|
||
## Add | ||
|
||
This allows you to add properties to various devices using its PciRoot address. For now, and in most cases we can ignore this. An example would be: overriding an ethernet controller to appear as built-in so that macOS allows iServices to work. On Virtual Machines, we only need to override/add properties to passed-through devices, like GPUs or audio controllers. For our initial setup, we will leave this section empty. | ||
|
||
## Delete | ||
|
||
This allows you to delete properties of various devices using its PciRoot address. For now, and in most cases we can ignore this. | ||
|
||
## You can now continue to the next <a href="../04-Kernel">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
layout: default | ||
title: Kernel | ||
parent: ----- | ||
nav_order: 5 | ||
--- | ||
|
||
# Kernel | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreKernel.png"><img src="../../../assets/OpenCoreKernel.png" alt=""></a> | ||
|
||
## Add | ||
|
||
This section of the config is meant to expose the various Kexts in your OC folder. This along with many of the other sections will be auto-filled by simply going to ``File -> OC Clean Snapshot`` and going to the OC folder in your OpenCore.img mount point. | ||
|
||
## Block | ||
|
||
Blocks certain Kexts from loading. Not relevant for us. | ||
|
||
## Emulate | ||
|
||
Needed for spoofing unsupported CPUs like Pentiums and Celerons. | ||
|
||
| Key | Type | Value | | ||
| Cpuid1Data | Data | <> | | ||
| Cpuid1Mask | Data | <> | | ||
| DummyPowerManagement | Boolean | False | | ||
|
||
## Force | ||
|
||
Used for loading Kexts off system volume, only relevant for older operating systems where certain kexts are not present in the cache, i.e IONetworkingFamily in 10.6. | ||
|
||
For us, we can ignore. | ||
|
||
## Patch | ||
|
||
Patches for both the Kernel and Kexts. I've gone ahead and incorporated CaseySJ's PCI Bus Enumeration fix on KVM. | ||
|
||
## Quirks | ||
|
||
Don't skip over this section, we'll be changing the following: | ||
|
||
| Quirk | Value | Description | | ||
| ----- | ----- | ----- | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
| ----- | ----- | -----. | | ||
|
||
## Scheme | ||
|
||
Settings related to legacy booting, but we can change the following. | ||
|
||
| Key | Type | Value | Description | | ||
| ----- | ----- | ----- | | ----- | | ||
| CustomKernel | Boolean | False | Loads a custom kernel, usually used for unsupported CPUs. Here we spoof the CPU with QEMU so we do not require this. | | ||
| FuzzyMatch | Boolean | False | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm, if you don't care about ancient macOS/Mac OS X versions, disable this. | | ||
| KernelArch | String | x86_64 | Slightly improves boot performance by hardcoding that we're booting the kernel in AMD64 mode instead of x86. | | ||
| KernelCache | String | Auto | Specifies the kernel cache type used, on modern macOS versions, this can be hardcoded to Prelinked to speed up boot times. | | ||
|
||
## You can now continue to the next <a href="../05-Misc">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
layout: default | ||
title: Misc | ||
parent: ----- | ||
nav_order: 6 | ||
--- | ||
|
||
# Misc | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreMisc.png"><img src="../../../assets/OpenCoreMisc.png" alt=""></a> | ||
|
||
## BlessOverride | ||
|
||
To be filled with plist string entries containing absolute UEFI paths to customised bootloaders such as \EFI\debian\grubx64.efi for the Debian bootloader. As our VM is strictly macOS only, we do nothing here, nor will we ever. | ||
|
||
## Boot | ||
|
||
Don't skip over this section, we'll be changing the following: | ||
|
||
| Key | Type | Value | | ||
| ----- | ----- | ----- | | ||
| PollAppleHotKeys | Boolean | True | | ||
|
||
## Debug | ||
|
||
Helpful for debugging OpenCore boot issues. | ||
Don't skip over this section, we'll be changing the following: | ||
|
||
| Key | Type | Value | | ||
| ----- | ----- | ----- | | ||
| AppleDebug | Boolean | True | | ||
| ApplePanic | Boolean | True | | ||
| DisableWatchDog | Boolean | True | | ||
| Target | Number | 67 | | ||
|
||
## Entries | ||
|
||
Used for specifying irregular boot paths that can't be found naturally with OpenCore. We do nothing here, nor will we ever. | ||
|
||
## Security | ||
|
||
Security is pretty self-explanatory, <b>do not skip</b>. We'll be changing the following: | ||
|
||
{: .warning } | ||
Optional is a word, you must type it out. It IS case-sensitive. | ||
|
||
| Key | Type | Value | | ||
| ----- | ----- | ----- | | ||
| AllowSetDefault | Boolean | True | | ||
| ExposeSensitiveData | Number | 15 | | ||
| ScanPolicy | Number | 0 | | ||
| Vault | String | <span style="color:red">Optional</span> | | ||
|
||
## Serial | ||
|
||
Used for serial debugging (Leave everything as default). | ||
|
||
## Tools | ||
|
||
This section of the config is meant to expose the various Tools in your OC folder. This along with many of the other sections will be auto-filled by simply going to ``File -> OC Clean Snapshot`` and going to the OC folder in your OpenCore.img mount point. | ||
|
||
## You can now continue to the next <a href="../06-NVRAM">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
layout: default | ||
title: NVRAM | ||
parent: ----- | ||
nav_order: 7 | ||
--- | ||
|
||
# NVRAM | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCoreNVRAM.png"><img src="../../../assets/OpenCoreNVRAM.png" alt=""></a> | ||
|
||
## Add | ||
|
||
{: .highlight } | ||
7C436110-AB2A-4BBB-A880-FE41995C9F82 | ||
|
||
We can use this dictionary to modify boot-args. Use the chart below for various arguments that possibly be useful later in the future. For the Recovery and Installation, before the GPU passthrough, you don't need to modify this section. | ||
|
||
### General Boot-Args | ||
|
||
| boot-arg | Description | | ||
| ----- | ----- | | ||
| -v | This enables verbose mode, which shows all the behind-the-scenes text that scrolls by as you're booting instead of the Apple logo and progress bar. It's invaluable to any Hackintosher, as it gives you an inside look at the boot process, and can help you identify issues, problem kexts, etc. | | ||
| keepsyms=1 | This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic. That can give some more helpful insight as to what's causing the panic itself. | | ||
| debug=0x100 | This disables macOS's watchdog which helps prevents a reboot on a kernel panic. That way you can hopefully glean some useful info and follow the breadcrumbs to get past the issues. | | ||
|
||
### GPU Related Boot-Args | ||
|
||
{: .headsup } | ||
The following boot-args are WhateverGreen boot args! They require the kext to be in use. | ||
|
||
| boot-arg | Description | | ||
| ----- | ----- | | ||
| agdpmod=vit9696 | Disables board-id check, may be needed for when screen turns black after finishing booting. | | ||
| agdpmod=pikera | Used for disabling board ID checks on some Navi GPUs (RX 5000 & 6000 series). Don't use if you use NootRX. | | ||
| radpg=15 | Fixes initialization for HD 7730/7750/7770/R7 250/R7 250X | | ||
| raddvi | Fixes DVI connector-type for 290X, 370, etc | | ||
| radvesa | Forces GPU into VESA mode(no GPU acceleration), useful for troubleshooting. | | ||
| igfxvesa | Forces Intel iGPU into VESA mode | | ||
|
||
{: .headsup } | ||
The following boot-args are Apple boot flags and will work without WEG. | ||
|
||
| boot-arg | Description | | ||
| ----- | ----- | | ||
| nv_disable=1 | Forces GPU into VESA mode. | | ||
| amd_no_dgpu_accel | Forces GPU into VESA mode. | | ||
|
||
## Delete | ||
|
||
Forcibly rewrites NVRAM variables, do note that Add will not overwrite values already present in NVRAM so values like boot-args should be left alone. | ||
|
||
## LegacyOverwrite | ||
|
||
For us, we can leave it to the default value of ``False``. | ||
|
||
## LegacySchema | ||
|
||
Used for assigning NVRAM variables, used with OpenVariableRuntimeDxe.efi. Only needed for systems without native NVRAM. The values under this can be deleted safely. | ||
|
||
## You can now continue to the next <a href="../07-PlatformInfo">page</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
--- | ||
layout: default | ||
title: PlatformInfo | ||
parent: ----- | ||
nav_order: 8 | ||
--- | ||
|
||
# Platform Info | ||
|
||
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/assets/OpenCorePlatformInfo.png"><img src="../../../assets/OpenCorePlatformInfo.png" alt=""></a> | ||
|
||
## Automatic | ||
|
||
Leave as default. | ||
|
||
## CustomMemory | ||
|
||
Can be ignored for now. Documentation in progress. | ||
|
||
## Generic | ||
|
||
At this point in the guide, you'll need to open a terminal and an instance of [GenSMBIOS](https://github.com/corpnewt/GenSMBIOS). Select option 1 for downloading MacSerial and Option 3 for generating SMBIOS. For this Cascade Lake example, we'll choose the MacPro7,1 SMBIOS. | ||
|
||
This will give us output similar to the following: | ||
|
||
``` | ||
####################################################### | ||
# MacPro#,1 SMBIOS Info # | ||
####################################################### | ||
Type: MacPro#,1 | ||
Serial: 000000000000 | ||
Board Serial: 000000000000000000 | ||
SmUUID: 00000000-0000-0000-0000-000000000000 | ||
Apple ROM: 000000000000 | ||
Press [enter] to return... | ||
``` | ||
|
||
{: .headsup } | ||
Make sure that you are using an invalid serial number! When visiting the [Check Device Coverage](https://checkcoverage.apple.com/) page on Apple's website, your serial number should not report an exising Mac, and you should get an error message such as "Please enter a valid serial number". | ||
|
||
To fill out the information on your config.plist, refer to the following chart to convert across. | ||
|
||
| GenSMBIOS | config.plist | | ||
| ----- | ----- | | ||
| Board Serial | MLB | | ||
| Apple ROM | ROM | | ||
| Type | SystemProductName | | ||
| Serial | SystemSerialNumber | | ||
| SmUUID | SystemUUID | | ||
|
||
## UpdateDataHub | ||
|
||
Update Data Hub fields. We can leave this default. | ||
|
||
## UpdateSMBIOS | ||
|
||
Updates SMBIOS fields. We can leave this default. | ||
|
||
## UpdateSMBIOSMode | ||
|
||
Replace the tables with newly allocated EfiReservedMemoryType. We can leave this default. | ||
|
||
## UseRawUuidEncoding | ||
|
||
Use raw encoding for SMBIOS UUIDs. We can leave this default. | ||
|
||
## You can now continue to the next <a href="../08-UEFI">page</a>. |
Oops, something went wrong.