本帖最后由 mathscmc 于 2020-7-15 16:38 编辑
很早就开始用黑苹果了,之前一直用clover,之前参考的是tonymacx86上的教程及工具,基本上自动化完成安装的,自己也不懂原理。这次想尝试big sur并转向OpenCore,决心自己从零研究一下安装过程。 经过几天的研究和半天的安装,基本达到了满意的效果,在这里把安装过程和用到的资料记录下来,看看能不能帮助其他人,不能的话就当自己做笔记了。附件是我用的EFI,驱动截止7月13号都是最新的,但我基本没参考别人的EFI,多余的东西基本都一点都没配,无线网卡还没买所以还没弄,三码我清除了。
我这台主机配置:
## 列举重要的参考教程
OpenCore Github Project:
[GitHub - acidanthera/OpenCorePkg: OpenCore bootloader](https://github.com/acidanthera/OpenCorePkg)
新手教程,讲解非常细致
[Getting Started | Dortania](https://dortania.github.io/getting-started/[/url])
[OpenCore Desktop Guide · GitBook](https://dortania.github.io/OpenCore-Desktop-Guide/)
[Getting Started With ACPI · GitBook](https://dortania.github.io/Getting-Started-With-ACPI/)
中文教程:
[GitHub - daliansky/OC-little: ACPI Hotpatch Samples for the OpenCore Bootloader](https://github.com/daliansky/OC-little[/url])
or [OpenCore 部件 · GitBook](https://ocbook.tlhub.cn/)
insanelymac网站上的指导,主要讲了config.plist的配置方法。
[Getting-Started-With-OpenCore | A guide For OpenCore](https://insanelymacdiscord.github.io/Getting-Started-With-OpenCore/)
两份PDF,详细的官方文档
[OpenCorePkg/Configuration.pdf at master · acidanthera/OpenCorePkg · GitHub](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf)
[ACPI Specification 6.3](https://uefi.org/sites/default/files/resources/ACPI_6_3_May16.pdf)
## 下载必备工具和安装文件
下载镜象:
从ibeta.me网站下载描述文件,安装以后就能检测到Big Sur的Beta2版本了,接着下载。下载成功后会在Applications里看到安装包。
下载最新版的OpenCore,这里会定期自动构建,能保证拿到最新的编译版OpenCore:
[GitHub - williambj1/OpenCore-Factory: Automated OpenCore build](https://github.com/williambj1/OpenCore-Factory)
修改config.plist选项,可以使用工具 [ProperTree](https://github.com/corpnewt/ProperTree),全平台支持
Dump SSDT,可以使用工具[SSDTTime](https://github.com/corpnewt/SSDTTime),这个工具可以在几乎全平台上使用。
Clover Configuration,原来加载EFI分区。
因为DSDT原始格式是/ACPI Machine Language Binary(AML)/的,我们需要先decompile,修改之后再compile,可以用下面的工具:
* 在macOS上只需要一个工具就行了,即[MaciASL](https://github.com/acidanthera/MaciASL/releases)
* 另外有个命令行工具: [iasl-stable](https://github.com/acidanthera/MaciASL/blob/master/Dist/iasl-stable)
* windows下可以使用工具 [iasl.exe]([url]https://acpica.org/downloads/binary-tools)
下载最新的驱动文件,必备的有几个,可能不全,因为我暂时没使用无线网卡,台式机也不需要电源管理等。
```
~/Dropbox/OpenCore/ForH3108400/EFI/OC/Kexts » tree -L 1
.
├── AppleALC.kext
├── Lilu.kext
├── SMCBatteryManager.kext
├── SMCLightSensor.kext
├── SMCProcessor.kext
├── SMCSuperIO.kext
├── VirtualSMC.kext
└── WhateverGreen.kext
└── RealtekRTL8111.kext
~/Dropbox/OpenCore/ForH3108400/EFI/OC/Drivers » tree -L 1
.
├── HfsPlus.efi
└── OpenRuntime.efi
```
官网保证代码最新,可以自己编译,我这里面有几个是从本网站下载的,在7月13号的时候能保证是最新版本,big sur beta2可用。
## 先搞个基础U盘安装包
先对U盘格式化(抹除),格式化为Mac OS Extended(journaled)格式,分区表为GUID,这样会自动创建EFI分区,可使用Clover Configuration来加载EFI分区。
我是在mac上烧录到U盘上的,只要一个命令:
`sudo /Applications/Install\ macOS\ Big\ Sur\ Beta.app/Contents/Resources/createinstallmedia —volume /Volumes/bigsur`
挂载EFI分区,然后把OpenCore里的一些基础文件拷贝过去,再把下载好的必备驱动放进去,文件目录类似于:
```
├── EFI
│ ├── BOOT
│ │ └── BOOTx64.efi
│ └── OC
│ ├── ACPI
│ ├── Bootstrap
│ │ └── Bootstrap.efi
│ ├── Drivers
│ │ ├── HfsPlus.efi
│ │ └── OpenRuntime.efi
│ ├── Kexts
│ │ ├── AppleALC.kext
│ │ ├── Lilu.kext
│ │ ├── RealtekRTL8111.kext
│ │ ├── SMCProcessor.kext
│ │ ├── SMCSuperIO.kext
│ │ ├── VirtualSMC.kext
│ │ └── WhateverGreen.kext
│ ├── OpenCore.efi
│ ├── Resources
│ │ ├── Audio
│ │ ├── Font
│ │ ├── Image
│ │ └── Label
│ ├── Sample.plist
│ ├── Tools
```
## 改BIOS
### 需要关闭的选项
* Fast Boot
* Secure Boot
* VT-d (can be enabled if you set DisableIoMapper to YES)
* CSM
* Thunderbolt(For initial install, as Thunderbolt can cause issues if not setup correctly)
* Intel SGX
* Intel Platform Trust
* CFG Lock
### 需要打开的选项
* VT-x
* Above 4G decoding
* Hyper-Threading
* Execute Disable Bit
* EHCI/XHCI Hand-off
* OS type: Windows 8.1/10 UEFI Mode
* DVMT Pre-Allocated(iGPU Memory): 64MB
剩下两步稍稍复杂的阶段,需要的主要是耐心,当然也可以拿别人的ACPI和config.plist再做点修改。
## 修改ACPI
ACPI介于BIOS和操作系统之间,为操作系统提供统一的硬件和电源管理API.
macOS很挑硬件,仅仅通过原始的DSDT表无法满足兼容性,修改ACPI的原理就是找到原始DSDT表,然后修改一些项目,并创建新的表来覆盖原始项目。
这里我是逐项读教程来完成的。
[Getting Started With ACPI · GitBook](https://dortania.github.io/Getting-Started-With-ACPI/)
我编辑好之后,得到几个文件,放到ACPI文件夹下就行了
SSDT-EC-USBX.aml
SSDT-EC.aml
SSDT-PLUG.aml
SSDT-PMC.aml
SSDT-SBUS-MCHC.aml
## config.plist
改这个最需要耐心。
首先使用 [ProperTree]([url]https://github.com/corpnewt/ProperTree),打开sample.plist后在菜单栏选择“OC Clean Snapshot”或”OC Snapshot”,后者是新增内容,前者直接生成纯净的内容。这时候你添加到OC的驱动文件都被写到sample.plist里了。
接着我就按[OpenCore Desktop Guide · GitBook](https://dortania.github.io/OpenCore-Desktop-Guide/)教程修改各个选项,有几次没有看清描述后就修改了,进系统发现有一些异常,后来耐心都改好了。
改完sample.plist后更名为config.plist,这样就可以安装了。
## 安装
影响安装的主要因素是使用的驱动和OC是不是新版本、BIOS是不是选对了、config.plist里有关boot相关的选项是不是填对了。
从U盘启动后开始安装,中间会重启五六次以上,有些地方会卡比较久的时间。
第一次安装的时候我BIOS和config.plist有点问题,修改后再次安装,重启多次后,直接安装成功了。
装好后,挂载硬盘上的EFI分区,把U盘里的EFI覆盖过去。接着就是一些微调了。
|