OpenCore: Catalina 설치.

정말 오랜만에 Hackintosh 설치를 해봤다. 맥미니를 살까 하다가, 일단은 Mojave 를 올려보기로 했다. 결국 80만원은 번 셈이긴 한데..
이짓을 하면서 엄청난 스트레스에 시달렸다. 그 값이 80만원쯤은 될까? 어쨌든 결국 성공으로 끝나기는 했다.
Big Sur 로 하고 싶었는데, 여러가지 문제가 있다고 해서, 일단은 Catalina 로 만족했다. 이전에 설치되었던게 Mojave 였으므로, 한단계 올라간 셈이다.

이를 위해 두가지가 필요했으니.. 첫번째는 정말이지 거의 완벽하다 할만한 OpenCore 설명서다. 이게 Dortania 라는 개인의 작업물인지, 아니면 공동으로 집필한 것인지는 알 수가 없지만, 아무튼, 그동안 애매했던 여러가지 개념들을 확실히 알 수 있게 됐다. 클로버때는 그야말로 장님 문고리잡기였고.. OpenCore 는 그래도 눈으로 보고 문고리를 잡을 수 있을 정도까진 됐다. 문고리 구조를 잘 모르는 건 결국 마찬가지긴 하지만, 그래도 내가 하는 작업이 ‘대강은 어떤 그림인지’ 정도는 알 수 있게 됐다.

그리고, ThinkPad 관련 정보를 얻은 곳. 원문은 중국어로 되어 있지만, 영어도 제공이 되고 있고, 사실 설명이 그다지 중요하진 않았기 때문에.. (파일이 중요했지!)


다만, 이것 저것을 섞어쓰다가보니, 정확하게 어떤 설정으로 성공했는지는 좀 헷갈리는 상황이 됐다.
어쨌든, 1순위는 Dortania, 2순위는 Clay-BIOS 라 할 수 있다.

약 한달에 걸친 삽질을 짧게 정리하기란 불가능하니, 적당하게만 정리하도록 한다.

일단은, Dortania 설명서를 차근 차근 따라한다. 문제의 거의 대부분은 이 문서에 답이 있다.
macOS Installer 를 내려받고, USB 부팅 미디어를 만드는 방법부터 아주 자세하게 설명되어 있으므로, 어렵진 않다.

준비물?

해킨토시 설치를 위해선 설치하려는 PC 에 대한 자세한 하드웨어 정보가 필요하다. 이를 위해서 MS Windows 나 Linux 가 필요하다. 또는, 기존에 설치되어 있는 해킨토시가 있으면 더 좋다.
다만, 실제로 해보니 Linux 는 정보를 얻는데 약간 문제가 있었다. 따라서, 가능하면 MS Windows 가 설치돼 있는게 좋을 듯 하다.

OpenCore 와 Clover, config.plist 에서 다른점

Clover 는 kext 나 driver 들 모두, 그냥 해당 디렉토리에 넣어주면 알아서 작동하는 방식이었다. (최근 Clover 는 어떻게 바뀌었는지 모르겠지만..) 허나, OpenCore 는 이 모두를 config.plist 에 등록시켜줘야 한다. 이게 어찌보면 편할 수도 있고 번거로울 수도 있는데..
편한 점은, 여러 상황을 설정해놓고 On/Off(True/False) 하면서 간단히 상황을 설정해볼 수 있다는 점에 있다. Clover 라면 매번 파일을 넣었다 뺐다 해야 하는데, 이건 config.plist 만 편집하면 되므로 편하다고 할 수 있다. (물론, 이건 때에 따라선 귀찮을 수도.)

또, 두 파일은 서로 호환이 되지 않는다. 따라서 새로 만들어야 한다.

ACPI

하지만 문제는 역시 ACPI/SSDT. 최대한 감정(?)을 자제하고, 정신을 맑게 한 뒤 이 부분을 읽고 제대로 따라한다. 짜증이 가득한 마음으로는, 100% 실패한다. 물론, 내가 그렇단 얘기.
SSDT 는 이미 만들어져있는 것을 사용해도 되지만, 가능한한 내 환경에 맞는 SSDT 를 만드는게 좋다.
한가지 아쉬움 점은, 이 작업에 필요한 SSDTTime 이 Linux 에서도 실행된다고 나와는 있는데, 적어도 KDE Neon 에선 성공하지 못했다. 이를 위해서라도 MS 윈도우가 있어야 할 듯.

Kernel(Kext)

중요한 부분이긴 한데, 일단 부팅용으로는 최소한만 설치한다. lilu, virtualsmc, whatevergreen, voodooPS2controller 등.

** 만약, ‘사과’에서 진행이 안된다면!
처음엔 사과까지 진입도 잘 안됐던 듯도 한데.. 아무튼 사과가 떠서 기뻐한 순간! 거기서 멈춰버리는 현상이 있었다.
이 문제에 대한 해결도 dortania 에 있다.

설치에 성공하고 난 뒤엔 물론, 좀 더 다양한 Kext 를 설치할 필요가 있다.

Drivers

HfsPlus.efi, OpenRuntime.efi. 이 두개면 충분하다.

설치 작업엔 성공했는데, 고정 드라이브(HDD/SSD)가 안보여??

이것 때문에도 한참을 고생했다. 우여곡절 끝에 설치 미디어 부팅에 성공하고, 설치 작업(기본 파일을 고정 드라이브로 복사하는 작업)을 마친 뒤 재부팅을 했다. 그런데, 여전히 설치 미디어에 있는 macOS 만 보이고, 고정 드라이브가 잡히질 않았다.

이 문제는 config.plist – UEFI – APFS: MinVersion 을 Catalina 로 설정해줌으로 해결할 수 있었다. 기본값은 0(Auto)로 돼 있는데, 어쩐 일인지 찾지를 못했다. 이 부분은 dortania 에 있는 이 설명으로는 조금 부족했다.
자세한 설명은 다른 문서에 있었다. 현재는 Big Sur 만 찾게끔 되어 있으므로, 카탈리나를 설치했으니 당연히 안보일 수 밖에.

이걸로 인해 내 짜증 수치는 또 다시 하늘로..

Wifi/BT

이건 별로 달라진게 없지만, 새로 정리했다.

배터리 표시기가 안보이는데..?

역시나 이 문제도 간단히 해결할 수 있다.

BackLight 단축키 활성화

역시 이 업계(?)에서 유명한 Olarila.com 에서 답을 찾을 수 있었다. 이 글에선 SSDT 가 아니라 DSDT 를 직접 고쳐서 사용하라고 하는데.. 이게 어떻게 다른 건지는 정확하겐 모르겠다. DSDT 가 좀 더 근원을 수정하는 듯은 한데.. OpenCore 에서는 SSDT 에 대한 내용만 있으므로, 일단은 SSDT 로 가기로 한다.

Kext 설명에 있는대로, Thinkpad13 에선 다음 작업을 해줘야 한다.

  • ACPI 추가: SSDT-XOSI.aml
  • ACPI 패치: Rename _OSI to XOSI
  • Kernel : BrightnessKeys.kext 등록

이러면 Fn + F5/F6 으로 밝기 조절이 가능해진다.

TrackPoint/TrackPad

여기가 좀 애매하긴 한데..
dortania 에선 여기를 참고.

ssdt_GPI0.aml 을 사용하는 방법과, ssdt-XOSI.aml 을 사용하는 법. 두가지가 있다. 두 방법 모두 TrackPoint 가 멈추는 문제가 있다. Trackpad 만 건드리면 괜찮은데, TrackPoint 를 움직이면 작동할 때도 있고, 멈출 때도 있다. 해결책은.. 아직!

GPI0 로 하면, ssdt_GPI0.aml 을 등록하고, kext 에서 VoodooPS2Controller.kext, VoodooInput.kext, VoodooPS2Keyboard.kext, VoodooPS2Trackpad.kext 만 활성화한다. VoodooPS2Mouse.kext 는 비활성화한다. 이것까지 켜지면, TrackPoint 가 작동하지 않는다. (이게, 확실하진 않다.)

헌데, BackLight 단축키를 위해선 SSDT-XOSI 가 필요하므로, 위에 있는 대로 SSDT-XOSI.aml 을 활성화하고, 패치도 넣어준다.
그리고, VoodooPS2 kext 항목을 모두 활성화한다. 그래야 TrackPoint 까지 모두 작동한다.

** TrackPoint 멈춤 현상 해결?
전원을 완전히 껐다가 켜면(Cold Boot) 이 현상이 거의 매번 나타나고, 그 상태에서 재부팅하면 정상 작동하기도 한다. 이렇단 얘기는 ACPI 쪽 수선(?)이 필요하다는 건데..
외부 마우스를 연결해서 쓸 땐 아무 이상이 없다. 물론, 멈췄던 포인터도 다시 살아난다.


그외, 좀 더 맥처럼 쓸 수 있는 방법들도 있는데.. 거기까진 굳이 필요없고, 이 정도 선에서 만족하려 한다. 그렇게까지 파고 들다간, 안 그래도 나쁜 성격 완전히 버릴 지도 모른다.

아직, Linux 를 부팅시키는 방법을 적용하진 않았다. 물론, 이 내용도 다 정리돼 있다. 직접 리눅스를 부팅시킬 수도 있지만, opencore 에서 refind 를 실행하는 방법을 찾아보려 한다.

또 한가지.. 여기까지 오고 보니 Big Sur 까지 도전해보고픈 맘이 생긴다. 일단 SSDT 와 Kext 가 완비되었으니, 큰 무리는 없을 듯도 한데.. (그냥 이걸로 만족하는건 어떨지..?)

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.