질문 2020 LG그램17 (17Z90N)에서 해킨토시를 설치하려다가 막힌 부분이 있습니다...
- 투명와드
- 6162
- 35
투명와드님의 기기정보
질문용 시스템 사양 | 1번 |
---|---|
추가사양 및 설치(할)OS | 2020 LG Gram 17 (17Z90N) / Ventura |
공지숙지/증상설명 | 숙지 |
사양
CPU: i5-1035G7
iGPU: Intel Iris Plus Graphics
RAM: 8GB DDR4 3200MHz
랜카드: 인텔 Wi-Fi AX201
필수 바이오스 세팅을 마치고, 인터넷에 떠도는 IceLake EFI를 다운받아 포맷해둔 USB에 넣고, opencore로 Ventura dmg 파일을 다운받아 com.apple.recovery.boot 폴더를 마찬가지로 USB에 넣고, 부트로더에서 맥리커버리를 선택하는 것까지 했는데 아래 사진처럼 오류가 납니다... 여기까지 오는데에도 엄청 어려웠는데 산넘어 산인 것 같습니다..
이건 제가 USB에 넣었던 EFI 폴더입니다. 알려주실분이 계실까요.. (뭔가 다들 성공하시는 거 보니까 그냥 LG그램이 호환이 안되는 걸수도...)
투명와드
댓글 35
답변 감사드립니다!! 해킨정보의 공지 부분에 있는 글들과 오픈코어 가이드 공식 문서를 자세히 읽어보고, 최신버전의 opencore 공식 EFI 폴더를 수정해보겠습니다.
EFI 폴더를 확인해보니 Olarila 해외 해킨토시 커뮤니티의 범용 EFI 폴더이며
OpenCore 부트로더가 공식 버전이 아닌 MOD 버전입니다.
SSDT 도 불필요한 ACPI 패치가 있으며, 불필요한 Kext 도 넣어져 있습니다.
OpenCore 부트로더를 공식 최신 버전으로 교체하고 사용중인 Kext 도 모두 최신 버전으로 교체해주세요.
또한, 사용하지 않거나 불필요한 Kext 를 삭제하고 Config.plist 에서 불필요한 설정 및 옵션도 제거 및 수정해주세요.
EFI 폴더를 전체적으로 수정해야 하므로 아래의 사이트를 참고하여 EFI 폴더를 새로 만드는 방법도 있습니다.
질문글의 로그 사진을 보면 Memory Map (MMIO) 관련 문제로 보입니다.
Booter - Quirks 옵션을 적합하게 설정해야 합니다.
그리고, LG Gram 시리즈의 노트북 중에서 1xZ980, 1xZ990, 1xZ995 모델은
Booter - Quirks - ForceExitBootServices 를 True 로 설정해야 부팅이 가능한 경우가 있는데,
이 부분이 1xZ90N 모델에도 해당이 되는지는 저도 잘 모르겠네요.
우선, Booter - Quirks 옵션을 적합하게 설정, 여러 가지의 조합을 시도해도 안 된다면
ForceExitBootServices 를 True 로 설정해보세요.
추가로, LG Gram 17Z90N 노트북의 해킨토시 설치 사례와 EFI 폴더가 있습니다.
단, macOS Ventura 13 이상의 버전에서 사용하려면
OpenCore 부트로더와 사용중인 Kext 를 모두 최신 버전으로 교체하고 사용해야 합니다.
정말 자세한 답변 감사합니다ㅠㅠ 일단 알려주신 내용과 정보글과 공식문서 보면서 수정법을 배우고 직접 수정해보겠습니다. 감사합니다!!
윈도우가 설치된 SSD는 (노트북 기본 탑재) SAMSUNG MZVLB256HBHQ-00000 이고,
제가 해킨토시를 멀티부팅으로 설치 시도 중인 디스크는 ipTIME USB3.1 HDD3225 라는 외장하드 케이스에 SAMSUNG EVO 860 (500GB) 라는 SATA SSD를 넣고 사용 중입니다. 500GB 중 대부분은 게임과 백업용이고, 외장하드에서 나머지 용량은 해킨토시를 설치하기 위해 따로 128GB로 디스크를 분할했습니다.
외장 SSD 케이스를 통한 설치도 가능하지만, 디스크가 MBR 이 아닌 GPT 형식이어야 macOS 설치가 가능합니다.
또한, Samsung PM981a NVMe SSD 는 macOS 와 호환되지 않으며 장착되어 있는 것만으로도 부팅이 되지 않거나 커널 패닉이 발생할 수 있습니다.
그러므로, nvme=-1 부트 옵션을 적용하거나 SSDT 를 사용하여 SSD 와 장착된 슬롯을 비활성화해야 할 수도 있습니다.
제가 아까 위에 알려주신 github의 내용대로 따라해보고 있는데, opencore 0.8.5에서 macrecovery.py 를 이용해 Big Sur dmg를 다운받고, 깃허브의 EFI을 다운받아서 로그를 보기 위해 -v를 추가하고 PlatformInfo의 시리얼넘버를 바꾸는 등 지침대로 수정했습니다. 근데 "not an ALPS device, Error getting E7/EC report" 라는 오류가 뜨고 더 이상 진행되지 않습니다..
기존 EFI의 부트옵션에 -v 추가와 시리얼 넘버, MLB 등의 PlatformInfo만을 수정했습니다.
Error getting E7/EC report 로그는 VoodooPS2 에서 출력하는 로그입니다.
하지만, 이 로그는 부팅이 되지 않는 문제와 관련된 오류는 아니며 전체적인 로그를 확인해야 합니다.
전체적인 로그 화면을 보았을 때 저 부분에서 부팅이 멈춘 원인은
주로 EC Device 인젝션, AWAC/RTC, USB 와 관련된 문제입니다.
단, SSDT-EC.aml 이 넣어져 있으므로 EC Device 인젝션은 되어 있는 상태입니다.
그리고, AWAC/RTC 관련 부분은 위의 댓글에서 제가 드린 GitHub 사이트를 보면 BIOS 설정에서 다음과 같은 항목이 있습니다.
Advanced - Intel Advanced Menu - Platform Settings - System Time and Alarm Source => Legacy RTC
BIOS 설정에서 위와 같이 설정하였다면 SSDT-AWAC.aml 은 넣어져 있지 않아도 부팅이 가능합니다.
하지만, LG 노트북은 전원 버튼을 꾹 눌러서 강제 종료하면 다음 부팅시에 BIOS 설정이 모두 Reset 되는 특징이 있어서
macOS 를 부팅하는 도중에 부팅이 되지 않거나 커널 패닉이 발생하여 강제로 재부팅하면
BIOS 설정을 다시 해줘야 하는 번거로움이 있기 때문에 저는 SSDT-AWAC.aml 을 추가하는 것을 권장합니다.
USB 와 관련된 부분은 질문자님과 동일한 모델의 노트북이어서
USBToolBox.kext & UTBMap.kext 를 그대로 사용하여도 문제는 없을 것 같습니다.
만약, SSDT-AWAC.aml 을 추가하여도 위의 로그 사진에서 부팅이 멈추는 문제가 해결되지 않는다면
직접 USB Port Mapping 작업을 진행하여 생성한 USB Port Map Kext 를 적용하고
BIOS 설정에서 다음과 같이 설정하고 부팅해보세요.
Advanced - Intel Advanced Menu - PCH-IO Configuration - USB Configuration - XHCI Compliance Mode => Enabled
추가로, EFI 폴더를 확인해보니 제가 드린 GitHub 저장소 주인분이 일부 SSDT 관련 설정을 잘못한 것 같습니다.
Hot Patch & Override 방식의 ACPI 패치는 Rename 패치를 이와 연관된 SSDT 와 같이 사용해야 합니다.
Config.plist - ACPI - Patch 에서 아래의 사진과 같이 파란색으로 선택된 6개의 Rename 패치는
이와 연관된 SSDT 와 같이 사용해야 하지만, 해당 SSDT 가 넣어져 있지 않습니다.
또한, Config.plist 의 Kernel - Add 에서 Kext 로드 순서는
Lilu, VirtualSMC, WhateverGreen, AppleALC, SMC Plugins, 나머지 Kext 순서로 다시 정렬하는 것을 권장합니다.
제가 질문자님의 LG Gram 노트북 사양에 적합하게 필수적인 파일로만 구성하여 EFI 폴더를 만들어 보았습니다.
아래에 첨부한 EFI 폴더로 교체하고 다시 부팅해보세요.
추가로, macrecovery 툴을 이용하여 macOS 설치 디스크를 만드는 방법은
macOS Recovery 이미지 파일을 사용하여 macOS 를 설치하는 방식입니다.
즉, macOS 를 설치하는 과정에서 인터넷 연결이 필요하므로
적합한 유선/무선 LAN 카드의 Kext 를 적용하고 인터넷에 연결해야 합니다.
하지만, Intel 무선 랜카드의 Kext 드라이버가 macOS 설치 환경에서는 잘 작동하지 않을 수가 있어서
별도의 유선 LAN 카드 USB 동글 등을 사용하여 설치해야 할 수도 있습니다.
좌절금지님의 Ghost 이미지 파일을 사용하여 macOS 설치 디스크를 만들면 인터넷 연결이 필요하지 않습니다.
좌절금지님의 Ghost 이미지 파일은 Full macOS Installer App 을 복원하여 통째로 이미지로 백업한 파일이므로
macOS 를 설치하는 과정에서 인터넷 연결이 필요하지 않습니다.
우선적으로 위에 올려주신 수정한 EFI로 교체하고 다시 시도해봤는데, 처음으로 아래와 같은 화면이 나왔습니다.. 이런 화면 못볼 줄 알았는데ㅠㅠ 감사합니다..
현재 최신 버전인 macOS Sonoma 14.x 에서도 사용할 수 있는 EFI 폴더입니다.
단, AirportItlwm.kext 는 해당 macOS 에 맞는 버전으로 교체해야 합니다.
BigSur만 되는 줄 알았는데 아니였군요
Sonoma로 ghost 이미지 파일을 다운받고 AirportItlwm.kext 파일도 알맞게 교체해서 시도해보겠습니다!
그래픽이 7MB여서 저번에 직접 만들어주신 EFI에서 -igfxvesa 옵션만 빼면 바로 부팅이 안되고 에러가 나네요...
-igfxvesa 부트 옵션을 제거하고 Intel Iris Plus Graphics 내장 그래픽의 QE/CI 그래픽 가속이 활성화될 수 있도록
Config.plist 의 Device Properties 에 Properties 도 입력해야 합니다.
또한, Ice Lake 내장 그래픽은 CD Clock, DVMT 관련 설정이 올바르게 되어 있지 않으면
Unsupported CD Clock Frequency, Unsupported ICL Sku 커널 패닉이 발생하므로
-igfxcdc -igfxdvmt 부트 옵션이 필요합니다.
수정 후부터 부팅 로그가 계속 뜨다가 Black Screen 현상이 발생합니다..
config.plist 파일의 DeviceProperties와 boot-args를 제외하고는 변경사항이 없습니다.
Platform ID 는 0x8A520000 이 아닌 0x8A510002 를 사용해보세요.
그리고, igfxonln=1 부트 옵션 또는 force-online = 01000000 (Data) 속성을 추가해주세요.
또한, enable-cdclk-frequency-fix, enable-dvmt-calc-fix 속성을 추가한 경우에는
-igfxcdc -igfxdvmt 부트 옵션을 추가할 필요가 없습니다.
패치를 적용하는 방식이 부트 옵션으로 입력하는 방법과
Device Properties 로 입력하는 방법 두 가지가 있으며 한 가지 방법으로만 입력하면 됩니다.
HDMI 관련 패치와 LSPCON 패치 속성은 필요하지 않다고 생각됩니다.
-cdfon 부트 옵션 (또는 enable-hdmi20 속성)은 macOS Big Sur 11 이상의 버전에서는 작동하지 않으며
대신에 -igfxmpc 부트 옵션 (또는 enable-max-pixel-clock-override 속성)을 사용합니다.
그리고, 혹시 질문자님의 LG Gram 노트북의 디스플레이가 지원하는 최대 해상도가
1920x1200 이 아닌 2560x1600 (WQXGA) 이라면
-igfxmpc 부트 옵션 (또는 enable-max-pixel-clock-override 속성)도 필요합니다.
추가로, Intel 10th Gen Ice Lake CPU 의 Intel Iris Plus Graphics 내장 그래픽은
ICLLP Framebuffer 를 사용하여 QE/CI 그래픽 가속을 활성화하는데,
HDMI 단자로 외부 디스플레이 출력이 작동하지 않는다는 점 참고해주세요.
Apple 이 ICLLP Framebuffer 드라이버에서 HDMI 관련 코드를 제거해 버렸습니다.
아래에 첨부한 Config.plist 를 사용해보세요.
아래의 사진과 같이 Device Properties 를 수정하였습니다.
위 사진은 수정해주신 plist 파일로 교체 후 화면이 안 보이기 전 마지막 로그입니다.
해상도도 2560 x 1600 맞는데 왜 이러는지는 모르겠네요..
Config.plist - Device Properties - PciRoot(0x0)/Pci(0x2,0x0) 에서
framebuffer-stolenmem, framebuffer-fbmem 속성을 잠시 삭제하거나 속성 이름 앞에 #을 붙이고 저장한 후에
BIOS 설정에서 Ctrl + Alt + F7 키를 눌러서 숨겨진 고급 설정 메뉴를 언락하고
Advanced - Intel Advanced Menu - System Agent (SA) Configuration - Graphics Configuration 에서
DVMT Pre-Allocated 항목을 64 MB 또는 128 MB 등으로 높게 설정하고 다시 부팅해보세요.
두 개 옵션 지우고 바이오스는 64M나 128M 둘 다 마지막 줄 로그도 같고 이후에 화면이 꺼지네요.. 강종할 때마다 바이오스가 초기화되버려서 다시 세팅하느라 좀 걸렸습니다..
framebuffer-stolenmem, framebuffer-fbmem 속성을 다시 복원하고
framebuffer-unifiedmem 속성을 삭제하고
-igfxblt 부트 옵션을 추가하고 다시 부팅해보세요.
BIOS 설정은 변경하지 않아도 됩니다.
QE/CI 그래픽 가속이 활성화되었다니 다행입니다. :)
이제, 그 상태에서 BIOS 설정으로 들어가서 DVMT Pre Allocated 를 64MB, 128MB 등으로 높게 설정해보세요.
Ice Lake 내장 그래픽에서 커서 글리치 문제거 있는 편이며 DVMT, VRAM 과 관련이 있습니다.
아래의 나머지 안정화 작업들도 진행해보세요. :)
- 내장 사운드 출력
- USB Port Mapping
- 배터리 패치
- 터치패드 및 제스처 활성화
- 밝기 조절 Fn 키 Remapping
- 잠자기 & 깨우기
추가로, 제가 드린 EFI 폴더에는 ECEnabler.kext 가 넣어져 있는데
현재 이미 배터리 잔량 표시가 정상적으로 작동한다면 배터리 패치는 필요하지 않습니다.
ECEnabler.kext 는 ACPI 에서 EmbeddedControl Region 에 정의되어 있는
배터리 관련 FieldUnitObject 를 8 Bit 씩 읽을 수 있게 해주는 역할을 합니다.
단, ECEnabler.kext 를 사용하여도 배터리 잔량 표시가 정상적으로 작동하지 않는 경우에는
ACPI 에 배터리 패치를 직접 진행하는 방법 밖에 없습니다.
위 부분들은 영어를 잘 모르긴 하지만 최대한 영어로 검색해서 삽질해 보겠습니다.
근데 원래는 블루투스 연결이 잘 됐는데 블루투스 관련 kext가 있는 것도 확인했는데 연결이 왜 안될까요..
예전에 블루투스가 잘 될 때 페어링 해두었던 기기를 다시 연결하려고 하니 무한로딩이다가 결국 연결되지 않습니다..
USB Port Mapping 작업을 진행하여 생성된 USB Port Map Kext 를 적용한 후에
USBToolBox.kext, UTBDefault.kext 를 삭제하고 Kernel - Quirks - XhciPortLimit 을 False 로 설정해주세요.
블루투스와 연결된 USB 포트의 타입을 Internal (255) 형식으로 지정해야 합니다.
https://x86.co.kr/info
해킨정보 탭의 상단 공지사항을 필독하세요.
https://x86.co.kr/info/8277827