HP 800 G1 Twr, OC 0.6.9, BigSur 11.2.3 설치 + ALC221 문제해결
- 노란풍선
- 939
- 2
노란풍선님의 기기정보
시스템 사양 선택 | 1번 |
---|---|
설치필수파일첨부 | 첨부 |
글제목양식 및 공지숙지 | 숙지 |
HP EliteDesk 800 G1 Tower장비에 대한 OC 0.6.9 BigSur 11.2.3 설치 내용 및 OC에서 ALC221 Audio를 SSDT패치로 활성하는 방법입니다.
아래는 설치 필수 내용 정보만 추려 놓은 것이며, 세부 진행 방법은 아래 글을 참고하고, 내용은 이글을 참고하시면 될 것 같습니다.
글의 내용이 존칭어가 아닌 부분은 이해 부탁드립니다.
HW Specification
- HP EliteDesk 600 G1 TWR, (Recently BIOS(L01), Ver: 02.78 Rev.A, Apr 29, 2020)
- i7-4770 CPU @ 3.4GHz, 32GB 1600MHz DDR3 memory
- Graphics HP GeForce GT 630 2048MB
- (Added) RTL8111/8168/8411 Ethernet NIC
- (Disks) SSD 250GB *2, 2TB HDD
- (BT/WIFI) 다이소 USB 동글, inote BCM VPULSE BT동글
select OC & Big Sur version
- Big Sur 11.3의 USB 인식 문제로 결국 OC 0.6.9와 Big Sur 11.2.3으로 한다.
HW BIOS setup
다음의 내용을 참고하여, HP800G1 TWR의 BIOS를 설정한다. BIOS를 2014년 공장출하시 있던 것에서 최신 BIOS로 하니 좀 예민해 졌다. OC Boot후 macOS로 아예 못 넘어가기도 한다. 조심해라. (BIOS Update도 사실은 Audio문제로 해본것인데, 효과는 없었다. ㅎㅎ)
설치용 USB 만들기
- 설치용 USB의 macOS설치버젼 구성은 맥에서 직접 굽던가, 좌절금지님의 Ghost로 구하던가하여, 설치용 USB를 만든다.
기본으로 만들어진 설치용 USB에 기본적인 OC를 포함하는 EFI와 Haswell에 맞는 내용으로 EFI 파일들을 구성한다. 마지막으로 OC의 중요한 config.plist를 DORTANIA GUIDE를 중심으로 아래의 내용을 참고하여 반영한다.
- ACPI
- Add : SSDT-Plug, SSDT-EC-USBX (가이드 대로 따른다.)
- Booter
- DeviceProperties
- Add : PciRoot(0x0)/Pci(0x2,0x0)
- AAPL,ig-platform-id : Data : 0300220D
- device-id : Data : 12040000 (이것만 지정한다. framebuffer관련은 하지 않는다.)
- Add : PciRoot(0x0)/Pci(0x1b,0x0)
- layout-id : Data 0B000000 (어차피 동작은 아직 안한다.)
- Add : PciRoot(0x0)/Pci(0x2,0x0)
- Kernel
- Add(kexts) : Lilu, VirtualSMC, SMCProcessor, SMCSuperIO, IntelMausi, AppleALC, USBInjectAll, WhateverGreen, RealtekRTL8111.kext (이건 해당장비에 개인이 추가한 NIC이기 때문에 미리 추가해 둔다.)
- Quirks YES : AppleXcpmCfgLock, DisableIOMapper, DisableLinkeditJettison, PanicNoKextDump, PowerTimeoutKernelPanic, XhciPortLimit, LapicKernelPanic (HP only YES)
- Misc
- Debug > Target : 67 (나중에 Log가 쌓이는게 싫으면, 옵션Bit를 바꾸어 주면 된다.)
- Security YES : AllowNvramReset, AllowSetDefault, BlacklistAppleUpdate
- Security > SecureBootModel : Default
- NVRAM
- Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82
- boot-args : -v keepsyms=1 debug=0x100
- prev-lang:kbd : String : en-US:0
- Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82
- PlatformInfo (해당 내용은 설치 후, 새로 얻은 또는 기존 사용하던 Key를 최종으로 주입해 준다.)
- Generic > MLB : ****
- Generic > SystemSerialNumber : ****
- Generic > SystemUUID : ****
- Generic > ROM : ****
- Generic > SystemProductName : imac15,1 (Dortania의 권장대로 진행한다.)
- UEFI
- Connect Drivers : YES
- APFS YES : EnableJumpstart, HideVerbose
- Drivers : HfsPluse.efi, OpenRuntime.efi
- Quirks YES : IgnoreInvalidFlexRatio, DeduplicateBootOrder, ReuestBootVarRouting
USB Boot & Install macOS
- 통상적인 절차로 설치용 USB로 BigSur 설치를 진행한다. 설치 중간에 아래의 SIP Disable을 포함하여 진행하고, 설치를 완료한다. 설치가 완료되고 USB의 EFI를 SSD로 복사해 주는 것도 잊으면 안된다.
- Security SIP Disable: customMac설치 처음화면, 즉 SSD를 지우고 다시 구성하는 과정에서 macOS설치를 시작하기 전에 Terminal을 열어 다음의 명령으로 macOS의 SIP 기능을 Off한다. (macOS사용하다 보면, 이 명령이 필요할 때가 있다.)
$ csrutil disable
- 설치가 완료되면, Serial Key를 만들어 넣어준다. ROM 값은 NIC값이니 참고하여 주입한다.
- WiFi 및 BT관련된 것은 준비된 장치에 따라 설정한다. Fenvi T919를 사용한다면, 특별히 준비할 것이 없을 것이다.
HP 800 G1 의 Audio문제 해결하기
- HP 800 G1은 OC기반에서 Audio를 활성화가 되지 않는다. 이 문제는 기본적으로 PC의 Clock을 위한 HPET(High Precision Event Timer, 과거 TSC, ACPI_PM의 역할)와 Audio와의 IRQ충돌에 의해 Audio가 사용 가능하지 않게 되기 떄문이다. layout-id 아무리 바꾸어도 Audio를 사용할 수 없다.
- HP 800 G1은 Haswell을 사용하고 있으며, Haswell/Broadwell이하의 장비들은 HPET 장치와 내부의 다른 장치들과 IRQ충돌로 Audio가 활성화 되지 않기 떄문이다. 과거 Clover기반일 경우, Haswell/Broadwell 이하 장비들에서도 이 현상이 발생하지 않았던 이유는 FixHPET옵션을 포함하여, 전반적인 ACPI관련된 Hot Patch들을 Clover에 포함하여 처리되었기 때문이다. 또한, 해당 현상은 최신 CPU들에서는 기본적으로 비활성화 되어 있으므로 문제가 되지 않는다고 한다.
- 해결 방법은 OC를 위한 HPET관련된 ACPI 패치를 만들거나 구하여 ACPI에 주입하는 것이다.
- 더 나은 이해를 위해 참고할 글 (아래 두 글은 정말 속시원한 내용이었다. ^^)
- https://x86.co.kr/qa/5859989 글에서 댓글에 있는 shl628님 내용
- shl628님의 https://x86.co.kr/mymac/5003460 글에서 5-14 HPET관련 내용 (이 글은 거의 ACPI의 SSDT/DSDT관련 지침서에 가깝다.)
- 나는 만들기 귀찮아서 인터넷에서 HP 800 G1 SFF (SFF모델이나 Tower모델이나 같을것이므로)에 해당 SSDT-HPET.aml을 만들어 놓은 것을 찾아서 사용하였다. 다행이 잘 된다.
- 참고한 자료 : https://github.com/asle/hp_800_g1_mini_hackintosh
- SSDT-HPET.aml 패치파일은 ACPI에 주입 한다. 해당 파일은 다운로드 후 압축을 풀어야 한다. aml파일이 직접 업로드가 되지 않아 ZIP으로 압축하여 올림 : SSDT-HPET.aml.zip
- config.plist에 ACPI관련 Rename주입, RTC와 TIMER관련된 IRQ8, IRQ0 및 HPET Rename을 설정하는 내용이다. HPET Rename과 관련된 값들은 SSDT-HPET.aml과 직접저기인 관련이 있다고 하며, 장비마다 다른 것 같다. HP800G1 이 아닌 장비라면 다른 값일 것 같다.
해당 SSDT-HPET.aml을 직접 만드는 방법은 해당 장비 WIndows를 설치하고, Windows용 SSDTTime 유틸리티를 사용하여 만든다고 되어 있는데, 시간 날때 직접 해 봐야겠다. 직접 만드는 방법의 위의 참고자료 링크를 참고하여 작업하면 될 것 같다.
마지막을 HP 800 G1 Twr에 사용중인 EFI 공유 합니다.
hp 800 g1 usdt 본체에도 호환이 될지 해봐야겠습니다.