--- tags: 黑蘋果 --- # 黑蘋果 - CoffeeLake實裝macOS Catalina 10.15.4 ## 前言 感謝 [Tonymacx86](http://tonymacx86.com/) 感謝 廖韋丞(WaterTim) 一起研究 ## 章節 [TOC] ## 硬體配備 - i5-8400 - B365m-A - Crucial 8G*2 - Msi Armor rx470 8G - Samsung PM863a 1T SSD - FSP GD550 - BCM94360CS/2CS ### 我的EFI在[這裡](https://drive.google.com/file/d/1WopgMAp1jGTu3VIZ_wqRrxkkFP3X0lq9/view?usp=sharing) ## 預先安裝Windows及確認BIOS 就... win10 來製作EFI跟安裝碟 然後順便看一下BIOS內有沒有cfg lock的選項 關閉它 若找得到Above 4G Decoding的話 開啟它 ## 安裝環境 - [7zip](https://www.developershome.com/7-zip/) - [Notepad++](https://notepad-plus-plus.org/downloads/) - [Python3](https://www.python.org/downloads/) ## 部分檔案及教學 [OpenCore Guide](https://dortania.github.io/OpenCore-Desktop-Guide/) ## 製作DSDT SSDT - 所需軟體 - [SSDTTime](https://github.com/corpnewt/SSDTTime) - [IASL](https://acpica.org/downloads/binary-tools) ### 使用SSDTTime做出符合硬體的DSDT ### 使用SSDTTime的Fake EC及Plugin做出基本的SSDT ### 使用iasl對DSDT反編譯成dsl檔 ### 修補AWAC時鐘 - 使用文字編輯器(Notepad++)打開dsdt.dsl - 尋找`Device (AWAC)` - 若有則代表主機板是使用AWAC時鐘 - 尋找STAS - 若有則可以切換為RTC時鐘 下載[SSDT-AWAC.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-AWAC.aml)來修補他 - 若無則不能切換 需要SSDT-RTC0設定 跳到[設定SSDT-RTC0](#設定SSDT-RTC0) - 若無則跳到下一步 #### 設定SSDT-RTC0 1. 下載[SSDT-RTC0.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-RTC0.dsl)並用NotePad++打開 2. 另外開啟剛剛的DSDT.dsl 3. 在DSDT.dsl內搜尋`Name (_ADR, 0x001F0000)` 記下上面的Device(`通常是LPCB`) - 若Device是LPCB則不需修改SSDT-RTC0 直接用iasl編譯成aml即可 - 若為其他的則將SSDT-RTC0.dsl內的PCI0.LPCB改為PCI0-`該Device` 儲存然後編譯成aml ### 修補NVRAM PMC - 下載[SSDT-PMC.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-PMC.dsl)並開啟 - 在DSDT.dsl中尋找`Name (_ADR, 0x001F0000)` 記下上面的Device(`通常是LPCB`) - 在DSDT.dsl中尋找`PNP0A08` 同樣記下上面的Device(`通常是PCI0`) - 修改SSDT-PMC中的PCI0.LPCB改為上面的兩個Device ex. PCI1.LB0 - 將SSDT-PMC.dsl編譯成aml ### 修補USB數量限制 - 下載[SSDT-USBX.aml](https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/extra-files/SSDT-USBX.aml) ### 整理出需要用到的SSDT 將編譯好的aml檔(除了DSDT.aml之外)都放到一個地方儲存起來 DSDT跟SSDT這步驟就大致上完成了 可以先休息一下for等等的挑戰XDD ## 製作安裝碟 - 所需軟體 - [gibMacOS](https://github.com/corpnewt/gibMacOS) ### 下載更新包 - 開啟gibMacOS.bat後按 `r` Enter 進入Recovery下載 - 選擇有Full install的v10.15.4 - 下載好的檔案會在MacOS Download/.../...10.15.4 MacOS Catalina/內 - shift+右鍵該.pkg複製完整路徑 ### 製作開機碟 - 插入隨身碟 - 開啟MakeInstall.bat - 找到隨身碟的代號後輸入 `~O` Enter (`~`是代號 ex. `1O`) - 若找不到隨身碟 先輸入`D` Enter就找的到(可能是外接SSD會不被辨認為隨身碟) - 跑一陣子之後會要輸入鏡像的路徑 貼上剛剛複製的路徑 - 等待 (我用USB3.1等了約幾分鐘) ### 配置驅動 - 所需檔案 - [韌體及基本kext](https://dortania.github.io/OpenCore-Desktop-Guide/ktext.html) 我使用的: - EFI - BOOT - OC - Drivers - AudioDxe.efi - CrScreenshotDxe.efi - HfsPlus.efi - HiiDatabase.efi - NvmExpressDxe.efi - OpenCanopy.efi - OpenRuntime.efi - OpenUsbKbDxe.efi - Ps2KeyboardDxe.efi - Ps2MouseDxe.efi - UsbMouseDxe.efi - XhciDxe.efi - Kexts - AppleALC.kext - Lilu.kext - SMCProcessor.kext - SMCSuperIO.kext - VirtualSMC.kext - WhateverGreen.kext (顯卡驅動) - RealtekRTL8111.kext (乙太網路卡驅動 要依照自己的乙太網路卡去找) - USBInjectAll.kext (USB驅動 直接放 不行再說(?)) - 將製作好的SSDT們放到EFI/OC/ACPI中 ### 配置config.plist - 所需軟體 - [ProperTree](https://github.com/corpnewt/ProperTree) - [GenSMBios](https://github.com/corpnewt/GenSMBIOS) - 所需檔案 - [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/releases) - 將OpenCorePkg/Docs/Sample.plist複製到EFI/OC中並改名為`config.plist` - 用ProperTree開啟config.plist - 按下`Ctrl + Shift + r` 選擇EFI/OC資料夾然後確定 這步驟會載入OC中的所有檔案到config中 讓其符合現在這台的硬體配置 - 依照[OpenCore提供的建議選項](https://dortania.github.io/OpenCore-Desktop-Guide/config.plist/coffee-lake.html)進行修改 (這邊條目太多了 打出來就是在翻譯而已 故不做翻譯了 可以直接根據我提供的EFI進行下面一些比較重要的修改) - Booter/Quirks中的`ProtectUefiServices` - 若你是用Z390則設成True - 不是就False (我不是就設False 沒$$) - Kernel/Quirks中的`AppleCpuPmCfgLock`及`AppleXcpmCfgLock` - 如果在BIOS中可以關閉cfg lock的 這兩個選項都設成False - 若在BIOS找不到cfg lock的 則設成True - Kernel/Quirks中的`IncreasePciBarSize` - 如果在BIOS中可以打開Above 4g Decoding的 這個設成False - 若在BIOS中無法設定的 設成True - NVRAM/7C436...C9F82中的`boot-args`是開機的設定 - `-v` 開機時會跑一堆debug用的字 - `debug=0x100`及`keepsyms=1` debug用 - `alcid=11` 這是音效卡的佈局 在主機板規格找到音效卡晶片型號後 可以到[這裡](https://github.com/acidanthera/applealc/wiki/supported-codecs)搜尋你的音效卡晶片 嘗試每一種Layout是否符合你的需求 - `agdpmod=pikera` 如果你是用RX5000系列的顯示卡就要加這個(我不是就沒加 沒$$) - NVRAM/7C436...C9F82中的`prev-lang:kbd`是開機時的語言選項 - `en-Us:0` 是英文 - `zh-Hant:2` 應該是繁體中文 但有時候會變成殘體 謎... - 其他語言可以去找看看 - 反正裝好之後都可以調 就先用英文吧(認真) - PlatformInfo 是平台資訊 像是主板序列號之類的 但我們不是原生主板 需要偽裝一下 - 打開GenSMBios 選擇生成SMBios - 輸入iMac18,3 (如果你用這個會錯 可以嘗試iMac19,1 其實這個需要根據你的硬體選擇) 就會跑出偽裝的資訊了 - 將Type填入`SystemProductName` - 將Serial填入`SystemSerialNumber` - 將Board Serial填入`MLB` - 將SmUUID填入`SystemUUID` 到這邊你的config.plist就大致上設置完成了 接下來就是開開關關BIOS跟安裝了 如果有碰到問題再回來修改這邊的config就好 ## 設定BIOS - 需要關閉的選項 - Fast Boot - Secure Boot - VT-d - CSM - Intel SGX - Intel Platform Trust - CFG Lock - 需要開啟的選項 - VT-x - Above 4G Decoding - Execute Diable Bit - EHCI/XHCI Handoff - OsType: UEFI - 顯存: 64MB 若找不到某些選項 可以先不管它 (真的裝不起來就換一張主機板 或去搜尋別人是怎麼調教的) ## 安裝macOS 1. 先到別的電腦上把要安裝macOS的硬碟格式化為GPT(GUID)格式 2. 裝回電腦後開機 到BIOS把隨身碟的開機順序調到第一個 3. 保存設定重開機 4. 進入OpenCore引導後選擇`macOS Base System (External)` 5. 進入恢復系統(的系統(?)) - 選擇DiskUtil - Erase要裝系統的硬碟 - 取個名字(像是Win10(?)) - 選擇APFS - 關閉DiskUtil - 選擇ReInstall macOS - 進入安裝程序 - 同意啦 哪次不同意 - 開始跑進度條之後就是等待 可以直接放著 他會跑到裝好能用 ## 初始化及放置EFI 1. 進入系統之後 就正常的初始化到桌面 2. 再來多測試幾次重開機 正常日常使用(隨身碟要插著) - 如果有問題就修改config或加補丁 3. 測試沒問題之後 把EFI放到系統裡 讓你不需要隨身碟也能開機 - `command + space`搜尋`Terminal`打開 - 執行`sudo diskutil list` - 會要你打登入密碼 直接打完 Enter - 看一下EFI的代號 - 執行`sudo diskutil mount ~` (~是EFI分區的代號) - 打開Finder 將BOOT(隨身碟)內的EFI資料夾複製到剛剛掛載的EFI分區內 - 關機拔掉隨身碟 - 開機試試 4. 如果確定沒問題 再次執行上面的mount 然後把EFI/EFI/OC/config.plist中boot-args的 -v 拿掉即可享受黑蘋果啦~ ## 後語 好累ㄛ 打完這個覺得比裝黑蘋果還累 我ㄉ天
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.