asus-b85-pro-g+i5-4450黑苹果

 

一、前言

​ 最近一段时间可谓是DIY玩家的噩梦,各种硬件疯涨,特别是在虚拟货币的加持下显卡都上天了.本来还想去淘一张rx580没想到这三朝元老都涨价到了1800左右.

​ 迫于无奈(穷),在加上最近有点时间可以折腾一下.就想着折腾一下黑苹果.看了看家里的电子垃圾,心里暗想,还是让他们发光发热一下吧(😭).

​ 本教程大多数都是从 opencore install guide 官网上摘抄过来的,如果有啥问题那就是我理解的问题的.

二、配置

 

   
cpu I5-4450
主板 Asus-b85-pro-g
内存 海盗船DDR3 8G * 2
硬盘 铠侠RC10
网卡 bcm943602cs
显卡 HD4600

​ 由于没有独显只能拿核显顶一下,纯粹办公还是能顶得住的.

三、安装

3.1 硬件选择

​ 现在安装黑苹果基本都是基于 opencore 进行安装.所以第一步就需要在 opencore install guid 的指南网站上去查看硬件配置是否兼容.

​ 如果觉得英文看得难受也可以参考黑果小兵的博客,显卡和网卡尽量选择免驱的,减少折腾的时间(一般情况下固态是不会有兼容性问题的,除了:三星 970 EVO,这些限制都能在 opencore 的网站上找到)

​ 这片文章撰写时,opencore的版本为0.7.2

3.2 准备工作

​ 硬件选择好了之后,建议先安装windows系统,在windows上面做准备工作.也要准备一个大于16G的U盘用于引导和安装黑苹果.

​ 辅助软件下载:

软件 说明
python3 作为辅助软件的基础运行环境
ProperTree 一个plist编辑器,opencore官方推荐工具
SSDTTime 用于导出SSDT信息和生成通用的SSDT-EC、SSDT-PLUG、SSDT-HPET布丁,在ACPI章节会需要
GenSMBIOS 生成随机的smbios信息
Hackintool 在macos安装好之后可以使用该工具进行打补丁或者做usb定制
OpenCore Configurator 一个图形化配置工具,在macos安装好之后可以使用该工具进行配置
IORegistryExplorer2.0 在macos安装好之后使用该工具查看各个硬件是否驱动
AIDA64 用于在windows平台上获取硬件信息

3.3 获取硬件信息

opencore 原文

获取CPU型号:

cpu型号

获取显卡型号:

bqxHzH

获取芯片组信息:

8e1wDW

获取声卡信息:

ztmq5h

获取网卡信息:

YGAfvj

opencore 指南里面还获取了 SMBUS、USB、I2C、Keyboard, Trackpad、 Touchscreen Connection Type这些信息,我个人认为,用台式机的话是用不着以上信息的,当然设备不能太老.

3.4 创建MacOS启动盘

​ 创建启动盘需要准备一个U盘和rufusOpenCorePkg工具.OpenCorePkg需要提前解压好.下载OpenCorePkg建议下载debug版本,输出的信息更多,方便前期调试.

3.4.1 下载MacOS

进入到Utilities/macrecovery/,复制目录路径

4I9Qlc

打开命令行工具,切换目录到macrecovery

UO3IQX

运行命令

# Lion(10.7):
python macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00 download
python macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download

# Mountain Lion(10.8):
python macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download

# Mavericks(10.9):
python macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download

# Yosemite(10.10):
python macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download

# El Capitan(10.11):
python macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download

# Sierra(10.12):
python macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download

# High Sierra(10.13)
python macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
python macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download

# Mojave(10.14)
python macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download

# Catalina(10.15)
python macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download

# Latest version
# ie. Big Sur(11)
python macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download

注意: Mojave 往后的版本会有15个usb端口的限制,需要定制usb端口.建议安装 Mojave,在 Mojave 上定制USB端口后再进行升级到最新版本.

rwE1f5

下载完成后会产生以下2个文件

r6H0ID

3.4.2 制作引导盘

运行Rufus

3Sd2lp

  1. 选择 boot selection 为 non bootable
  2. 选择 file system 为 large FAT32
  3. 点击 start
  4. Rufus 运行结束后,打开U盘,创建目录名为:com.apple.recovery.boot,然后把之前下载好的文件复制到U盘中去.

6jRXg1

  1. 打开之前下载的OpenCorePkg,选择对应的模板,一般来讲是用x64的模板

    6wShje

  2. 复制x64文件夹中的EFI到U盘的根目录

    xK19eo

3.4.3 精简模板

​ 安装黑苹果的准则之一就是东西越少越好,这样方便排查错误.在opencore模板里面带了很多不必要的东西,需要删除掉.

​ openCore的目录结构如下:

N0Wnug

​ 在BOOT目录里面只有一个efi文件,一般情况下不会去动它.调整的比较多的目录是OC这个目录.

目录 文件名 说明
OC/Drivers OpenRuntime.efi 必要
OC/Tools OpenShell.efi 非必要,推荐使用方便调试
BOOT BOOTx64.efi 必要
OC OpenCore.efi 必要

5uHmI2

3.4.4 完善模板

以下的文件,按照自己硬件情况添加,这里我只记录我自己的添加的文件.详情请参考 openCore install guide

kexts

目录 文件 说明
OC/Drivers HfsPlus.efi 必要,文件系统
OC/Kexts VirtualSMC.kext 必要,模拟mac
OC/Kexts SMCProcessor.kext 非必要,监控处理器温度
OC/Kexts SMCSuperIO.kext 非必要.监控风扇速度
OC/Kexts Lilu.kext 必要,底层运行环境
OC/Kexts WhateverGreen.kext 显卡驱动
OC/Kexts AppleALC.kext 声卡驱动
OC/Kexts IntelMausi.kext 网卡驱动,这个需要根据硬件情况
OC/Kexts USBInjectAll.kext usb驱动

由于使用的是免驱的网卡和核显,就不需要额外的驱动了.

SSDTs:

​ ssdt补丁需要根据自己的平台来选择对应的补丁.例如我这边是 4代 i5 Haswell 平台,就需要2个补丁,分别是:SSDT-PLUGSSDT-EC.

​ 以上2个补丁都可以通过SSDTTime这个工具生成.

SSDT-PLUG:

  1. 运行 SSDTTime
  2. 执行 dump SSDT
  3. 执行 PluginType

SSDT-EC:

  1. 执行 SSDTTime
  2. 执行 dump SSDT
  3. 执行 Fake EC

以上2步执行完毕后会在 result 目录中生产 aml 文件,复制 SSDT-PLUG.aml 和 SSDT-EC.aml 到u盘的 ACPI 目录中.

config.plist

​ 添加完文件之后,目录结构大概是这样:

IHlIuZ

​ 回到 OpenCorePkg 目录中,进入到 Docs 目录,复制 Sample.plist 文件到 U盘 EFI/OC/目录中,并重命名为config.plist.

VBHZNW

​ 运行 ProperTree,用Ctrl + O打开U盘的 config.plist文件.再用Ctrl + Shift + R快捷键刷新config.plist.

8oAZps

​ 后面的过程就是根据自己的平台来调整配置.这个配置会调整很多次,不存在一次性调整好的(除非运气好).调整的内容太多了,不打算在这里写了.

四、HD4600 HDMI音频的坑

​ 自己调整很久的,hdmi音频一直没有弄出来,再一次爬贴过程中发现把缓存帧中flags,也就是把Flag_10取消勾选,声音取消勾选,声音就出来了.

3GJvXU

五、总结

​ 黑苹果这块涉及的东西太多了,光是打缓冲帧就可以水一章,反正是些来给自己看的,等哪天心情好的时候再来完善完善.