0 x00: preface

Why write when there are so many tutorials? (Bloggers’ nonsense, can be skipped)

  • A few months ago, a blogger was taking notes on GoodNotes, a popular note-taking app, when she noticed there was a Mac version of GoodNotes. She tried it on her family’s MacBook Air and couldn’t stop: If you want to grab an image and drag it directly into the computer version of the software, the PDF experience is also perfect. You just built a Ryzen5 3600, but you can’t get a MacBook Pro or an iMac.
  • So, the blogger embarked on the black apple of no return road. At the beginning of direct Baidu, how the domestic click volume of a few tutorials directly to 👴 dizzy, this east a west a brush are saying what?
  • Baidu couldn’t find any useful tutorials, so they turned to Google, and found several high-quality (English) tutorials in no time. It really hit me when I saw it. Follow the tutorial, hey, easy second kill!
  • Use it when you’re done. Why bother writing a tutorial? So for the next month the blogger gave no thought to writing a tutorial…… Until I remembered that I haven’t written a blog or anything in a long time, and I’ve been poking around lately, which is really nothing to write about. So why not put some effort into documenting the process, which will not only get more hits for your blog, but also provide a high-quality tutorial for those who want to blacken apple.
  • So no more nonsense to say, on the hard goods!

An explanation of several concepts

  • Most of the tutorials out there start with a bunch of names, and I think a lot of people are put off by these irresponsible posts. So the blogger wants to give you a hint of the proper nouns involved in the following article, so that you are a little prepared.

OpenCore and Clover:

  • Two boot tools designed to trick the MacOS into thinking it was actually running on a Mac, so it could install and boot smoothly. Think of them as an extremely simple operating system that boots up OpenCore (or Clover) and helps us boot up Black Apple
  • Clover is by far the most robust ecosystem, but OpenCore’s design is much simpler and more complete, and you can even install MacOS directly on OpenCore’s built environment using a native installation USB flash drive. Also, a large number of Kext writers have announced that they are discontinuing Clover support, so using OpenCore booting is the trend (it seems to be the only option for AMD users).

Kexts

  • Kext is short for Kernel Extension. Properly added Kext files are loaded at system startup to expand MacOS Kernel support for hardware. MacOS can not properly drive sound cards, USB, etc., can be properly driven by this way. Don’t assume that only black Apples need to use Kext files; native MacOS also include a large number of Kext drivers. Many of the kexts used in current Black Apple systems are even modified from native Kext files.

Nvram

  • Non-volatile Random Access Memory. Note that this is hardware. It records some of the key information that the system needs. All Macs come with such a memory, which records the startup parameters and so on, is a key component.

EFI

  • Extensible Firmware Interface. Too many terms bloggers will not expand here, easy to confuse you. Simply put, EFI is a bridge between a computer’s firmware and operating system. In the black Apple system, EFI partition is used to store Kexts that need to be loaded in the black Apple system, to identify Drivers of the hard disk and file system, and most importantly, OpenCore configuration file and startup program

DSDT

  • The DSDT is a table describing what devices are on the motherboard. You don’t need to configure it specifically in Windows, but on Mac you may need to use it to improve device compatibility.
  • DSDT is not as important as it seems at the moment, and it even runs stably without adding DSDT when you first install it. And there are many Kexts that can help us use black Apple systems without using a configured DSDT. However, in order to maximize compatibility and stability, it is recommended to add.

Building master configuration (for most 3A users)

hardware model
CPU Ryzen5 3600
The main board Msi mortar
The graphics card RX570 (actually RX580 castrated version brush vBIOS brush out)
Hard drive 1 (hard drive with black Apple installed) Hikang C2000Pro, purple light particles
Hard disk 2 (Windows hard disk) Plextor M9PEG
Hard disk 3 (Data disk) Light Power will 1.5T (I know a lot of people will scold this plate rubbish, but it is really cheap ah)
The network card Later purchased Broadcom BCM94360 (MacOS drive free, support relay, Airdrop)
(Nothing else matters)

The software you need

  • All the software mentioned below can be downloaded on the Internet. If you feel tedious, you can follow my personal public account Code Segment reply: Hackintosh to get the download link.

  • You can download the OS with one click, and create an image with one click

  • GenSMBIOS: Generates required SMBIOS

  • ProperTree: Edit the config.plist file

  • SSDTTime: Generates SSDT and DSDT

  • EasyUEFI: Adds boot for OpenCore

  • Drivers and Kexts: The blogger provides you with the necessary Drivers and Kexts files

  • DiskGenius: a powerful disk partitioning tool

  • OpenCore Configurator (available for Mac only, not required) : OpenCore’s config.plist file GUI configuration tool

0x01: Create an installation USB flash drive

  • The installation image requires an 8GB USB flash drive and gibMacOS scripts
  1. The first rungibMacOS.bat:
  2. When it is ready, enterRSwitch to the download recovery mode
  3. Once the official list is available, select the version you want and download it (here I chose to download the latest image directly). Restoring the installation in this way will automatically update you to the latest version of the larger version of Catalina and Mojave.
  4. When the download is complete, the storage path will be displayed to copy it down
  5. Run in the same directoryMakeInstall.bat
  6. Select the usb flash drive you inserted (here I show the serial number is 4) and select the EFI partition to write OpenCore to the USB flash drive (type O after the number)
  7. It’s going to ask you to confirm when you’re making the image, just type y
  8. When prompted, paste in the image path you just downloaded
  9. Wait until the script finishes executing. The script will download the latest version of OpenCore from Github. It may be a bit slow, but wait for it to complete
  10. If the script is executed and a disk named BOOT is displayed in the disk list, the image is successfully created

0x02: Configuring OpenCore

  • First of all, it is not recommended that you directly copy and paste other people’s EFI files, be sure to configure it yourself, especially with OpenCore boot (because the current OpenCore directory structure, etc., are not determined, each OpenCore update will change, different versions are not compatible). And many of the details can only be understood after you configure them yourself, in the futureMy hand is out of controlAfter the update, problems can be solved by themselves.

Download the latest version of OpenCore

Link (also available from the blogger’s official account) : github.com/acidanthera… Be sure to watch the version!! This tutorial is for version 0.5.7

Open the BOOT disk and perform the following operations:

  1. deleteI:\EFI\Resourcesfolder
  2. deleteI:\EFI\OC\Toolsfolder
  3. From the extract of\ OpenCore - 0.5.7 - RELEASE \ Docs \Copy in folderSample.plisttoI:\EFI\OC, rename toconfig.plist

Generate the DSDT

  • run\SSDTTime-master\SSDTTime.bat
  • Execute 1,4 to generate the Results folder in the current directory, which should contain the following files
  • Copy the three files shown toI:\EFI\OC\ACPIdirectory

Add the Drivers

  • Copy in two files from the Drivers directory shared by the bloggerI:\EFI\OC\Drivers
  • Both drivers must be added in order to recognize and read MacOS partitions

Add Kexts

  • Copy all the files in the Kexts folder shared by the bloggerI:\EFI\OC\Kextsfolder
  • To give you an overview of what these eight kernel extensions offer: VirtualSMC and Lilu are the keys to loading other KexTs. AppleAlc adds a sound card driver, NullCPUPowerManagement is a power management program that doesn’t crash when DSDT is configured wrong, and WhateverGreen adds a video card driver.RealtekRTL8111 is a wired nic driver on my motherboard, the NIC driver is very important in our installation (network installation is required), please determine what kind of Kext your nic needs according to other tutorials on the Internet and add it to Kexts.AMDRyzenCPUPowerManagementandSMCAMDProcessorNot necessary, but both drivers allow you to monitor the health of your current hardware using software such as iStat.

Open ProperTree and editconfig.plistfile

  • Here’s the most important part: editingconfig.plistfile
  • run\ProperTree-master\ProperTree.bat, upper left corner file-open, OpenI:\EFI\OC\config.plist

config.plistFile structure

  • The blogger gives a brief introduction hereconfig.plistPlease refer to the PDF documentation of OpenCore (in the same directory as sample. plist mentioned above) for more detailed information about the parts we need to focus on.
  • ACPI: Records the DSDT and ACPI to be injected
  • Kernel: a very important section. The Add list records the information of the Kexts file to be loaded, and the Patch list records the kernel patches that must be modified to use black Apple on Ryzen
  • Misc: miscellaneous items, please follow the operation of the blogger to modify, please refer to the official document for detailed explanation
  • NVRAM: Important, it records information in NVRAM, but does not require much modification
  • PlatformInfo: Records platform information, that is, the model number, serial number, UUID, etc. of the emulated Mac, which is important in the process of whitewashing and enabling the hard solution of the video card
  • UEFI: Boot information. Drivers in our Drivers directory are loaded into the Drivers list in this list

Import the currently added Kexts, Drivers and Drivers in one click

  • ProperTreeClick file-oc SnapShot in the upper left corner to automatically load Kexts, drivers and DSDT into the config File

Added Patch for Ryzen

  • fromhttps://github.com/AMD-OSX/AMD_Vanilla.gitDownload Patchs (also available from the blogger’s official account, but the latest version is recommended on Github)
  • Apus of different architectures need to use patches in different directories, as shown in the figure. Patches in 17th folder should be used for Zen architecture
  • After downloading, unpack and double-click again to runProperTree.batStart an editor and open17th(select the appropriate folder according to your CPU architecture) directorypatches.plist
  • The selectedPatchList, right click copy
  • Back to our editorconfig.plistThe window will be originalKernelUnder the list ofPatchDelete, and right clickKernelList that will just be copied newPatchPaste in

Configure options in Misc

  • Click on the Misc list and change your configuration to the one shown below:

Configuration nvram

  • Click on the NVRAM list and change your configuration to the one shown below:
  • The boot-args field is:-v keepsyms=1 alcid=1 npci=0x2000 vsmchbkp=0 agdpmod=pikera
  • Note that prev-lang: KBD field property should also be changed to String

Configuration PlatformInfo

  • Run downloaded\GenSMBIOS\GenSMBIOS.bat
  • Type 3 and press Enter
  • Enter the model you want to copy. Here I recommend using iMacPro1,1, which has better support for A card
  • Fill in the generated serial number and other informationconfig.plistCorresponding field in. After filling in, it will look like the picture (note that you should not directly fill in the one provided by the blogger, you should generate a random one yourself) :
  • At this point, our configuration is almost complete. Save the Settings and exit to enter the installation process.

0 x03: installation

  • In fact, the blogger feels that the installation of nothing can be said, like reloading the white apple, just follow the prompts
  • First restart the computer and select the installation USB flash drive you just made as the boot device
  • Then start normally. If configured correctly, the OpenCore interface is displayed
  • Select External and press Enter to enter installation.
  • Select the disk tool, select the disk or partition you want to install, and format it as an APFS partition
  • After formatting the partition, it is recommended to restart the computer before installation. Otherwise, it may be stuck during installation for unknown reasons
  • If the installation image is still started after the restart, follow the normal process to complete the installation
  • After the progress bar runs, the computer restarts automatically. In this case, enter the OpenCore screen and select Boot From Install (default).
  • After the progress bar is complete, the system will automatically restart. After entering the OpenCore interface again, you can see that the Mac system option has appeared, and then it is the normal configuration process, which will not be described here

0x04: Booting is removed from the USB disk

  • It doesn’t work to boot OpenCore every time from a USB flash drive, so we need to create our own ESP partition, copy all EFI files into it, and then fix the boot
  • Run DiskGenius and create a new partition in the available space. 200M is sufficient
  • After the establishment, copy all data in the EFI partition of the USB flash drive to the newly established EFI partition of the hard disk
  • After the copy is complete, you need to create a boot option for the EFI partition. First, you need to mount the newly created EFI partition, right-click in DG, and assign the drive letter
  • Run EasyUEFI as an administrator, click add (the icon with the plus sign in the middle column), select the newly created EFI partition according to the icon and select the corresponding startup program
  • At this point, our OpenCore is ready to boot from hard disk. But also need to adjust the BIOS UEFI partition boot priority, each motherboard adjustment method is different, mortar is in this TAB:

0 x05: postscript

  • OK! The blogger’s tutorial finallywaterFinished. Of course, many people who are new to the Black Apple circle may still be confused: why did I follow your tutorial and report errors everywhere? Why doesn’t my x hardware drive work?
  • Welcome those who have these problems to follow my wechat public account Code Segment and send me a private message. If I am within my ability and energy range, I will definitely help you solve it.
  • However, I would recommend that you search for your own solutions to your problems on a more well-resourced search engine like Google (in English). In such a big world, even the rarest problems can be faced by more than one person at a time. What if someone else asked your question on Reddit or something and found a perfect solution? However, pay special attention to the timing of the solution and how it is conducted, or you could easily rot your EFI. (As a matter of fact, there are a lot of pothholes in the building, most of which are solved by searching Hackintosh + error messages on Google. You can do it too.)