diff --git a/.gitmodules b/.gitmodules index ec14c6e..3f4d522 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "DarwinFetch"] path = DarwinFetch url = https://github.com/royalgraphx/DarwinFetch +[submodule "DarwinUDK"] + path = DarwinUDK + url = https://github.com/royalgraphx/DUDK-Firmware.git diff --git a/DarwinKVM-Debian.xml b/DarwinKVM-Debian.xml new file mode 100644 index 0000000..8534cb7 --- /dev/null +++ b/DarwinKVM-Debian.xml @@ -0,0 +1,57 @@ + + + + DarwinKVM + c44e7384-bc74-4d3e-b6ce-5a6148296fe8 + 8388608 + 8388608 + + + + 8 + + hvm + /usr/share/OVMF/OVMF_CODE.fd + /var/lib/libvirt/qemu/nvram/DarwinKVM_VARS.fd + + + + + + + + + + + + + + + + + + destroy + restart + restart + + /usr/bin/qemu-system-x86_64 + + + + + + + + + + + + + + + + diff --git a/DarwinLegacyKVM.xml b/DarwinLegacyKVM.xml index d93e2cf..33747f9 100644 --- a/DarwinLegacyKVM.xml +++ b/DarwinLegacyKVM.xml @@ -12,12 +12,8 @@ 8 - + hvm - - - - /usr/share/DarwinUDK/x64/DUDK_CODE.fd /var/lib/libvirt/qemu/nvram/DarwinLegacyKVM_VARS.fd @@ -42,7 +38,6 @@ restart /usr/bin/qemu-system-x86_64 - diff --git a/DarwinOCPkg b/DarwinOCPkg index de3d3c8..d379a84 160000 --- a/DarwinOCPkg +++ b/DarwinOCPkg @@ -1 +1 @@ -Subproject commit de3d3c88266c4a8ac079d8a16b71d62040861b48 +Subproject commit d379a840904a8a69d8af6502f6b1c7f4c91a7fbf diff --git a/DarwinUDK b/DarwinUDK new file mode 160000 index 0000000..6f01fef --- /dev/null +++ b/DarwinUDK @@ -0,0 +1 @@ +Subproject commit 6f01fef8cd1bd6a0d462a137b0c2c704eb61d705 diff --git a/docs/_config.yml b/docs/_config.yml index 8350d2a..d56f55b 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -3,6 +3,7 @@ description: An advanced guide for running Mac OS / Mac OS X / macOS on QEMU/KVM theme: just-the-docs color_scheme: custom favicon_ico: "/assets/favicon.ico" +nav_sort: case_sensitive url: https://royalgraphx.github.io/DarwinKVM/docs @@ -77,4 +78,4 @@ aux_links: - "//github.com/royalgraphx/DarwinKVM/tree/main" # Makes Aux links open in a new tab. Default is false -aux_links_new_tab: false \ No newline at end of file +aux_links_new_tab: false diff --git a/docs/_includes/footer_custom.html b/docs/_includes/footer_custom.html index 8cc99af..c71ad44 100644 --- a/docs/_includes/footer_custom.html +++ b/docs/_includes/footer_custom.html @@ -1,3 +1,3 @@ DarwinKVM Docs Version 2.0.0~prerelease
Copyright © 2024 RoyalGraphX. Distributed by a BSD 3-Clause License.
-Last Modified: Tues, 11 Jun 2024 4:38:40 CDT \ No newline at end of file +Last Modified: Thu, 13 Jun 2024 11:38:40 CDT \ No newline at end of file diff --git a/docs/_infocenter/01-FileOverview/01-ACPITables.md b/docs/_infocenter/01-FileOverview/01-ACPITables.md index 75527f9..92ebd46 100644 --- a/docs/_infocenter/01-FileOverview/01-ACPITables.md +++ b/docs/_infocenter/01-FileOverview/01-ACPITables.md @@ -8,31 +8,44 @@ nav_order: 2 # ACPI Tables #### This section has been derived from the Getting Started with ACPI guide. It may be out of date. Please refer to latest documentation when possible. -{: .note } +
+ +{: .important } So what are DSDTs and SSDTs? Well, these are tables present in your firmware that outline hardware devices like USB controllers, CPU threads, embedded controllers, system clocks and such. A DSDT (Differentiated System Description Table) can be seen as the body holding most of the info with smaller bits of info being passed by the SSDT (Secondary System Description Table). You can think of the DSDT as the building blueprints with SSDTs being sticky notes outlining extra details to the project. -#### You can read more about ACPI and it's specs [here](https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf). +## So What would we need for a virtual machine? -# What would we need? +Mac OS X / macOS can be very picky about the devices present in the DSDT and so our job is to correct it. The main devices that need to be corrected for Darwin to work properly depends on your installation target: -macOS can be very picky about the devices present in the DSDT and so our job is to correct it. The main devices that need to be corrected for macOS to work properly: +## For Catalina (10.15.7) and above, we'll need: - Embedded controller (EC) - - macOS Catalina+ requires a device named EC to be present, so we create a dummy EC. The USBX devices (See next) also requires an EC device to work. + - Mac OS X / macOS requires a device named EC to be present, so we create a dummy EC. The USBX devices (See next) also require an EC device to work. - USBX - - This sets the correct USB power properties for charging devices like phones. + - This sets the correct USB power properties for charging devices like iPhones. - Plugin type - This generally allows the use of XCPM providing native CPU power management on Intel CPUs. Our version will enable VMPlatformPlugin XCPM, exactly like a Parallels VM. -For our Virtual Machine use case, we will be emulating an Intel Cascade Lake CPU so regardless of the host architecture, the only ACPI's we require to boot macOS will be SSDT-EC-USBX and SSDT-PLUG. +For our use case on MacPro7,1 we will be emulating an Intel Cascade Lake CPU so regardless of the host architecture, the only ACPI's we require to boot will be SSDT-EC-USBX and SSDT-PLUG. + +## For Mojave (10.14.4) and older, we'll need: + + - Embedded controller (EC) + - Mac OS X requires a device named EC to be present, so we create a dummy EC. -Thanks to [ExtremeXT](https://github.com/ExtremeXT) for allowing me to include his manually created SSDT-EC-USBX which combines them into a single file, as well as the included SSDT-PLUG file. We've both tested it and it works as expected, and I use it for my daily machine so I'm confident including it, feel free to manually make your own or possibly try the ones from Acidanthera! As long as you complete this ACPI section, you can go ahead to the next step. +For our use case on MacPro5,1 we will be emulating an Intel Westmere E56XX CPU so regardless of the host architecture, the only ACPI file we require to boot will be SSDT-EC. -You can view the baremetal CPU ACPI requirements by generation [here](https://dortania.github.io/Getting-Started-With-ACPI/ssdt-platform.html#desktop). +
-{: .note } -Cascade Lake supersedes Skylake although not shown on the chart. +Thanks to [ExtremeXT](https://github.com/ExtremeXT) for allowing me to include his manually created SSDT-EC-USBX which combines them into a single file, as well as the included SSDT-PLUG file. -

The required files can be found in the DarwinOCPkg/X64/EFI/OC/ACPI folder.

+Thanks to [CorpNewt](https://github.com/CorpNewt) for [SSDTTime](https://github.com/corpnewt/SSDTTime), which was used on a DarwinKVM VM booted in to Arch Linux, to dump and create SSDT-EC. + +I've tested all files and it works as expected, and I use it for my daily machine so I'm confident including it, feel free to manually make your own or possibly try the ones from Acidanthera! As long as you complete this ACPI section for your target installation, you can go ahead to the next step. + +

The required files can be found in the DarwinOCPkg/Docs folder.

## You can now continue to the next page. + +#### If you're interested, you can read more about ACPI and it's specs [here](https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf). +#### You can also view the baremetal CPU ACPI requirements by generation [here](https://dortania.github.io/Getting-Started-With-ACPI/ssdt-platform.html#desktop). \ No newline at end of file diff --git a/docs/_infocenter/01-FileOverview/02-Drivers.md b/docs/_infocenter/01-FileOverview/02-Drivers.md index 0c52f32..206dfa7 100644 --- a/docs/_infocenter/01-FileOverview/02-Drivers.md +++ b/docs/_infocenter/01-FileOverview/02-Drivers.md @@ -8,16 +8,30 @@ nav_order: 3 # Drivers #### This section has been derived from the Adding The Base OpenCore Files guide. It may be out of date. Please refer to latest documentation when possible. +
+ Now something you'll notice is that it comes with a bunch of files in Drivers and Tools folder, we don't want most of these: -- Keep the following from Drivers (if applicable): +Keep the following from Drivers (if applicable): | Driver | Status | Description | | ----- | ----- | ----- | | OpenRuntime.efi | Required | Required for fixing NVRAM, power management, RTC, memory mapping etc. | +| OpenPartitionDxe.efi | Required | Only required if you want Mojave or earlier, required for MacPro5,1 | | ResetNvramEntry.efi | Required | Required to reset the system's NVRAM | -| OpenHfsPlus.efi | Optional | Open sourced HFS+ driver, but slower than Apple's proprietary driver | +| OpenHfsPlus.efi | Optional | Open sourced HFS+ driver, but slower than Apple's proprietary driver. Do not use on Mojave or older. | + +Those are already base files included in the repository. You'll have to check with your hardware to see if you need anything additional. + +As outlined in [Gathering files -> Firmware Drivers](https://dortania.github.io/OpenCore-Install-Guide/ktext.html#firmware-drivers) you will see a table that states [HfsPlus.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi) is a required Driver. + +Personally from my experience, I've been fine using OpenHfsPlus.efi on Catalina+ MacPro7,1 but you should first try with [HfsPlus.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi), please download and add that to your OpenCore EFI, per Dortania guidelines. -There are already base files included in the repository. You'll have to check with your hardware to see if you need anything additional. As outlined in [Gathering files -> Firmware Drivers](https://dortania.github.io/OpenCore-Install-Guide/ktext.html#firmware-drivers) you will see a table that states [HfsPlus.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi) is a required Driver. Personally from my experience, I've been fine using OpenHfsPlus.efi but you should first try with [HfsPlus.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi), please download and add that to your OpenCore EFI. +Other applicable drivers that are not included but may be required: + +| Driver | Status | Description | +| ----- | ----- | ----- | +| [HfsPlusLegacy.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlusLegacy.efi) | Required | Only required if you are Mojave or earlier, required for MacPro5,1 | +| [HfsPlus.efi](https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi) | Required | Apple's proprietary driver for HFS volumes, is preferred but not included OOB. Use only on MacPro7,1 Catalina+ Targets. | ## You can now continue to the next page. diff --git a/docs/_infocenter/01-FileOverview/03-Kexts.md b/docs/_infocenter/01-FileOverview/03-Kexts.md index 18efd49..b3cb2e3 100644 --- a/docs/_infocenter/01-FileOverview/03-Kexts.md +++ b/docs/_infocenter/01-FileOverview/03-Kexts.md @@ -8,7 +8,18 @@ nav_order: 4 # Kexts #### This section has been derived from the Kexts section via Gathering files. It may be out of date. Please refer to latest documentation when possible. -Here is a basic chart of a Kext, its use, and the status of the requirement. Check with the hardware you'll be passing through if you need any Kexts. For example, Samsung NVMe should be using NVMeFix.kext for better voltage and temperature management by macOS. +Here is a basic chart of a Kext, its use, and the status of the requirement. + +For those starting off, it's highly recommended to only use the following kexts to simply boot and install Mac OS X / macOS. + +| Kext | Target | Description | +| ----- | ----- | ----- | +| [AppleMCEReporterDisabler](https://github.com/acidanthera/bugtracker/files/3703498/AppleMCEReporterDisabler.kext.zip) | MacPro7,1 | Required on macOS 12.3 and later on AMD systems and dual-socket Intel systems, and on KVM VMs. | +| [Lilu](https://github.com/acidanthera/Lilu) | MacPro7,1 / MacPro5,1 | A "patch engine", a lot of kexts depend on it for patching frameworks at kernel runtime. Required for AppleALC, WhateverGreen, VirtualSMC and many other kexts. Without Lilu, they will fail to inject. | + +Once you've reached the desktop and are preparing for GPU Passthrough, come back and check with the hardware you'll be passing through if you need any Kexts. + +For example, Samsung NVMe should be using NVMeFix.kext for better voltage and temperature management by macOS. | Kext | Status | Description | | ----- | ----- | ----- | diff --git a/docs/_infocenter/01-FileOverview/index.md b/docs/_infocenter/01-FileOverview/index.md index 48d6fba..3fdb8d7 100644 --- a/docs/_infocenter/01-FileOverview/index.md +++ b/docs/_infocenter/01-FileOverview/index.md @@ -10,4 +10,4 @@ has_toc: true

-

A quick overview of all the folders in OpenCore!

\ No newline at end of file +

A quick overview of all the folders in OpenCore!

diff --git a/docs/_infocenter/06-FetchingInstaller/01-Recovery/03-Installation.md b/docs/_infocenter/06-FetchingInstaller/01-Recovery/03-Installation.md index 7bd3521..5b4d324 100644 --- a/docs/_infocenter/06-FetchingInstaller/01-Recovery/03-Installation.md +++ b/docs/_infocenter/06-FetchingInstaller/01-Recovery/03-Installation.md @@ -12,7 +12,7 @@ nav_order: 4 OpenCore Menu, shows recoveryOS detected. {: .headsup } -Booting from the RecoveryOS image on the OpenCore Disk Image, is known to take anywhere from a few seconds, to a minute to load! You are not frozen. Simply wait for macOS to finish loading. +Booting from the RecoveryOS image on the OpenCore Disk Image, is known to take anywhere from a few seconds, to 2 minutes to load! You are not frozen. Simply wait for macOS to finish loading. OpenCore is copying the DMG to RAM, and this process can take a while. diff --git a/docs/_infocenter/07-XML/LEGACY/00-ImportingXML.md b/docs/_infocenter/07-XML/LEGACY/00-ImportingXML.md new file mode 100644 index 0000000..8571aa9 --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/00-ImportingXML.md @@ -0,0 +1,28 @@ +--- +layout: default +title: Importing XML +parent: DarwinLegacyKVM.xml +grand_parent: XML Import/Usage +nav_order: 1 +--- + +# Importing XML +#### This imports a blank Virtual Machine titled "DarwinLegacyKVM" ready to be used for macOS Guests. + +Run the following command in the root directory of DarwinKVM: + +``virsh --connect qemu:///system define DarwinLegacyKVM.xml`` + +Which will now allow you to view it in Virt-Manager. + + + +Notice this template is missing a few things you must set up. + +- Has no default Display +- Has no drives configured +- Has no NIC configured + +Let's go through these steps quickly. + +## You can now continue to the next page. diff --git a/docs/_infocenter/07-XML/LEGACY/01-ConfigDisplay.md b/docs/_infocenter/07-XML/LEGACY/01-ConfigDisplay.md new file mode 100644 index 0000000..c3f6f4e --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/01-ConfigDisplay.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Configure Virtio Display +parent: DarwinLegacyKVM.xml +grand_parent: XML Import/Usage +nav_order: 2 +--- + +# Configuring Virtio Display +#### This is required to have a display. + +Select the "Add Hardware" button and navigate to Graphics. Select the ``Listen Type:`` to ``None``. then select the ``Finish`` button. + + + +Select the Video tab on the left-hand side, and choose the ``VGA`` model. + + + +## You can now continue to the next page. diff --git a/docs/_infocenter/07-XML/LEGACY/02-ConfigDrives.md b/docs/_infocenter/07-XML/LEGACY/02-ConfigDrives.md new file mode 100644 index 0000000..8db16bc --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/02-ConfigDrives.md @@ -0,0 +1,33 @@ +--- +layout: default +title: Configure Storage Drives +parent: DarwinLegacyKVM.xml +grand_parent: XML Import/Usage +nav_order: 3 +--- + +# Configure VirtIO Drives +#### This is required to boot OpenCore and recoveryOS. + +## Adding OpenCore Disk + +Select the "Add Hardware" button to bring up the Storage prompt. Select the OpenCore image via the "Manage..." button. The ``Bus type:`` should be set to SATA. Cache mode set to None, and Discard mode is set to Unmap. + + + +Don't forget to set it as your boot drive. + + + +## Creating a Virtual SSD for installation + +{: .headsup } +If you're looking to passthrough a physical drive on your system to act as the main storage for the Virtual Machine, substitute this section. Requires macOS compatible SSD/NVMe Hardware. + +To create a virtual SSD, when selecting the "Add Hardware" button to bring up the Storage prompt, there is a + button in the current libvirt images directory. You can choose any size you'd like but I suggest the standard 128G, 256GB, 512GB, 1024GB. + +Here you can see me creating the disk image I'll be installing macOS on. + + + +## You can now continue to the next page. diff --git a/docs/_infocenter/07-XML/LEGACY/03-ConfigNIC.md b/docs/_infocenter/07-XML/LEGACY/03-ConfigNIC.md new file mode 100644 index 0000000..5c3922d --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/03-ConfigNIC.md @@ -0,0 +1,26 @@ +--- +layout: default +title: Configure NIC for Virtual Machine +parent: DarwinLegacyKVM.xml +grand_parent: XML Import/Usage +nav_order: 4 +--- + +# Configure Virtual Machine NIC +#### This is required to download macOS via recoveryOS, as well as will be the general ethernet connection in the Virtual Machine. + +## Using the Default Network + +Select the "Add Hardware" button and choose the Network category on the left-hand side. You can now see your network source settings + +For the default network you simply have to set the model depending on your target Mac OS X Installation. + +### For Mac OS X 10.11 (El Capitan)+ utilize the ``vmxnet3`` ethernet adapter model. + + + +### For older OS X Targets, utilize the Intel e1000 ethernet adapter model. + + + +## You can now continue to the next page. diff --git a/docs/_infocenter/07-XML/LEGACY/04-Review.md b/docs/_infocenter/07-XML/LEGACY/04-Review.md new file mode 100644 index 0000000..e93c686 --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/04-Review.md @@ -0,0 +1,21 @@ +--- +layout: default +title: Finished Example +parent: DarwinLegacyKVM.xml +grand_parent: XML Import/Usage +nav_order: 5 +--- + +# Finished Example +#### Notice the display, drives, and NIC added. + + + +

Depending on your decision of using the Recovery or Offline Installer, you may now proceed to installing the OS.

+ +{: .warning } +No instructions specific to Legacy OS X has not been made for this section yet, you're currently on your own with only one example... + +

An example of installing via recoveryOS is shown here

+ +

An example of installing via Offline is shown here

diff --git a/docs/_infocenter/07-XML/LEGACY/index.md b/docs/_infocenter/07-XML/LEGACY/index.md new file mode 100644 index 0000000..b3f3552 --- /dev/null +++ b/docs/_infocenter/07-XML/LEGACY/index.md @@ -0,0 +1,11 @@ +--- +layout: default +title: DarwinLegacyKVM.xml +parent: XML Import/Usage +has_children: true +nav_order: 2 +--- + +

+ +

diff --git a/docs/_infocenter/07-XML/PPC/index.md b/docs/_infocenter/07-XML/PPC/index.md index 70ddb21..2977d3c 100644 --- a/docs/_infocenter/07-XML/PPC/index.md +++ b/docs/_infocenter/07-XML/PPC/index.md @@ -3,7 +3,7 @@ layout: default title: DarwinPPC.xml parent: XML Import/Usage has_children: true -nav_order: 1 +nav_order: 3 ---

diff --git a/docs/_installguides/00-Sequoia/09-Complete.md b/docs/_installguides/00-Sequoia/09-Complete.md index 5ce2557..11a181b 100644 --- a/docs/_installguides/00-Sequoia/09-Complete.md +++ b/docs/_installguides/00-Sequoia/09-Complete.md @@ -9,7 +9,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/01-Sonoma/09-Complete.md b/docs/_installguides/01-Sonoma/09-Complete.md index 723e225..70bf23d 100644 --- a/docs/_installguides/01-Sonoma/09-Complete.md +++ b/docs/_installguides/01-Sonoma/09-Complete.md @@ -9,7 +9,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/02-Ventura/09-Complete.md b/docs/_installguides/02-Ventura/09-Complete.md index d7cd5e0..ddcd1d7 100644 --- a/docs/_installguides/02-Ventura/09-Complete.md +++ b/docs/_installguides/02-Ventura/09-Complete.md @@ -11,7 +11,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/03-Monterey/09-Complete.md b/docs/_installguides/03-Monterey/09-Complete.md index e5becf7..70d7aaf 100644 --- a/docs/_installguides/03-Monterey/09-Complete.md +++ b/docs/_installguides/03-Monterey/09-Complete.md @@ -11,7 +11,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/04-BigSur/09-Complete.md b/docs/_installguides/04-BigSur/09-Complete.md index 81514a3..2cba63e 100644 --- a/docs/_installguides/04-BigSur/09-Complete.md +++ b/docs/_installguides/04-BigSur/09-Complete.md @@ -9,7 +9,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/05-Catalina/09-Complete.md b/docs/_installguides/05-Catalina/09-Complete.md index 64fcab5..e612517 100644 --- a/docs/_installguides/05-Catalina/09-Complete.md +++ b/docs/_installguides/05-Catalina/09-Complete.md @@ -9,7 +9,7 @@ nav_order: 10

- +

Congratulations! You've configured your config.plist!

diff --git a/docs/_installguides/06-Mojave/00-Introduction.md b/docs/_installguides/06-Mojave/00-Introduction.md new file mode 100644 index 0000000..7fb57a3 --- /dev/null +++ b/docs/_installguides/06-Mojave/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Mojave +nav_order: 1 +--- + +

Mojave Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/06-Mojave/01-ACPI.md b/docs/_installguides/06-Mojave/01-ACPI.md new file mode 100644 index 0000000..c028073 --- /dev/null +++ b/docs/_installguides/06-Mojave/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Mojave +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/06-Mojave/02-Booter.md b/docs/_installguides/06-Mojave/02-Booter.md new file mode 100644 index 0000000..e8e56f7 --- /dev/null +++ b/docs/_installguides/06-Mojave/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Mojave +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/06-Mojave/03-DeviceProperties.md b/docs/_installguides/06-Mojave/03-DeviceProperties.md new file mode 100644 index 0000000..d0e1850 --- /dev/null +++ b/docs/_installguides/06-Mojave/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Mojave +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/06-Mojave/04-Kernel.md b/docs/_installguides/06-Mojave/04-Kernel.md new file mode 100644 index 0000000..e52ba62 --- /dev/null +++ b/docs/_installguides/06-Mojave/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Mojave +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/06-Mojave/05-Misc.md b/docs/_installguides/06-Mojave/05-Misc.md new file mode 100644 index 0000000..f8a59db --- /dev/null +++ b/docs/_installguides/06-Mojave/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Mojave +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/06-Mojave/06-NVRAM.md b/docs/_installguides/06-Mojave/06-NVRAM.md new file mode 100644 index 0000000..7c05d7f --- /dev/null +++ b/docs/_installguides/06-Mojave/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Mojave +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/06-Mojave/07-PlatformInfo.md b/docs/_installguides/06-Mojave/07-PlatformInfo.md new file mode 100644 index 0000000..9c68f42 --- /dev/null +++ b/docs/_installguides/06-Mojave/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Mojave +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/06-Mojave/08-UEFI.md b/docs/_installguides/06-Mojave/08-UEFI.md new file mode 100644 index 0000000..b0c0387 --- /dev/null +++ b/docs/_installguides/06-Mojave/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Mojave +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/06-Mojave/09-Complete.md b/docs/_installguides/06-Mojave/09-Complete.md new file mode 100644 index 0000000..8fd1a2f --- /dev/null +++ b/docs/_installguides/06-Mojave/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Mojave +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/06-Mojave/index.md b/docs/_installguides/06-Mojave/index.md index fef0167..ebf8c7b 100644 --- a/docs/_installguides/06-Mojave/index.md +++ b/docs/_installguides/06-Mojave/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Mojave!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/07-HighSierra/00-Introduction.md b/docs/_installguides/07-HighSierra/00-Introduction.md new file mode 100644 index 0000000..b55bebc --- /dev/null +++ b/docs/_installguides/07-HighSierra/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: High Sierra +nav_order: 1 +--- + +

High Sierra Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/07-HighSierra/01-ACPI.md b/docs/_installguides/07-HighSierra/01-ACPI.md new file mode 100644 index 0000000..b898806 --- /dev/null +++ b/docs/_installguides/07-HighSierra/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: High Sierra +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/07-HighSierra/02-Booter.md b/docs/_installguides/07-HighSierra/02-Booter.md new file mode 100644 index 0000000..b71d693 --- /dev/null +++ b/docs/_installguides/07-HighSierra/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: High Sierra +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/07-HighSierra/03-DeviceProperties.md b/docs/_installguides/07-HighSierra/03-DeviceProperties.md new file mode 100644 index 0000000..0d01496 --- /dev/null +++ b/docs/_installguides/07-HighSierra/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: High Sierra +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/07-HighSierra/04-Kernel.md b/docs/_installguides/07-HighSierra/04-Kernel.md new file mode 100644 index 0000000..4768ef3 --- /dev/null +++ b/docs/_installguides/07-HighSierra/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: High Sierra +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/07-HighSierra/05-Misc.md b/docs/_installguides/07-HighSierra/05-Misc.md new file mode 100644 index 0000000..5c30720 --- /dev/null +++ b/docs/_installguides/07-HighSierra/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: High Sierra +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/07-HighSierra/06-NVRAM.md b/docs/_installguides/07-HighSierra/06-NVRAM.md new file mode 100644 index 0000000..75d8af4 --- /dev/null +++ b/docs/_installguides/07-HighSierra/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: High Sierra +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/07-HighSierra/07-PlatformInfo.md b/docs/_installguides/07-HighSierra/07-PlatformInfo.md new file mode 100644 index 0000000..a45ac72 --- /dev/null +++ b/docs/_installguides/07-HighSierra/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: High Sierra +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/07-HighSierra/08-UEFI.md b/docs/_installguides/07-HighSierra/08-UEFI.md new file mode 100644 index 0000000..4061e2e --- /dev/null +++ b/docs/_installguides/07-HighSierra/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: High Sierra +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/07-HighSierra/09-Complete.md b/docs/_installguides/07-HighSierra/09-Complete.md new file mode 100644 index 0000000..0e9f6f7 --- /dev/null +++ b/docs/_installguides/07-HighSierra/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: High Sierra +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/07-HighSierra/index.md b/docs/_installguides/07-HighSierra/index.md index d9344b1..fc20603 100644 --- a/docs/_installguides/07-HighSierra/index.md +++ b/docs/_installguides/07-HighSierra/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of High Sierra!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/08-Sierra/00-Introduction.md b/docs/_installguides/08-Sierra/00-Introduction.md new file mode 100644 index 0000000..0092def --- /dev/null +++ b/docs/_installguides/08-Sierra/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Sierra +nav_order: 1 +--- + +

Sierra Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/08-Sierra/01-ACPI.md b/docs/_installguides/08-Sierra/01-ACPI.md new file mode 100644 index 0000000..eaea4ba --- /dev/null +++ b/docs/_installguides/08-Sierra/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Sierra +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/08-Sierra/02-Booter.md b/docs/_installguides/08-Sierra/02-Booter.md new file mode 100644 index 0000000..5a32f71 --- /dev/null +++ b/docs/_installguides/08-Sierra/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Sierra +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/08-Sierra/03-DeviceProperties.md b/docs/_installguides/08-Sierra/03-DeviceProperties.md new file mode 100644 index 0000000..f367948 --- /dev/null +++ b/docs/_installguides/08-Sierra/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Sierra +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/08-Sierra/04-Kernel.md b/docs/_installguides/08-Sierra/04-Kernel.md new file mode 100644 index 0000000..e240289 --- /dev/null +++ b/docs/_installguides/08-Sierra/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Sierra +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/08-Sierra/05-Misc.md b/docs/_installguides/08-Sierra/05-Misc.md new file mode 100644 index 0000000..a9857b1 --- /dev/null +++ b/docs/_installguides/08-Sierra/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Sierra +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/08-Sierra/06-NVRAM.md b/docs/_installguides/08-Sierra/06-NVRAM.md new file mode 100644 index 0000000..a7aa130 --- /dev/null +++ b/docs/_installguides/08-Sierra/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Sierra +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/08-Sierra/07-PlatformInfo.md b/docs/_installguides/08-Sierra/07-PlatformInfo.md new file mode 100644 index 0000000..473af2d --- /dev/null +++ b/docs/_installguides/08-Sierra/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Sierra +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/08-Sierra/08-UEFI.md b/docs/_installguides/08-Sierra/08-UEFI.md new file mode 100644 index 0000000..09f5c1c --- /dev/null +++ b/docs/_installguides/08-Sierra/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Sierra +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/08-Sierra/09-Complete.md b/docs/_installguides/08-Sierra/09-Complete.md new file mode 100644 index 0000000..9e2ad08 --- /dev/null +++ b/docs/_installguides/08-Sierra/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Sierra +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/08-Sierra/index.md b/docs/_installguides/08-Sierra/index.md index f5cb315..4d91f66 100644 --- a/docs/_installguides/08-Sierra/index.md +++ b/docs/_installguides/08-Sierra/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Sierra!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/09-ElCapitan/00-Introduction.md b/docs/_installguides/09-ElCapitan/00-Introduction.md new file mode 100644 index 0000000..16dea1c --- /dev/null +++ b/docs/_installguides/09-ElCapitan/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: El Capitan +nav_order: 1 +--- + +

El Capitan Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/09-ElCapitan/01-ACPI.md b/docs/_installguides/09-ElCapitan/01-ACPI.md new file mode 100644 index 0000000..aedc41f --- /dev/null +++ b/docs/_installguides/09-ElCapitan/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: El Capitan +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/09-ElCapitan/02-Booter.md b/docs/_installguides/09-ElCapitan/02-Booter.md new file mode 100644 index 0000000..5b6c67a --- /dev/null +++ b/docs/_installguides/09-ElCapitan/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: El Capitan +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/09-ElCapitan/03-DeviceProperties.md b/docs/_installguides/09-ElCapitan/03-DeviceProperties.md new file mode 100644 index 0000000..7ab1835 --- /dev/null +++ b/docs/_installguides/09-ElCapitan/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: El Capitan +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/09-ElCapitan/04-Kernel.md b/docs/_installguides/09-ElCapitan/04-Kernel.md new file mode 100644 index 0000000..98e92bc --- /dev/null +++ b/docs/_installguides/09-ElCapitan/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: El Capitan +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/09-ElCapitan/05-Misc.md b/docs/_installguides/09-ElCapitan/05-Misc.md new file mode 100644 index 0000000..299bb7c --- /dev/null +++ b/docs/_installguides/09-ElCapitan/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: El Capitan +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/09-ElCapitan/06-NVRAM.md b/docs/_installguides/09-ElCapitan/06-NVRAM.md new file mode 100644 index 0000000..4d4e869 --- /dev/null +++ b/docs/_installguides/09-ElCapitan/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: El Capitan +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/09-ElCapitan/07-PlatformInfo.md b/docs/_installguides/09-ElCapitan/07-PlatformInfo.md new file mode 100644 index 0000000..6b4c16e --- /dev/null +++ b/docs/_installguides/09-ElCapitan/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: El Capitan +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/09-ElCapitan/08-UEFI.md b/docs/_installguides/09-ElCapitan/08-UEFI.md new file mode 100644 index 0000000..81775b0 --- /dev/null +++ b/docs/_installguides/09-ElCapitan/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: El Capitan +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/09-ElCapitan/09-Complete.md b/docs/_installguides/09-ElCapitan/09-Complete.md new file mode 100644 index 0000000..55c12e5 --- /dev/null +++ b/docs/_installguides/09-ElCapitan/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: El Capitan +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/09-ElCapitan/index.md b/docs/_installguides/09-ElCapitan/index.md index 158510d..884cbd1 100644 --- a/docs/_installguides/09-ElCapitan/index.md +++ b/docs/_installguides/09-ElCapitan/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of El Capitan!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/10-Yosemite/00-Introduction.md b/docs/_installguides/10-Yosemite/00-Introduction.md new file mode 100644 index 0000000..0a4c64f --- /dev/null +++ b/docs/_installguides/10-Yosemite/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Yosemite +nav_order: 1 +--- + +

Yosemite Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/10-Yosemite/01-ACPI.md b/docs/_installguides/10-Yosemite/01-ACPI.md new file mode 100644 index 0000000..fc74a1d --- /dev/null +++ b/docs/_installguides/10-Yosemite/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Yosemite +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/10-Yosemite/02-Booter.md b/docs/_installguides/10-Yosemite/02-Booter.md new file mode 100644 index 0000000..209e30f --- /dev/null +++ b/docs/_installguides/10-Yosemite/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Yosemite +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/10-Yosemite/03-DeviceProperties.md b/docs/_installguides/10-Yosemite/03-DeviceProperties.md new file mode 100644 index 0000000..a6da98c --- /dev/null +++ b/docs/_installguides/10-Yosemite/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Yosemite +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/10-Yosemite/04-Kernel.md b/docs/_installguides/10-Yosemite/04-Kernel.md new file mode 100644 index 0000000..94213fb --- /dev/null +++ b/docs/_installguides/10-Yosemite/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Yosemite +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/10-Yosemite/05-Misc.md b/docs/_installguides/10-Yosemite/05-Misc.md new file mode 100644 index 0000000..91e56b9 --- /dev/null +++ b/docs/_installguides/10-Yosemite/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Yosemite +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/10-Yosemite/06-NVRAM.md b/docs/_installguides/10-Yosemite/06-NVRAM.md new file mode 100644 index 0000000..e0ec7ab --- /dev/null +++ b/docs/_installguides/10-Yosemite/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Yosemite +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/10-Yosemite/07-PlatformInfo.md b/docs/_installguides/10-Yosemite/07-PlatformInfo.md new file mode 100644 index 0000000..76bf180 --- /dev/null +++ b/docs/_installguides/10-Yosemite/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Yosemite +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/10-Yosemite/08-UEFI.md b/docs/_installguides/10-Yosemite/08-UEFI.md new file mode 100644 index 0000000..6eb6018 --- /dev/null +++ b/docs/_installguides/10-Yosemite/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Yosemite +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/10-Yosemite/09-Complete.md b/docs/_installguides/10-Yosemite/09-Complete.md new file mode 100644 index 0000000..218e701 --- /dev/null +++ b/docs/_installguides/10-Yosemite/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Yosemite +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/10-Yosemite/index.md b/docs/_installguides/10-Yosemite/index.md index 1d19aa8..cfee43a 100644 --- a/docs/_installguides/10-Yosemite/index.md +++ b/docs/_installguides/10-Yosemite/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Yosemite!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/11-Mavericks/00-Introduction.md b/docs/_installguides/11-Mavericks/00-Introduction.md new file mode 100644 index 0000000..a86a65b --- /dev/null +++ b/docs/_installguides/11-Mavericks/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Mavericks +nav_order: 1 +--- + +

Mavericks Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/11-Mavericks/01-ACPI.md b/docs/_installguides/11-Mavericks/01-ACPI.md new file mode 100644 index 0000000..2c2862a --- /dev/null +++ b/docs/_installguides/11-Mavericks/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Mavericks +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/11-Mavericks/02-Booter.md b/docs/_installguides/11-Mavericks/02-Booter.md new file mode 100644 index 0000000..4fb9762 --- /dev/null +++ b/docs/_installguides/11-Mavericks/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Mavericks +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/11-Mavericks/03-DeviceProperties.md b/docs/_installguides/11-Mavericks/03-DeviceProperties.md new file mode 100644 index 0000000..d3cc264 --- /dev/null +++ b/docs/_installguides/11-Mavericks/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Mavericks +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/11-Mavericks/04-Kernel.md b/docs/_installguides/11-Mavericks/04-Kernel.md new file mode 100644 index 0000000..87a37d3 --- /dev/null +++ b/docs/_installguides/11-Mavericks/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Mavericks +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/11-Mavericks/05-Misc.md b/docs/_installguides/11-Mavericks/05-Misc.md new file mode 100644 index 0000000..32627e7 --- /dev/null +++ b/docs/_installguides/11-Mavericks/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Mavericks +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/11-Mavericks/06-NVRAM.md b/docs/_installguides/11-Mavericks/06-NVRAM.md new file mode 100644 index 0000000..46aa1fa --- /dev/null +++ b/docs/_installguides/11-Mavericks/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Mavericks +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/11-Mavericks/07-PlatformInfo.md b/docs/_installguides/11-Mavericks/07-PlatformInfo.md new file mode 100644 index 0000000..e6322fd --- /dev/null +++ b/docs/_installguides/11-Mavericks/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Mavericks +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/11-Mavericks/08-UEFI.md b/docs/_installguides/11-Mavericks/08-UEFI.md new file mode 100644 index 0000000..d5a7bfb --- /dev/null +++ b/docs/_installguides/11-Mavericks/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Mavericks +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/11-Mavericks/09-Complete.md b/docs/_installguides/11-Mavericks/09-Complete.md new file mode 100644 index 0000000..7b00672 --- /dev/null +++ b/docs/_installguides/11-Mavericks/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Mavericks +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/11-Mavericks/index.md b/docs/_installguides/11-Mavericks/index.md index 6ed9388..25b1152 100644 --- a/docs/_installguides/11-Mavericks/index.md +++ b/docs/_installguides/11-Mavericks/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Mavericks!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/12-MountainLion/00-Introduction.md b/docs/_installguides/12-MountainLion/00-Introduction.md new file mode 100644 index 0000000..93aa6e1 --- /dev/null +++ b/docs/_installguides/12-MountainLion/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Mountain Lion +nav_order: 1 +--- + +

Mountain Lion Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/12-MountainLion/01-ACPI.md b/docs/_installguides/12-MountainLion/01-ACPI.md new file mode 100644 index 0000000..2950ec0 --- /dev/null +++ b/docs/_installguides/12-MountainLion/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Mountain Lion +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/12-MountainLion/02-Booter.md b/docs/_installguides/12-MountainLion/02-Booter.md new file mode 100644 index 0000000..6256238 --- /dev/null +++ b/docs/_installguides/12-MountainLion/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Mountain Lion +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/12-MountainLion/03-DeviceProperties.md b/docs/_installguides/12-MountainLion/03-DeviceProperties.md new file mode 100644 index 0000000..89bf5be --- /dev/null +++ b/docs/_installguides/12-MountainLion/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Mountain Lion +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/12-MountainLion/04-Kernel.md b/docs/_installguides/12-MountainLion/04-Kernel.md new file mode 100644 index 0000000..db31d04 --- /dev/null +++ b/docs/_installguides/12-MountainLion/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Mountain Lion +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/12-MountainLion/05-Misc.md b/docs/_installguides/12-MountainLion/05-Misc.md new file mode 100644 index 0000000..11a25a6 --- /dev/null +++ b/docs/_installguides/12-MountainLion/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Mountain Lion +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/12-MountainLion/06-NVRAM.md b/docs/_installguides/12-MountainLion/06-NVRAM.md new file mode 100644 index 0000000..d4e8cd2 --- /dev/null +++ b/docs/_installguides/12-MountainLion/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Mountain Lion +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/12-MountainLion/07-PlatformInfo.md b/docs/_installguides/12-MountainLion/07-PlatformInfo.md new file mode 100644 index 0000000..98be94e --- /dev/null +++ b/docs/_installguides/12-MountainLion/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Mountain Lion +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/12-MountainLion/08-UEFI.md b/docs/_installguides/12-MountainLion/08-UEFI.md new file mode 100644 index 0000000..6b9e92f --- /dev/null +++ b/docs/_installguides/12-MountainLion/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Mountain Lion +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/12-MountainLion/09-Complete.md b/docs/_installguides/12-MountainLion/09-Complete.md new file mode 100644 index 0000000..b4dc192 --- /dev/null +++ b/docs/_installguides/12-MountainLion/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Mountain Lion +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/12-MountainLion/index.md b/docs/_installguides/12-MountainLion/index.md index 428d310..612d700 100644 --- a/docs/_installguides/12-MountainLion/index.md +++ b/docs/_installguides/12-MountainLion/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Mountain Lion!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/13-Lion/00-Introduction.md b/docs/_installguides/13-Lion/00-Introduction.md new file mode 100644 index 0000000..a70ab12 --- /dev/null +++ b/docs/_installguides/13-Lion/00-Introduction.md @@ -0,0 +1,32 @@ +--- +layout: default +title: Introduction +parent: Lion +nav_order: 1 +--- + +

Lion Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/13-Lion/01-ACPI.md b/docs/_installguides/13-Lion/01-ACPI.md new file mode 100644 index 0000000..a8576bf --- /dev/null +++ b/docs/_installguides/13-Lion/01-ACPI.md @@ -0,0 +1,28 @@ +--- +layout: default +title: ACPI +parent: Lion +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/13-Lion/02-Booter.md b/docs/_installguides/13-Lion/02-Booter.md new file mode 100644 index 0000000..6a975a4 --- /dev/null +++ b/docs/_installguides/13-Lion/02-Booter.md @@ -0,0 +1,35 @@ +--- +layout: default +title: Booter +parent: Lion +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/13-Lion/03-DeviceProperties.md b/docs/_installguides/13-Lion/03-DeviceProperties.md new file mode 100644 index 0000000..4da66a5 --- /dev/null +++ b/docs/_installguides/13-Lion/03-DeviceProperties.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Device Properties +parent: Lion +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/13-Lion/04-Kernel.md b/docs/_installguides/13-Lion/04-Kernel.md new file mode 100644 index 0000000..2985577 --- /dev/null +++ b/docs/_installguides/13-Lion/04-Kernel.md @@ -0,0 +1,61 @@ +--- +layout: default +title: Kernel +parent: Lion +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/13-Lion/05-Misc.md b/docs/_installguides/13-Lion/05-Misc.md new file mode 100644 index 0000000..dd146f2 --- /dev/null +++ b/docs/_installguides/13-Lion/05-Misc.md @@ -0,0 +1,63 @@ +--- +layout: default +title: Misc +parent: Lion +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/13-Lion/06-NVRAM.md b/docs/_installguides/13-Lion/06-NVRAM.md new file mode 100644 index 0000000..3c368c2 --- /dev/null +++ b/docs/_installguides/13-Lion/06-NVRAM.md @@ -0,0 +1,61 @@ +--- +layout: default +title: NVRAM +parent: Lion +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/13-Lion/07-PlatformInfo.md b/docs/_installguides/13-Lion/07-PlatformInfo.md new file mode 100644 index 0000000..8c36f51 --- /dev/null +++ b/docs/_installguides/13-Lion/07-PlatformInfo.md @@ -0,0 +1,69 @@ +--- +layout: default +title: PlatformInfo +parent: Lion +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/13-Lion/08-UEFI.md b/docs/_installguides/13-Lion/08-UEFI.md new file mode 100644 index 0000000..334df00 --- /dev/null +++ b/docs/_installguides/13-Lion/08-UEFI.md @@ -0,0 +1,60 @@ +--- +layout: default +title: UEFI +parent: Lion +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/13-Lion/09-Complete.md b/docs/_installguides/13-Lion/09-Complete.md new file mode 100644 index 0000000..4ad4239 --- /dev/null +++ b/docs/_installguides/13-Lion/09-Complete.md @@ -0,0 +1,16 @@ +--- +layout: default +title: Completion +parent: Lion +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/13-Lion/index.md b/docs/_installguides/13-Lion/index.md index 5f4355a..84a20b0 100644 --- a/docs/_installguides/13-Lion/index.md +++ b/docs/_installguides/13-Lion/index.md @@ -11,6 +11,3 @@ has_toc: true

This guide targets the latest version of Lion!

- -{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/16-Tiger/cli/00-FetchingInstaller.md b/docs/_installguides/14-SnowLeopard/PowerPC/cli/00-FetchingInstaller.md similarity index 94% rename from docs/_installguides/16-Tiger/cli/00-FetchingInstaller.md rename to docs/_installguides/14-SnowLeopard/PowerPC/cli/00-FetchingInstaller.md index 9f0f5d9..ce6a84d 100644 --- a/docs/_installguides/16-Tiger/cli/00-FetchingInstaller.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/cli/00-FetchingInstaller.md @@ -1,8 +1,7 @@ --- layout: default title: Fetching Install Disks -parent: Using QEMU via CLI -grand_parent: Tiger +parent: PowerPC (CLI) nav_order: 1 --- diff --git a/docs/_installguides/16-Tiger/cli/01-MacintoshHD.md b/docs/_installguides/14-SnowLeopard/PowerPC/cli/01-MacintoshHD.md similarity index 97% rename from docs/_installguides/16-Tiger/cli/01-MacintoshHD.md rename to docs/_installguides/14-SnowLeopard/PowerPC/cli/01-MacintoshHD.md index 9c47db6..5569f5a 100644 --- a/docs/_installguides/16-Tiger/cli/01-MacintoshHD.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/cli/01-MacintoshHD.md @@ -1,8 +1,7 @@ --- layout: default title: Creating Macintosh HD -parent: Using QEMU via CLI -grand_parent: Tiger +parent: PowerPC (CLI) nav_order: 2 --- diff --git a/docs/_installguides/14-SnowLeopard/PowerPC/cli/02-ConfiguringCLI.md b/docs/_installguides/14-SnowLeopard/PowerPC/cli/02-ConfiguringCLI.md new file mode 100644 index 0000000..193a7ba --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/PowerPC/cli/02-ConfiguringCLI.md @@ -0,0 +1,39 @@ +--- +layout: default +title: Configuring QEMU +parent: PowerPC (CLI) +nav_order: 3 +--- + +# Configuring QEMU +#### Customization of a script to boot PowerMac via CLI. + +{: .headsup } +None of the Configuring CLI pages include steps of within the OS X installation! This page assumes you can go through the OS X installation process on your own, but explains key knowledge for changing the boot order for post installation. + +All DarwinPPC Installation Targets come with an accompanying Template.sh located within the ``DarwinPPC`` folder from the root of the DarwinKVM repository. + +This guide targets Snow Leopard, as such, we will use ``Template-SnowLeopard.sh`` to run this release via CLI. + +Theoretically, all you have to do at the moment is simply update the following line to tell QEMU to boot from the Installation Media that is on the CD-ROM Drive. + +{: .important } +Specify C to boot from the Hard Drive, and specify D to boot from the first CD-ROM device ! + +```bash +-boot d \ +``` + +You can now start the Virtual Machine, and run through the Mac OS X Cheetah Installation Process. + +Once prompted to restart the machine, you should instead fully shut it down. + +Update the script once more, to return the boot option to the C drive. + +```bash +-boot c \ +``` + +After a few seconds, you will begin seeing Verbose Boot of your installation. + +## You can now continue to the next page. diff --git a/docs/_installguides/14-SnowLeopard/PowerPC/cli/03-Completion.md b/docs/_installguides/14-SnowLeopard/PowerPC/cli/03-Completion.md new file mode 100644 index 0000000..e7ea726 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/PowerPC/cli/03-Completion.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Completion +parent: PowerPC (CLI) +nav_order: 4 +--- + +

+ +

+ +

Experiencing PowerMac with ease!

+

Enjoy a screenshot of Snow Leopard. Don't forget to set the boot to C drive!

+ + diff --git a/docs/_installguides/14-SnowLeopard/PowerPC/cli/index.md b/docs/_installguides/14-SnowLeopard/PowerPC/cli/index.md new file mode 100644 index 0000000..d262c71 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/PowerPC/cli/index.md @@ -0,0 +1,11 @@ +--- +layout: default +title: PowerPC (CLI) +parent: Snow Leopard +has_children: true +nav_order: 2 +--- + +

+ +

diff --git a/docs/_installguides/16-Tiger/virtman/00-FetchingInstaller.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/00-FetchingInstaller.md similarity index 97% rename from docs/_installguides/16-Tiger/virtman/00-FetchingInstaller.md rename to docs/_installguides/14-SnowLeopard/PowerPC/virtman/00-FetchingInstaller.md index aedefdc..f22cf23 100644 --- a/docs/_installguides/16-Tiger/virtman/00-FetchingInstaller.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/00-FetchingInstaller.md @@ -2,7 +2,6 @@ layout: default title: Fetching Install Disks parent: Using Virt-Manager -grand_parent: Tiger nav_order: 1 --- diff --git a/docs/_installguides/16-Tiger/virtman/01-ImportingXML.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/01-ImportingXML.md similarity index 96% rename from docs/_installguides/16-Tiger/virtman/01-ImportingXML.md rename to docs/_installguides/14-SnowLeopard/PowerPC/virtman/01-ImportingXML.md index 2e3efe5..36bd83e 100644 --- a/docs/_installguides/16-Tiger/virtman/01-ImportingXML.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/01-ImportingXML.md @@ -2,7 +2,6 @@ layout: default title: Importing XML parent: Using Virt-Manager -grand_parent: Tiger nav_order: 2 --- diff --git a/docs/_installguides/16-Tiger/virtman/02-MacintoshHD.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/02-MacintoshHD.md similarity index 99% rename from docs/_installguides/16-Tiger/virtman/02-MacintoshHD.md rename to docs/_installguides/14-SnowLeopard/PowerPC/virtman/02-MacintoshHD.md index 20b63f8..fe719db 100644 --- a/docs/_installguides/16-Tiger/virtman/02-MacintoshHD.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/02-MacintoshHD.md @@ -2,7 +2,6 @@ layout: default title: Creating Macintosh HD parent: Using Virt-Manager -grand_parent: Tiger nav_order: 3 --- diff --git a/docs/_installguides/14-SnowLeopard/PowerPC/virtman/03-ConfiguringXML.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/03-ConfiguringXML.md new file mode 100644 index 0000000..00e29b0 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/03-ConfiguringXML.md @@ -0,0 +1,62 @@ +--- +layout: default +title: Configuring XML Paths +parent: Using Virt-Manager +nav_order: 4 +--- + +# Configuring XML Paths +#### How to set paths for disk images. + +{: headsup } +This will not go through the installation process! It simply goes over pointing the Hard Disk image and Install Disk image path, to the correct fields. When stopping/starting the VM, double check the boot device chosen in the XML. + +To begin, confirm you have downloaded the correct Install Disks for Snow Leopard. + + + +Let's begin by updating the Machine Type to the following mac99 with via=pmu flag. We must also enable the USB Controller. + +```xml + + +``` + +You can now edit the XML paths to define your named Hard Disk image. + + + +In this example image, you can see I named my image Macintosh.img, so you will update the path to reflect that. + +```xml + + +``` + +You can now modify and update the Install Disk path. + +```xml + + +``` + +In this example, we point to the OS X 10.5.6 ISO Install Media from DarwinFetch. + +{: .important } +This guide does not go over installation! You must change the following section to boot via CD-ROM or Hard Drive depending on what part of the installation process you are on. + +```xml + + +``` + +We now have to use USB input for Leopard and onwards, so to do so, we can add the following snippet after the -boot snippet. + +```xml + + + + +``` + +## You can now continue to the next page. diff --git a/docs/_installguides/14-SnowLeopard/PowerPC/virtman/04-Completion.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/04-Completion.md new file mode 100644 index 0000000..d8cfc6b --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/04-Completion.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Completion +parent: Using Virt-Manager +nav_order: 5 +--- + +

+ +

+ +

Experiencing PowerMac with ease!

+

Enjoy a screenshot of Snow Leopard. Don't forget to set the boot to C drive!

+ + diff --git a/docs/_installguides/16-Tiger/virtman/index.md b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/index.md similarity index 70% rename from docs/_installguides/16-Tiger/virtman/index.md rename to docs/_installguides/14-SnowLeopard/PowerPC/virtman/index.md index 670c299..d8345b3 100644 --- a/docs/_installguides/16-Tiger/virtman/index.md +++ b/docs/_installguides/14-SnowLeopard/PowerPC/virtman/index.md @@ -1,9 +1,9 @@ --- layout: default -title: Using Virt-Manager -parent: Tiger +title: PowerPC (Virt-Manager) +parent: Snow Leopard has_children: true -nav_order: 2 +nav_order: 3 ---

diff --git a/docs/_installguides/14-SnowLeopard/index.md b/docs/_installguides/14-SnowLeopard/index.md index ab5d3bb..dbe8c9e 100644 --- a/docs/_installguides/14-SnowLeopard/index.md +++ b/docs/_installguides/14-SnowLeopard/index.md @@ -12,5 +12,5 @@ has_toc: true

This guide targets the latest version of Snow Leopard!

-{: .warning } -This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. +{: .headsup } +The ToC is to select a method for emulating or virtualizing this target! diff --git a/docs/_installguides/14-SnowLeopard/x86_64/00-Introduction.md b/docs/_installguides/14-SnowLeopard/x86_64/00-Introduction.md new file mode 100644 index 0000000..5dbfdbe --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/00-Introduction.md @@ -0,0 +1,33 @@ +--- +layout: default +title: Introduction +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 1 +--- + +

Snow Leopard Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/01-ACPI.md b/docs/_installguides/14-SnowLeopard/x86_64/01-ACPI.md new file mode 100644 index 0000000..99aa728 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/01-ACPI.md @@ -0,0 +1,29 @@ +--- +layout: default +title: ACPI +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 2 +--- + +# ACPI + + + +## 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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/02-Booter.md b/docs/_installguides/14-SnowLeopard/x86_64/02-Booter.md new file mode 100644 index 0000000..37bb237 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/02-Booter.md @@ -0,0 +1,36 @@ +--- +layout: default +title: Booter +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 3 +--- + +# Booter + + + +## 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 | +| ----- | ----- | ----- | +| AllowRelocationBlock | True | The relocation block is a scratch buffer allocated in the lower 4 GB used for loading the kernel and related structures by EfiBoot on firmware where the lower memory region is otherwise occupied by (assumed) non-runtime data | +| EnableSafeModeSlide | False | This quirk attempts to patch the boot.efi file to remove this limitation and to allow using other values (from 1 to 255 inclusive). | +| EnableWriteUnprotector | False | This option bypasses W^X permissions in code pages of UEFI runtime services by removing write protection (WP) bit from CR0 register during their execution. | +| FixupAppleEfiImages | True | Modern secure PE loaders will refuse to load boot.efi images from Mac OS X 10.4 to macOS 10.12 due to these files containing W^X errors (in all versions) and illegal overlapping sections (in 10.4 and 10.5 32-bit versions only). This quirk detects these issues and pre-processes such images in memory, so that a modern loader will accept them. | +| ProvideCustomSlide | False | Provide custom KASLR slide on low memory. | +| RebuildAppleMemoryMap | True | Generate macOS compatible Memory Map. | +| SetupVirtualMap | False | Some types of firmware access memory by virtual addresses after a SetVirtualAddresses call, resulting in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory. | +| SyncRuntimePermissions | True | Update memory permissions for the runtime environment. | + +## You can now continue to the next page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/03-DeviceProperties.md b/docs/_installguides/14-SnowLeopard/x86_64/03-DeviceProperties.md new file mode 100644 index 0000000..f013fe2 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/03-DeviceProperties.md @@ -0,0 +1,21 @@ +--- +layout: default +title: Device Properties +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 4 +--- + +# Device Properties + + + +## 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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/04-Kernel.md b/docs/_installguides/14-SnowLeopard/x86_64/04-Kernel.md new file mode 100644 index 0000000..4a0e4a6 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/04-Kernel.md @@ -0,0 +1,62 @@ +--- +layout: default +title: Kernel +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 5 +--- + +# Kernel + + + +## 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. We won't need those options. Set DummyPowerManagement to True. + +| Key | Type | Value | +| Cpuid1Data | Data | <> | +| Cpuid1Mask | Data | <> | +| DummyPowerManagement | Boolean | True | + +## 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 both the kernel and Kexts. We can ignore this section. + +## Quirks + +Don't skip over this section, we'll be changing the following: + +| Quirk | Value | Description | +| ----- | ----- | ----- | +| DisableLinkeditJettison | False | This option lets Lilu.kext, and possibly other kexts, function in macOS Big Sur at their best performance levels without requiring the keepsyms=1 boot argument. | +| PanicNoKextDump | True | Disables dumping of the loaded kexts when a kernel panic occurs, greatly helps with reading the panic output and debugging. | +| PowerTimeoutKernelPanic | True | Helps fix kernel panics relating to power timeouts with Apple drivers in OS X Catalina and above, most notably with digital audio. | +| ProvideCurrentCpuInfo | True | Provides current CPU info to the kernel. On KVM and other hypervisors it provides precomputed MSR 35h values to avoid some kernel panics. | + +## 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 | True | Improves Mac OS X 10.6 (Snow Leopard) booting times by utilizing a different algorithm | +| 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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/05-Misc.md b/docs/_installguides/14-SnowLeopard/x86_64/05-Misc.md new file mode 100644 index 0000000..2cd9b3c --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/05-Misc.md @@ -0,0 +1,64 @@ +--- +layout: default +title: Misc +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 6 +--- + +# Misc + + + +## 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 | +| ----- | ----- | ----- | +| HibernateMode | String | RTC | + +## 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, do not skip. 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 | +| SecureBootModel | String | Disabled | +| Vault | String | Optional | + +## 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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/06-NVRAM.md b/docs/_installguides/14-SnowLeopard/x86_64/06-NVRAM.md new file mode 100644 index 0000000..1963e77 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/06-NVRAM.md @@ -0,0 +1,62 @@ +--- +layout: default +title: NVRAM +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 7 +--- + +# NVRAM + + + +## 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. | +| nehalem_error_disable | This disables AppleTyMCEDriver so the virtual RAM on MacPro5,1 does not cause a kernel panic. | + +### 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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/07-PlatformInfo.md b/docs/_installguides/14-SnowLeopard/x86_64/07-PlatformInfo.md new file mode 100644 index 0000000..a7d4300 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/07-PlatformInfo.md @@ -0,0 +1,70 @@ +--- +layout: default +title: PlatformInfo +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 8 +--- + +# Platform Info + + + +## 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 Westmere example, we'll choose the MacPro5,1 SMBIOS. + +This will give us output similar to the following: + +```bash + ####################################################### + # MacPro5,1 SMBIOS Info # +####################################################### + +Type: MacPro5,1 +Serial: C000000000H +Board Serial: C00000000000V +SmUUID: 10000003-4009-4006-8005-C00000000001 +Apple ROM: 600000000007 + +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 page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/08-UEFI.md b/docs/_installguides/14-SnowLeopard/x86_64/08-UEFI.md new file mode 100644 index 0000000..bb8bc12 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/08-UEFI.md @@ -0,0 +1,61 @@ +--- +layout: default +title: UEFI +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 9 +--- + +# UEFI + + + + +## APFS + +By default, OpenCore only loads APFS drivers from macOS Big Sur and newer. Because you are booting Mac OS X Catalina or earlier, you need to set a new minimum version/date. Not setting this can result in OpenCore not finding your macOS partition! + +| Key | Type | Value | +| ----- | ----- | ----- | +| MinDate | Integer | -1 | +| MinVersion | Integer | -1 | + +## Audio + +Related to AudioDxe settings, for us we'll be ignoring (leave as default). This is unrelated to audio support in macOS. This is mainly for adding back the Chime sound when macOS starts on bare metal situations. + +## ConnectDrivers + +Forces .efi drivers, change to NO will automatically connect added UEFI drivers. This can make booting slightly faster, but not all drivers connect themselves. E.g. certain file system drivers may not load. Leave it as default for our use case. + +## Drivers + +This section of the config is meant to expose the various Drivers 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. + +## Input + +Related to boot.efi keyboard passthrough used for FileVault and Hotkey support, leave everything here as default as we have no use for these quirks. + +## Output + +Relating to OpenCore's visual output, do not skip, we will edit the following: + +| Key | Type | Value | +| ----- | ----- | ----- | +| GopPassThrough | String | Enabled | +| ReconnectGraphicsOnConnect | Boolean | True | +| UgaPassThrough | Boolean | True | + +## ProtocolOverrides + +Mainly relevant for Virtual Machines, legacy Macs and FileVault users. leave everything here as default as we have no use for these quirks. + +## Quirks + +Relating to quirks with the UEFI environment, leave everything here as default as we have no use for these quirks. + +## ReservedMemory + +Used for exempting certain memory regions from OSes to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory. Use of this quirk is not covered in this guide. We also won't be needing it anyways, safely ignore. + +## You can now continue to the next page. diff --git a/docs/_installguides/14-SnowLeopard/x86_64/09-Complete.md b/docs/_installguides/14-SnowLeopard/x86_64/09-Complete.md new file mode 100644 index 0000000..38d3da5 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/09-Complete.md @@ -0,0 +1,17 @@ +--- +layout: default +title: Completion +parent: x86_64 (OpenCore) +grand_parent: Snow Leopard +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/14-SnowLeopard/x86_64/index.md b/docs/_installguides/14-SnowLeopard/x86_64/index.md new file mode 100644 index 0000000..89712f0 --- /dev/null +++ b/docs/_installguides/14-SnowLeopard/x86_64/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: x86_64 (OpenCore) +parent: Snow Leopard +has_children: true +nav_order: 1 +--- + +

+ +

+ +

This guide targets the latest version of Leopard!

diff --git a/docs/_installguides/15-Leopard/cli/00-FetchingInstaller.md b/docs/_installguides/15-Leopard/PowerPC/cli/00-FetchingInstaller.md similarity index 94% rename from docs/_installguides/15-Leopard/cli/00-FetchingInstaller.md rename to docs/_installguides/15-Leopard/PowerPC/cli/00-FetchingInstaller.md index 80fb394..ce6a84d 100644 --- a/docs/_installguides/15-Leopard/cli/00-FetchingInstaller.md +++ b/docs/_installguides/15-Leopard/PowerPC/cli/00-FetchingInstaller.md @@ -1,8 +1,7 @@ --- layout: default title: Fetching Install Disks -parent: Using QEMU via CLI -grand_parent: Leopard +parent: PowerPC (CLI) nav_order: 1 --- diff --git a/docs/_installguides/15-Leopard/cli/01-MacintoshHD.md b/docs/_installguides/15-Leopard/PowerPC/cli/01-MacintoshHD.md similarity index 97% rename from docs/_installguides/15-Leopard/cli/01-MacintoshHD.md rename to docs/_installguides/15-Leopard/PowerPC/cli/01-MacintoshHD.md index 272dca3..5569f5a 100644 --- a/docs/_installguides/15-Leopard/cli/01-MacintoshHD.md +++ b/docs/_installguides/15-Leopard/PowerPC/cli/01-MacintoshHD.md @@ -1,8 +1,7 @@ --- layout: default title: Creating Macintosh HD -parent: Using QEMU via CLI -grand_parent: Leopard +parent: PowerPC (CLI) nav_order: 2 --- diff --git a/docs/_installguides/15-Leopard/cli/02-ConfiguringCLI.md b/docs/_installguides/15-Leopard/PowerPC/cli/02-ConfiguringCLI.md similarity index 96% rename from docs/_installguides/15-Leopard/cli/02-ConfiguringCLI.md rename to docs/_installguides/15-Leopard/PowerPC/cli/02-ConfiguringCLI.md index c51125e..edb5a8d 100644 --- a/docs/_installguides/15-Leopard/cli/02-ConfiguringCLI.md +++ b/docs/_installguides/15-Leopard/PowerPC/cli/02-ConfiguringCLI.md @@ -1,8 +1,7 @@ --- layout: default title: Configuring QEMU -parent: Using QEMU via CLI -grand_parent: Leopard +parent: PowerPC (CLI) nav_order: 3 --- diff --git a/docs/_installguides/15-Leopard/cli/03-Completion.md b/docs/_installguides/15-Leopard/PowerPC/cli/03-Completion.md similarity index 90% rename from docs/_installguides/15-Leopard/cli/03-Completion.md rename to docs/_installguides/15-Leopard/PowerPC/cli/03-Completion.md index befb91d..941ced6 100644 --- a/docs/_installguides/15-Leopard/cli/03-Completion.md +++ b/docs/_installguides/15-Leopard/PowerPC/cli/03-Completion.md @@ -1,8 +1,7 @@ --- layout: default title: Completion -parent: Using QEMU via CLI -grand_parent: Leopard +parent: PowerPC (CLI) nav_order: 4 --- diff --git a/docs/_installguides/15-Leopard/PowerPC/cli/index.md b/docs/_installguides/15-Leopard/PowerPC/cli/index.md new file mode 100644 index 0000000..0202dc1 --- /dev/null +++ b/docs/_installguides/15-Leopard/PowerPC/cli/index.md @@ -0,0 +1,11 @@ +--- +layout: default +title: PowerPC (CLI) +parent: Leopard +has_children: true +nav_order: 2 +--- + +

+ +

diff --git a/docs/_installguides/15-Leopard/virtman/00-FetchingInstaller.md b/docs/_installguides/15-Leopard/PowerPC/virtman/00-FetchingInstaller.md similarity index 97% rename from docs/_installguides/15-Leopard/virtman/00-FetchingInstaller.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/00-FetchingInstaller.md index be42668..f22cf23 100644 --- a/docs/_installguides/15-Leopard/virtman/00-FetchingInstaller.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/00-FetchingInstaller.md @@ -2,7 +2,6 @@ layout: default title: Fetching Install Disks parent: Using Virt-Manager -grand_parent: Leopard nav_order: 1 --- diff --git a/docs/_installguides/15-Leopard/virtman/01-ImportingXML.md b/docs/_installguides/15-Leopard/PowerPC/virtman/01-ImportingXML.md similarity index 96% rename from docs/_installguides/15-Leopard/virtman/01-ImportingXML.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/01-ImportingXML.md index d9a6566..36bd83e 100644 --- a/docs/_installguides/15-Leopard/virtman/01-ImportingXML.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/01-ImportingXML.md @@ -2,7 +2,6 @@ layout: default title: Importing XML parent: Using Virt-Manager -grand_parent: Leopard nav_order: 2 --- diff --git a/docs/_installguides/15-Leopard/virtman/02-MacintoshHD.md b/docs/_installguides/15-Leopard/PowerPC/virtman/02-MacintoshHD.md similarity index 99% rename from docs/_installguides/15-Leopard/virtman/02-MacintoshHD.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/02-MacintoshHD.md index b156015..fe719db 100644 --- a/docs/_installguides/15-Leopard/virtman/02-MacintoshHD.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/02-MacintoshHD.md @@ -2,7 +2,6 @@ layout: default title: Creating Macintosh HD parent: Using Virt-Manager -grand_parent: Leopard nav_order: 3 --- diff --git a/docs/_installguides/15-Leopard/virtman/03-ConfiguringXML.md b/docs/_installguides/15-Leopard/PowerPC/virtman/03-ConfiguringXML.md similarity index 99% rename from docs/_installguides/15-Leopard/virtman/03-ConfiguringXML.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/03-ConfiguringXML.md index 01b3659..2d78ab5 100644 --- a/docs/_installguides/15-Leopard/virtman/03-ConfiguringXML.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/03-ConfiguringXML.md @@ -2,7 +2,6 @@ layout: default title: Configuring XML Paths parent: Using Virt-Manager -grand_parent: Leopard nav_order: 4 --- diff --git a/docs/_installguides/15-Leopard/virtman/04-Completion.md b/docs/_installguides/15-Leopard/PowerPC/virtman/04-Completion.md similarity index 95% rename from docs/_installguides/15-Leopard/virtman/04-Completion.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/04-Completion.md index f021c5e..7045be9 100644 --- a/docs/_installguides/15-Leopard/virtman/04-Completion.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/04-Completion.md @@ -2,7 +2,6 @@ layout: default title: Completion parent: Using Virt-Manager -grand_parent: Leopard nav_order: 5 --- diff --git a/docs/_installguides/15-Leopard/virtman/index.md b/docs/_installguides/15-Leopard/PowerPC/virtman/index.md similarity index 76% rename from docs/_installguides/15-Leopard/virtman/index.md rename to docs/_installguides/15-Leopard/PowerPC/virtman/index.md index a46b597..cee90e7 100644 --- a/docs/_installguides/15-Leopard/virtman/index.md +++ b/docs/_installguides/15-Leopard/PowerPC/virtman/index.md @@ -1,9 +1,9 @@ --- layout: default -title: Using Virt-Manager +title: PowerPC (Virt-Manager) parent: Leopard has_children: true -nav_order: 2 +nav_order: 3 ---

diff --git a/docs/_installguides/15-Leopard/cli/index.md b/docs/_installguides/15-Leopard/cli/index.md deleted file mode 100644 index f7f09b1..0000000 --- a/docs/_installguides/15-Leopard/cli/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default -title: Using QEMU via CLI -parent: Leopard -has_children: true -nav_order: 1 ---- - -

- -

diff --git a/docs/_installguides/15-Leopard/index.md b/docs/_installguides/15-Leopard/index.md index 7427777..1c755b4 100644 --- a/docs/_installguides/15-Leopard/index.md +++ b/docs/_installguides/15-Leopard/index.md @@ -13,4 +13,4 @@ has_toc: true

This guide targets the latest version of Leopard!

{: .headsup } -The ToC is to select a method for emulating this target! +The ToC is to select a method for emulating or virtualizing this target! diff --git a/docs/_installguides/15-Leopard/x86_64/00-Introduction.md b/docs/_installguides/15-Leopard/x86_64/00-Introduction.md new file mode 100644 index 0000000..538d370 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/00-Introduction.md @@ -0,0 +1,33 @@ +--- +layout: default +title: Introduction +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 1 +--- + +

Leopard Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/15-Leopard/x86_64/01-ACPI.md b/docs/_installguides/15-Leopard/x86_64/01-ACPI.md new file mode 100644 index 0000000..edfe349 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/01-ACPI.md @@ -0,0 +1,14 @@ +--- +layout: default +title: ACPI +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 2 +--- + +# ACPI + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/02-Booter.md b/docs/_installguides/15-Leopard/x86_64/02-Booter.md new file mode 100644 index 0000000..5333511 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/02-Booter.md @@ -0,0 +1,14 @@ +--- +layout: default +title: Booter +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 3 +--- + +# Booter + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/03-DeviceProperties.md b/docs/_installguides/15-Leopard/x86_64/03-DeviceProperties.md new file mode 100644 index 0000000..ed19474 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/03-DeviceProperties.md @@ -0,0 +1,14 @@ +--- +layout: default +title: Device Properties +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 4 +--- + +# Device Properties + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/04-Kernel.md b/docs/_installguides/15-Leopard/x86_64/04-Kernel.md new file mode 100644 index 0000000..099dd6b --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/04-Kernel.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Kernel +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 5 +--- + +# Kernel + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/05-Misc.md b/docs/_installguides/15-Leopard/x86_64/05-Misc.md new file mode 100644 index 0000000..cb69ba9 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/05-Misc.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Misc +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 6 +--- + +# Misc + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/06-NVRAM.md b/docs/_installguides/15-Leopard/x86_64/06-NVRAM.md new file mode 100644 index 0000000..4f06274 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/06-NVRAM.md @@ -0,0 +1,15 @@ +--- +layout: default +title: NVRAM +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 7 +--- + +# NVRAM + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/07-PlatformInfo.md b/docs/_installguides/15-Leopard/x86_64/07-PlatformInfo.md new file mode 100644 index 0000000..fd9bfd4 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/07-PlatformInfo.md @@ -0,0 +1,14 @@ +--- +layout: default +title: PlatformInfo +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 8 +--- + +# Platform Info + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/08-UEFI.md b/docs/_installguides/15-Leopard/x86_64/08-UEFI.md new file mode 100644 index 0000000..a0a0925 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/08-UEFI.md @@ -0,0 +1,15 @@ +--- +layout: default +title: UEFI +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 9 +--- + +# UEFI + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/15-Leopard/x86_64/09-Complete.md b/docs/_installguides/15-Leopard/x86_64/09-Complete.md new file mode 100644 index 0000000..e2810b1 --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/09-Complete.md @@ -0,0 +1,17 @@ +--- +layout: default +title: Completion +parent: x86_64 (OpenCore) +grand_parent: Leopard +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/15-Leopard/x86_64/index.md b/docs/_installguides/15-Leopard/x86_64/index.md new file mode 100644 index 0000000..f70df3b --- /dev/null +++ b/docs/_installguides/15-Leopard/x86_64/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: x86_64 (OpenCore) +parent: Leopard +has_children: true +nav_order: 1 +--- + +

+ +

+ +

This guide targets the latest version of Leopard!

+ +{: .warning } +This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/_installguides/16-Tiger/PowerPC/cli/00-FetchingInstaller.md b/docs/_installguides/16-Tiger/PowerPC/cli/00-FetchingInstaller.md new file mode 100644 index 0000000..70300d3 --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/cli/00-FetchingInstaller.md @@ -0,0 +1,24 @@ +--- +layout: default +title: Fetching Install Disks +parent: PowerPC (CLI) +grand_parent: Tiger +nav_order: 1 +--- + +

+ +

+ +{: .headsup } +If you've already Fetched the Install Disks, continue to the next page! + +To begin, you will first need to use [DarwinFetch](https://github.com/royalgraphx/DarwinFetch) to get the installer for this target release. + +QEMU can take paths for: + +``.iso``, ``.img``, ``.qcow2``, ``.cdr``, and even ``.toast`` image files! + +Visit the [following section](../../../../../infocenter/06-FetchingInstaller/03-PowerPC/00-Introduction/) for instructions on how to use and fetch the install files for this release. Then return once completed. + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/PowerPC/cli/01-MacintoshHD.md b/docs/_installguides/16-Tiger/PowerPC/cli/01-MacintoshHD.md new file mode 100644 index 0000000..fba31de --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/cli/01-MacintoshHD.md @@ -0,0 +1,37 @@ +--- +layout: default +title: Creating Macintosh HD +parent: PowerPC (CLI) +grand_parent: Tiger +nav_order: 2 +--- + +# Creating Macintosh HD +#### Creation of a blank .img for your PowerMac. +#### This section has been derived from the DiskProvision Github. + +
+To continue in this guide you will need a disk image that will act as the Macintosh HD disk for installing Mac OS X to. In this page you'll get a basic overview on how to utilize the DiskProvision tool that's in DarwinKVM to complete this requirement. + +First, navigate to the DiskProvision directory so you can use the launcher. If you need any help understanding this section, please refer to the DiskProvision [README.md](https://github.com/royalgraphx/DiskProvision/blob/main/README.md) for better context. + +## Basic Walkthrough + +When you first cd into the ``DiskProvision/`` folder, run ``./DiskProvision``, you will then be presented with a menu with a few options. + + + +To get started, enter 1 to create a new blank disk image. You will be asked a few questions about the Name, Size, and type of image. + +{: .note } +Feel free to call it as you'd like, as it doesn't have to be "Macintosh", You can also use a QCOW2 if you'd like. Recommended to make the image atleast 16GB in size for comfortable operation. + + + + + +You will be brought back to the main menu afterwards. We're done! We can now use this image within QEMU via Command Line options. + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/cli/02-ConfiguringCLI.md b/docs/_installguides/16-Tiger/PowerPC/cli/02-ConfiguringCLI.md similarity index 98% rename from docs/_installguides/16-Tiger/cli/02-ConfiguringCLI.md rename to docs/_installguides/16-Tiger/PowerPC/cli/02-ConfiguringCLI.md index 5579d70..9995cb4 100644 --- a/docs/_installguides/16-Tiger/cli/02-ConfiguringCLI.md +++ b/docs/_installguides/16-Tiger/PowerPC/cli/02-ConfiguringCLI.md @@ -1,7 +1,7 @@ --- layout: default title: Configuring QEMU -parent: Using QEMU via CLI +parent: PowerPC (CLI) grand_parent: Tiger nav_order: 3 --- diff --git a/docs/_installguides/16-Tiger/cli/03-Completion.md b/docs/_installguides/16-Tiger/PowerPC/cli/03-Completion.md similarity index 60% rename from docs/_installguides/16-Tiger/cli/03-Completion.md rename to docs/_installguides/16-Tiger/PowerPC/cli/03-Completion.md index 83f10bf..e363388 100644 --- a/docs/_installguides/16-Tiger/cli/03-Completion.md +++ b/docs/_installguides/16-Tiger/PowerPC/cli/03-Completion.md @@ -1,16 +1,16 @@ --- layout: default title: Completion -parent: Using QEMU via CLI +parent: PowerPC (CLI) grand_parent: Tiger nav_order: 4 ---

- +

Experiencing PowerMac with ease!

Enjoy a screenshot of Tiger. Don't forget to set the boot to C drive!

- + diff --git a/docs/_installguides/16-Tiger/PowerPC/cli/index.md b/docs/_installguides/16-Tiger/PowerPC/cli/index.md new file mode 100644 index 0000000..6f8148b --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/cli/index.md @@ -0,0 +1,11 @@ +--- +layout: default +title: PowerPC (CLI) +parent: Tiger +has_children: true +nav_order: 3 +--- + +

+ +

diff --git a/docs/_installguides/16-Tiger/PowerPC/virtman/00-FetchingInstaller.md b/docs/_installguides/16-Tiger/PowerPC/virtman/00-FetchingInstaller.md new file mode 100644 index 0000000..b77e396 --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/00-FetchingInstaller.md @@ -0,0 +1,24 @@ +--- +layout: default +title: Fetching Install Disks +parent: PowerPC (Virt-Manager) +grand_parent: Tiger +nav_order: 1 +--- + +

+ +

+ +{: .headsup } +If you've already Fetched the Install Disks, continue to the next page! + +To begin, you will first need to use [DarwinFetch](https://github.com/royalgraphx/DarwinFetch) to get the installer for this target release. + +The XML for Virt-Manager has qemu:args that will take paths for: + +``.iso``, ``.img``, ``.qcow2``, ``.cdr``, and even ``.toast`` image files! + +Visit the [following section](../../../../../infocenter/06-FetchingInstaller/03-PowerPC/00-Introduction/) for instructions on how to use and fetch the install files for this release. Then return once completed. + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/PowerPC/virtman/01-ImportingXML.md b/docs/_installguides/16-Tiger/PowerPC/virtman/01-ImportingXML.md new file mode 100644 index 0000000..fd740e3 --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/01-ImportingXML.md @@ -0,0 +1,20 @@ +--- +layout: default +title: Importing XML +parent: PowerPC (Virt-Manager) +grand_parent: Tiger +nav_order: 2 +--- + +

+ +

+ +{: .headsup } +If you've already imported the XML, continue to the next page! + +To begin, you will first need to Import the PowerPC XML to view it in Virtual Machine Manager. + +Visit the [following section](../../../../../infocenter/07-XML/PPC/index) for instructions on how to import and use the XML. Then return once completed. + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/PowerPC/virtman/02-MacintoshHD.md b/docs/_installguides/16-Tiger/PowerPC/virtman/02-MacintoshHD.md new file mode 100644 index 0000000..0e0d045 --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/02-MacintoshHD.md @@ -0,0 +1,37 @@ +--- +layout: default +title: Creating Macintosh HD +parent: PowerPC (Virt-Manager) +grand_parent: Tiger +nav_order: 3 +--- + +# Creating Macintosh HD +#### Creation of a blank .img for your PowerMac. +#### This section has been derived from the DiskProvision Github. + +
+To continue in this guide you will need a disk image that will act as the Macintosh HD disk for installing Mac OS X to. In this page you'll get a basic overview on how to utilize the DiskProvision tool that's in DarwinKVM to complete this requirement. + +First, navigate to the DiskProvision directory so you can use the launcher. If you need any help understanding this section, please refer to the DiskProvision [README.md](https://github.com/royalgraphx/DiskProvision/blob/main/README.md) for better context. + +## Basic Walkthrough + +When you first cd into the ``DiskProvision/`` folder, run ``./DiskProvision``, you will then be presented with a menu with a few options. + + + +To get started, enter 1 to create a new blank disk image. You will be asked a few questions about the Name, Size, and type of image. + +{: .note } +Feel free to call it as you'd like, as it doesn't have to be "Macintosh", You can also use a QCOW2 if you'd like. Recommended to make the image atleast 16GB in size for comfortable operation. + + + + + +You will be brought back to the main menu afterwards. We're done! We can now use this image within DarwinPPC's XML. + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/virtman/03-ConfiguringXML.md b/docs/_installguides/16-Tiger/PowerPC/virtman/03-ConfiguringXML.md similarity index 91% rename from docs/_installguides/16-Tiger/virtman/03-ConfiguringXML.md rename to docs/_installguides/16-Tiger/PowerPC/virtman/03-ConfiguringXML.md index c19ae48..63822ae 100644 --- a/docs/_installguides/16-Tiger/virtman/03-ConfiguringXML.md +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/03-ConfiguringXML.md @@ -1,7 +1,7 @@ --- layout: default title: Configuring XML Paths -parent: Using Virt-Manager +parent: PowerPC (Virt-Manager) grand_parent: Tiger nav_order: 4 --- @@ -14,11 +14,11 @@ This will not go through the installation process! It simply goes over pointing To begin, confirm you have downloaded the correct Install Disks for Tiger. - + You can now edit the XML paths to define your named Hard Disk image. - + In this example image, you can see I named my image Macintosh.img, so you will update the path to reflect that. diff --git a/docs/_installguides/16-Tiger/virtman/04-Completion.md b/docs/_installguides/16-Tiger/PowerPC/virtman/04-Completion.md similarity index 59% rename from docs/_installguides/16-Tiger/virtman/04-Completion.md rename to docs/_installguides/16-Tiger/PowerPC/virtman/04-Completion.md index 8571fb4..ec388a7 100644 --- a/docs/_installguides/16-Tiger/virtman/04-Completion.md +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/04-Completion.md @@ -1,16 +1,16 @@ --- layout: default title: Completion -parent: Using Virt-Manager +parent: PowerPC (Virt-Manager) grand_parent: Tiger nav_order: 5 ---

- +

Experiencing PowerMac with ease!

Enjoy a screenshot of Tiger. Don't forget to set the boot to C drive!

- + diff --git a/docs/_installguides/16-Tiger/PowerPC/virtman/index.md b/docs/_installguides/16-Tiger/PowerPC/virtman/index.md new file mode 100644 index 0000000..8c5e87e --- /dev/null +++ b/docs/_installguides/16-Tiger/PowerPC/virtman/index.md @@ -0,0 +1,13 @@ +--- +layout: default +title: PowerPC (Virt-Manager) +parent: Tiger +has_children: true +nav_order: 2 +--- + +

+ +

+ +This area describes how to use PowerPC and run Mac OS X via Virt-Manager with DarwinPPC.xml \ No newline at end of file diff --git a/docs/_installguides/16-Tiger/cli/index.md b/docs/_installguides/16-Tiger/cli/index.md deleted file mode 100644 index d0e71bd..0000000 --- a/docs/_installguides/16-Tiger/cli/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default -title: Using QEMU via CLI -parent: Tiger -has_children: true -nav_order: 1 ---- - -

- -

diff --git a/docs/_installguides/16-Tiger/index.md b/docs/_installguides/16-Tiger/index.md index bcd7d52..80f4e5e 100644 --- a/docs/_installguides/16-Tiger/index.md +++ b/docs/_installguides/16-Tiger/index.md @@ -13,4 +13,4 @@ has_toc: true

This guide targets the latest version of Tiger!

{: .headsup } -The ToC is to select a method for emulating this target! +The ToC is to select a method for emulating or virtualizing this target! diff --git a/docs/_installguides/16-Tiger/x86_64/00-Introduction.md b/docs/_installguides/16-Tiger/x86_64/00-Introduction.md new file mode 100644 index 0000000..e8b9f58 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/00-Introduction.md @@ -0,0 +1,33 @@ +--- +layout: default +title: Introduction +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 1 +--- + +

Tiger Configuration Guide

+

Download the following tools required for modifications.

+ +| 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. | + +

Be sure you meet the following requirements to begin configuring your OC.

+ +**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 page. diff --git a/docs/_installguides/16-Tiger/x86_64/01-ACPI.md b/docs/_installguides/16-Tiger/x86_64/01-ACPI.md new file mode 100644 index 0000000..4c5b754 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/01-ACPI.md @@ -0,0 +1,14 @@ +--- +layout: default +title: ACPI +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 2 +--- + +# ACPI + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/02-Booter.md b/docs/_installguides/16-Tiger/x86_64/02-Booter.md new file mode 100644 index 0000000..0ef8b9a --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/02-Booter.md @@ -0,0 +1,14 @@ +--- +layout: default +title: Booter +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 3 +--- + +# Booter + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/03-DeviceProperties.md b/docs/_installguides/16-Tiger/x86_64/03-DeviceProperties.md new file mode 100644 index 0000000..32f4343 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/03-DeviceProperties.md @@ -0,0 +1,14 @@ +--- +layout: default +title: Device Properties +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 4 +--- + +# Device Properties + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/04-Kernel.md b/docs/_installguides/16-Tiger/x86_64/04-Kernel.md new file mode 100644 index 0000000..2e26c40 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/04-Kernel.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Kernel +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 5 +--- + +# Kernel + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/05-Misc.md b/docs/_installguides/16-Tiger/x86_64/05-Misc.md new file mode 100644 index 0000000..47a37d3 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/05-Misc.md @@ -0,0 +1,15 @@ +--- +layout: default +title: Misc +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 6 +--- + +# Misc + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/06-NVRAM.md b/docs/_installguides/16-Tiger/x86_64/06-NVRAM.md new file mode 100644 index 0000000..4b3fbbc --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/06-NVRAM.md @@ -0,0 +1,15 @@ +--- +layout: default +title: NVRAM +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 7 +--- + +# NVRAM + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/07-PlatformInfo.md b/docs/_installguides/16-Tiger/x86_64/07-PlatformInfo.md new file mode 100644 index 0000000..bebe730 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/07-PlatformInfo.md @@ -0,0 +1,14 @@ +--- +layout: default +title: PlatformInfo +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 8 +--- + +# Platform Info + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/08-UEFI.md b/docs/_installguides/16-Tiger/x86_64/08-UEFI.md new file mode 100644 index 0000000..fe2a347 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/08-UEFI.md @@ -0,0 +1,15 @@ +--- +layout: default +title: UEFI +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 9 +--- + +# UEFI + + + + + +## You can now continue to the next page. diff --git a/docs/_installguides/16-Tiger/x86_64/09-Complete.md b/docs/_installguides/16-Tiger/x86_64/09-Complete.md new file mode 100644 index 0000000..026fbf7 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/09-Complete.md @@ -0,0 +1,17 @@ +--- +layout: default +title: Completion +parent: x86_64 (OpenCore) +grand_parent: Tiger +nav_order: 10 +--- + +

+ +

+ + + +

Congratulations! You've configured your config.plist!

+ +

You can now proceed to the Fetching Installer page!

diff --git a/docs/_installguides/16-Tiger/x86_64/index.md b/docs/_installguides/16-Tiger/x86_64/index.md new file mode 100644 index 0000000..1943830 --- /dev/null +++ b/docs/_installguides/16-Tiger/x86_64/index.md @@ -0,0 +1,16 @@ +--- +layout: default +title: x86_64 (OpenCore) +parent: Tiger +has_children: true +nav_order: 1 +--- + +

+ +

+ +

This guide targets the latest version of Tiger!

+ +{: .warning } +This section is under construction. It may have missing or incomplete information! Wait until this warning is no longer present, to follow the writeup. diff --git a/docs/assets/HeaderDarwinLegacyKVMxml.png b/docs/assets/HeaderDarwinLegacyKVMxml.png new file mode 100644 index 0000000..c1c5335 Binary files /dev/null and b/docs/assets/HeaderDarwinLegacyKVMxml.png differ diff --git a/docs/assets/OpenCoreEFIComplete2.png b/docs/assets/OpenCoreEFIComplete2.png new file mode 100644 index 0000000..740dc27 Binary files /dev/null and b/docs/assets/OpenCoreEFIComplete2.png differ diff --git a/docs/assets/OpenCoreProMacACPI.png b/docs/assets/OpenCoreProMacACPI.png new file mode 100644 index 0000000..fcdd4f5 Binary files /dev/null and b/docs/assets/OpenCoreProMacACPI.png differ diff --git a/docs/assets/OpenCoreProMacBooter.png b/docs/assets/OpenCoreProMacBooter.png new file mode 100644 index 0000000..3781967 Binary files /dev/null and b/docs/assets/OpenCoreProMacBooter.png differ diff --git a/docs/assets/OpenCoreProMacComplete.png b/docs/assets/OpenCoreProMacComplete.png new file mode 100644 index 0000000..5f9f4c1 Binary files /dev/null and b/docs/assets/OpenCoreProMacComplete.png differ diff --git a/docs/assets/OpenCoreProMacDevProps.png b/docs/assets/OpenCoreProMacDevProps.png new file mode 100644 index 0000000..0c4d173 Binary files /dev/null and b/docs/assets/OpenCoreProMacDevProps.png differ diff --git a/docs/assets/OpenCoreProMacKernel.png b/docs/assets/OpenCoreProMacKernel.png new file mode 100644 index 0000000..774265d Binary files /dev/null and b/docs/assets/OpenCoreProMacKernel.png differ diff --git a/docs/assets/OpenCoreProMacMisc.png b/docs/assets/OpenCoreProMacMisc.png new file mode 100644 index 0000000..b0d5b35 Binary files /dev/null and b/docs/assets/OpenCoreProMacMisc.png differ diff --git a/docs/assets/OpenCoreProMacNVRAM.png b/docs/assets/OpenCoreProMacNVRAM.png new file mode 100644 index 0000000..4ca94a1 Binary files /dev/null and b/docs/assets/OpenCoreProMacNVRAM.png differ diff --git a/docs/assets/OpenCoreProMacPlatformInfo.png b/docs/assets/OpenCoreProMacPlatformInfo.png new file mode 100644 index 0000000..e3a6943 Binary files /dev/null and b/docs/assets/OpenCoreProMacPlatformInfo.png differ diff --git a/docs/assets/OpenCoreProMacUEFI.png b/docs/assets/OpenCoreProMacUEFI.png new file mode 100644 index 0000000..d5a9e0f Binary files /dev/null and b/docs/assets/OpenCoreProMacUEFI.png differ diff --git a/docs/assets/OpenCoreProMacUEFI2.png b/docs/assets/OpenCoreProMacUEFI2.png new file mode 100644 index 0000000..e59f568 Binary files /dev/null and b/docs/assets/OpenCoreProMacUEFI2.png differ diff --git a/docs/assets/VManLegacyAddNICe1000.png b/docs/assets/VManLegacyAddNICe1000.png new file mode 100644 index 0000000..47326b9 Binary files /dev/null and b/docs/assets/VManLegacyAddNICe1000.png differ diff --git a/docs/assets/VManLegacyAddNICvmxnet3.png b/docs/assets/VManLegacyAddNICvmxnet3.png new file mode 100644 index 0000000..70e8237 Binary files /dev/null and b/docs/assets/VManLegacyAddNICvmxnet3.png differ diff --git a/docs/assets/VManLegacyKVMAddDisplay1.png b/docs/assets/VManLegacyKVMAddDisplay1.png new file mode 100644 index 0000000..0451f5f Binary files /dev/null and b/docs/assets/VManLegacyKVMAddDisplay1.png differ diff --git a/docs/assets/VManLegacyKVMAddDisplay2.png b/docs/assets/VManLegacyKVMAddDisplay2.png new file mode 100644 index 0000000..04e14b3 Binary files /dev/null and b/docs/assets/VManLegacyKVMAddDisplay2.png differ diff --git a/docs/assets/VManLegacyKVMAddSATA.png b/docs/assets/VManLegacyKVMAddSATA.png new file mode 100644 index 0000000..0dfaa40 Binary files /dev/null and b/docs/assets/VManLegacyKVMAddSATA.png differ diff --git a/docs/assets/VManLegacyKVMCompleteExample1.png b/docs/assets/VManLegacyKVMCompleteExample1.png new file mode 100644 index 0000000..d285349 Binary files /dev/null and b/docs/assets/VManLegacyKVMCompleteExample1.png differ diff --git a/docs/assets/VManLegacyKVMSetBootDisk.png b/docs/assets/VManLegacyKVMSetBootDisk.png new file mode 100644 index 0000000..7f293f9 Binary files /dev/null and b/docs/assets/VManLegacyKVMSetBootDisk.png differ diff --git a/docs/assets/VManTemplateImportLegacy.png b/docs/assets/VManTemplateImportLegacy.png new file mode 100644 index 0000000..b3564c9 Binary files /dev/null and b/docs/assets/VManTemplateImportLegacy.png differ diff --git a/docs/assets/VManTemplateImportLegacyAlt.png b/docs/assets/VManTemplateImportLegacyAlt.png new file mode 100644 index 0000000..a6609d2 Binary files /dev/null and b/docs/assets/VManTemplateImportLegacyAlt.png differ diff --git a/docs/docs/01-WelcomeArea/03-SettingExpectations.md b/docs/docs/01-WelcomeArea/03-SettingExpectations.md index cfaf34d..b0818fd 100644 --- a/docs/docs/01-WelcomeArea/03-SettingExpectations.md +++ b/docs/docs/01-WelcomeArea/03-SettingExpectations.md @@ -54,18 +54,29 @@ nav_order: 4
In this repository depending on the architecture...

-

For Intel

+

For x86_64

-1. ``// TODO`` - - ``// TODO`` +1. [**DarwinLegacyKVM.xml**](https://github.com/royalgraphx/DarwinKVM/blob/main/DarwinLegacyKVM.xml), which is a prepared Virt-Manager importable XML. + - Uses latest Q35 Machine Type provided by QEMU. + - Uses Intel Westmere E56XX CPU Vendor String. + - Added Apple SMC chip for DSMOS, with it's key. + - Stripped of redundant controllers and devices. + - Disabled ACPI PCI Hotplug with Bridge Support. + - Requires the use of custom OvmfPkg for Legacy Darwin targets. -2. ``// TODO`` - - ``// TODO`` +2. [**DarwinOCPkg**](https://github.com/royalgraphx/DarwinOCPkg), a fork of [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) for KVM's. + - ACPI Folder preconfigured with SSDT's for QEMU Q35 Virtual Machines. + +3. [**DarwinUDK**](https://github.com/royalgraphx/DarwinUDK), a fork of [AUDK](https://github.com/acidanthera/audk) for KVM's. + - Relaxed security settings which allow for loading of older OS X boot.efi's which are seen as unsafe to boot. This can be built without modification by DarwinKVM contributors. + - Custom Boot Splash Icon for DarwinKVM representation. + - Supports both Arch and Debian based distributions, comes with both Pacman and APT packages! -3. ``// TODO`` - - ``// TODO`` +4. [**DarwinFetch**](https://github.com/royalgraphx/DarwinFetch), an all-in-one Mac OS installer downloader and image builder. + - Has support for downloading older Legacy Offline Installation disks. + - Maintains a list of direct download links of Apple's CDN for OS X / macOS files. -
Placeholder text, explaining how legacy Mac OS X on Intel is supported in DarwinKVM.
+
We are creating a Westmere E56XX based Virtual Machine, which will use an OpenCore EFI .img we create with DiskProvision, that will then allow us to boot our custom Virtual Machine configuration and install legacy Mac OS X releases. Even though we are all following the same general outline... difference in hardware will still exist. Different GPU's, Audio Controllers, Host OS, Displays, IOMMU Groups... various things can and will be different so we must go in and further refine our machine. If for whatever reason you find something is broken on your system, take the time and effort to read the write-ups to continue perfecting your Virtual Machine.

For PowerPC

diff --git a/docs/docs/02-HostPreparations/03-PackageInstall/01-ArchPackageInstall.md b/docs/docs/02-HostPreparations/03-PackageInstall/01-ArchPackageInstall.md index 519cce4..56ac3eb 100644 --- a/docs/docs/02-HostPreparations/03-PackageInstall/01-ArchPackageInstall.md +++ b/docs/docs/02-HostPreparations/03-PackageInstall/01-ArchPackageInstall.md @@ -23,3 +23,25 @@ iptables and iptables-nft are in conflict. Remove iptables? [y/N] If you do encounter this kind of message, press y and enter to continue the installation. ## You can now continue to the next page. + +
+ +{: .new } + +If you're interested in working with Mac OS releases prior to Catalina, make sure you install the following package for DarwinUDK UEFI Firmware support in Virt-Manager. + +To get started, cd to the ``DarwinUDK`` folder. + +```bash +cd DarwinUDK/Arch +``` + +You'll now be able to use pacman to install the DUDK-Firmware package. + +```bash +sudo pacman -U DUDK-Firmware-1.0.0-1-x86_64.pkg.tar.zst +``` + +You'll now be able to successfully import DarwinLegacyKVM.xml and use DUDK-Firmware! + +## You can now continue to the next page. diff --git a/docs/docs/02-HostPreparations/03-PackageInstall/02-DebianPackageInstall.md b/docs/docs/02-HostPreparations/03-PackageInstall/02-DebianPackageInstall.md index bed3206..898a037 100644 --- a/docs/docs/02-HostPreparations/03-PackageInstall/02-DebianPackageInstall.md +++ b/docs/docs/02-HostPreparations/03-PackageInstall/02-DebianPackageInstall.md @@ -17,3 +17,25 @@ sudo apt install qemu-system-x86 qemu-utils libvirt-clients libvirt-daemon-syste ``` ## You can now continue to the next page. + +
+ +{: .new } + +If you're interested in working with Mac OS releases prior to Catalina, make sure you install the following package for DarwinUDK UEFI Firmware support in Virt-Manager. + +To get started, cd to the ``DarwinUDK`` folder. + +```bash +cd DarwinUDK/Debian +``` + +You'll now be able to use apt to install the DUDK-Firmware package. + +```bash +sudo dpkg -i DUDK-Firmware-1.0.0-1-x86_64.deb +``` + +You'll now be able to successfully import DarwinLegacyKVM.xml and use DUDK-Firmware! + +## You can now continue to the next page. diff --git a/docs/docs/04-GuestSupport/index.md b/docs/docs/04-GuestSupport/index.md index 3fbf225..a4b027e 100644 --- a/docs/docs/04-GuestSupport/index.md +++ b/docs/docs/04-GuestSupport/index.md @@ -16,23 +16,23 @@ has_toc: false | Build Name | Architecture | Configuration | Status | Model | | --- | --- | --- | --- | --- | -| Sequoia | x86_64 | [View Guide](../../../installguides/00-Sequoia/index) | Complete | MacPro7,1 | +| Sequoia | x86_64 | [View Guide](../../../installguides/00-Sequoia/index) | Beta Support | MacPro7,1 | | Sonoma | x86_64 | [View Guide](../../../installguides/01-Sonoma/index) | Complete | MacPro7,1 | | Ventura | x86_64 | [View Guide](../../../installguides/02-Ventura/index) | Complete | MacPro7,1 | | Monterey | x86_64 | [View Guide](../../../installguides/03-Monterey/index) | Complete | MacPro7,1 | | Big Sur | x86_64 | [View Guide](../../../installguides/04-BigSur/index) | Complete | MacPro7,1 | | Catalina | x86_64 | [View Guide](../../../installguides/05-Catalina/index) | Complete | MacPro7,1 | -| Mojave | x86_64 | [View Guide](../../../installguides/06-Mojave/index) | In Progress | MacPro5,1 | -| High Sierra | x86_64 | [View Guide](../../../installguides/07-HighSierra/index) | In Progress | MacPro5,1 | -| Sierra | x86_64 | [View Guide](../../../installguides/08-Sierra/index) | In Progress | MacPro5,1 | -| El Capitan | x86_64 | [View Guide](../../../installguides/09-ElCapitan/index) | In Progress | MacPro5,1 | -| Yosemite | x86_64 | [View Guide](../../../installguides/10-Yosemite/index) | In Progress | MacPro5,1 | -| Mavericks | x86_64 | [View Guide](../../../installguides/11-Mavericks/index) | In Progress | MacPro5,1 | -| Mountain Lion | x86_64 | [View Guide](../../../installguides/12-MountainLion/index) | In Progress | MacPro5,1 | -| Lion | x86_64 | [View Guide](../../../installguides/13-Lion/index) | In Progress | MacPro5,1 | -| Snow Leopard | x86_64/PowerPC | [View Guide](../../../installguides/14-SnowLeopard/index) | Complete | MacPro5,1/PowerMac3,1 | -| Leopard | x86_64/PowerPC | [View Guide](../../../installguides/15-Leopard/index) | Complete | MacPro4,1/PowerMac3,1 | -| Tiger | x86_64/PowerPC | [View Guide](../../../installguides/16-Tiger/index) | Complete | MacPro2,1/PowerMac3,1 | +| Mojave | x86_64 | [View Guide](../../../installguides/06-Mojave/index) | Complete | MacPro5,1 | +| High Sierra | x86_64 | [View Guide](../../../installguides/07-HighSierra/index) | Complete | MacPro5,1 | +| Sierra | x86_64 | [View Guide](../../../installguides/08-Sierra/index) | Complete | MacPro5,1 | +| El Capitan | x86_64 | [View Guide](../../../installguides/09-ElCapitan/index) | Complete | MacPro5,1 | +| Yosemite | x86_64 | [View Guide](../../../installguides/10-Yosemite/index) | Complete | MacPro5,1 | +| Mavericks | x86_64 | [View Guide](../../../installguides/11-Mavericks/index) | Complete | MacPro5,1 | +| Mountain Lion | x86_64 | [View Guide](../../../installguides/12-MountainLion/index) | Complete | MacPro5,1 | +| Lion | x86_64 | [View Guide](../../../installguides/13-Lion/index) | Complete | MacPro5,1 | +| Snow Leopard | x86_64/PowerPC | [View Guide](../../../installguides/14-SnowLeopard/index) | x86_64 | MacPro5,1/PowerMac3,1 | +| Leopard | x86_64/PowerPC | [View Guide](../../../installguides/15-Leopard/index) | PowerPC | MacPro4,1/PowerMac3,1 | +| Tiger | x86_64/PowerPC | [View Guide](../../../installguides/16-Tiger/index) | PowerPC | MacPro2,1/PowerMac3,1 | | Panther | PowerPC | [View Guide](../../../installguides/17-Panther/index) | Complete | PowerMac3,1 | | Jaguar | PowerPC | [View Guide](../../../installguides/18-Jaguar/index) | Complete | PowerMac3,1 | | Puma | PowerPC | [View Guide](../../../installguides/19-Puma/index) | Complete | PowerMac3,1 | diff --git a/docs/index.md b/docs/index.md index e6b783d..e228b3b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -47,9 +47,6 @@ permalink: / } -{: .headsup } -The docs are currently undergoing a massive rewrite! While the current guide is still fully functional for the latest version of macOS, there are many changes being made to support a wider range of installation versions! During this transition, you may mix up information with other installation targets, please be aware of what you are following! Version 2.0.0 completion soon! -