x86 하드웨어 기반 Mac OS X 2008–2024 기술 아카이브
InfiniteMac OSx86 › Snow Leopard 10.6 › Gigabyte GA-EP45-UD3P 메인보드에 Snow Leopard 설치 및 커널…
239,943 reads · 2009-08-23 – 2009-09-04
검증 리포트 Snow Leopard 10.6 Gigabyte G31M / P35

Gigabyte GA-EP45-UD3P 메인보드에 Snow Leopard 설치 및 커널 패닉 해결

해킨토시 명기 메인보드인 Gigabyte GA-EP45-UD3P에서 Snow Leopard(10.6) 설치 후 하드 디스크 부팅 시 발생하는 커널 패닉을 해결하고 완벽한 64비트 리테일 환경을 구축하는 가이드 및 토론입니다.

주 저자
@dmtza 게시일: 2009-08-23
소속 컬렉션
Snow Leopard 10.6
아카이브 기록 규모
누적 조회 239,943회 · 선별된 필드 노트 22건 (원본 게시물 26건에서 추출) · 2009-08-23 – 2009-09-04
참여 및 검증 멤버 (6)
@machinist (10)@skydrone (9)@Obecny (4)@dmtza@DocShadow@mitchde
관련 하드웨어 참조
Gigabyte Motherboards ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
한국어 전문 번역 기술 문서 · 터미널 명령어, Kext 파일명, ACPI 노드 및 부트 플래그는 원문 그대로 보존됩니다영문 원본 보기 (Original English) →

현재 Gigabyte EP45-UD3P 메인보드에 Snow Leopard(SL)를 설치하려고 시도 중인데, 설치를 마친 뒤 SL 하드 디스크로 부팅을 시도하자마자 즉시 커널 패닉(KP)이 발생합니다.

혹시 이 메인보드에서 Snow Leopard를 성공적으로 구동하고 계신 분 있으신가요?

커뮤니티 실측 및 기술 필드 노트

총 26개의 원본 스레드 응답 중 기술적 가치가 높은 22개의 필드 노트 수록

필드 노트 #1 @Obecny 2009-08-23

저도 똑같은 질문으로 동참합니다. EP45-UD3P 보드인데 설치 후 첫 부팅 시 x32든 x64든 상관없이 무조건 커널 패닉(KP)이 뜹니다.

필드 노트 #2 @DocShadow 2009-08-23

그 현상은 이 메인보드만의 고유 문제가 아닙니다. 설치 직후 첫 부팅에서 발생하는 커널 패닉과 해결책을 다룬 스레드들이 이미 여러 개 올라와 있습니다.

한 줄로 요약하자면... 부팅 도중에 패닉이 난다면 부트로더/필수 Kext 설정 문제이고, 데스크톱 진입 직후에 패닉이 난다면 Kext 캐시 및 권한(Permissions) 문제입니다.

필드 노트 #3 @machinist 2009-08-23

UD3P 보드는 Snow Leopard가 아주 잘 돌아갑니다

혹시 'Project Snow' 가이드를 정독해 보셨나요? 그 글의 작성자가 바로 형제 보드인 EP45T-UD3P를 사용하며 아주 상세한 단계별 설치 가이드를 제공하고 있습니다.

저는 EP45-UD3P 보드에 Q6600 쿼드코어 조합을 쓰고 있는데, 단 4개의 필수 Kext와 패치된 DSDT 하나만으로 Snow Leopard가 아주 매끄럽게 돌아가고 있습니다 (제 Sapphire HD 3870 그래픽 카드 때문에 겪는 사소한 문제는 별개지만요).

이 메인보드(UD3P)는 Snow Leopard와 궁합이 환상적일 만큼 좋은 보드입니다.

필드 노트 #4 @Obecny 2009-08-23 ↳ Re: @machinist
@machinist혹시 'Project Snow' 가이드를 정독해 보셨나요? 그 글의 작성자가 바로 형제 보드인 EP45T-UD3P를 사용하며 아주 상세한 단계별 설치 가이드를 제공하고 있습니다. 저는 EP45-UD3P 보드에 Q6600 쿼드코어 조합을 쓰고 있는데, 단 4개의 필수 Kext와 패치된 DSDT 하나만으로 Snow Leopard가 아주 매끄럽게 돌아가고 있습니다...

혹시 사용 중이신 패치된 DSDT 파일을 어딘가에 업로드해 주시거나 제 이메일로 보내주실 수 있으신가요?

필드 노트 #5 @machinist 2009-08-23

DSDT에 관하여

Project Snow 가이드 작성자가 해당 사이트에 본인의 DSDT를 `.dsl` 소스 파일과 컴파일된 `.aml` 바이너리 두 가지 형식으로 모두 올려두었습니다. 다만 그분의 오디오 설정은 님의 보드에서 수정 없이 바로(OOB) 작동하지 않을 수 있습니다. 후면 검은색 오디오 단자와 관련된 문제인데, DSDT 내 HDEF의 `layout-id`를 "12" 대신 10진수 "66"(또는 16진수 바이트 배열로 `0x42, 0x00, 0x00, 0x00`)으로 바꾸고 올바른 `codec-id`를 넣어주면 사운드가 완벽히 잡힐 겁니다. 지금까지 다른 UD3P 유저분들 모두 그 방법으로 해결했습니다.

또는 InsanelyMac 포럼에 가보시면 UD3x 시리즈 보드용으로 Snow Leopard 맞춤 DSDT를 직접 수정하는 방법을 단계별로 상세히 정리한 `.pdf` 가이드 스레드가 있습니다.

만약 스페인어를 읽으실 수 있다면 Pere 님이 운영하는 `osx86.es` 사이트에 방대한 DSDT 자료가 구축되어 있습니다.

다만 제 DSDT 파일을 그대로 쓰신다고 해서 지금 겪고 계신 부팅 커널 패닉이 해결되지는 않을 겁니다.

현재 전체 하드웨어 사양이 어떻게 되시나요?

필드 노트 #6 @Obecny 2009-08-23

제 서명란에 상세 하드웨어 사양을 업데이트해 두었습니다. 이제 영어로 된 DSDT 패치 가이드를 본격적으로 검색해 파고들어 보겠습니다.

필드 노트 #7 @skydrone 2009-08-24

machinist 님, 혹시 이 보드(듀얼 랜)에서 Bonjour 네트워크 기능이 정상 작동하시나요?

제 보드에서는 작동하지 않네요.

그리고 사용 중이시라는 4개의 Kext가 구체적으로 무엇인지 알려주실 수 있나요?

필드 노트 #8 @machinist 2009-08-24

skydrone 님께:

저 역시 10.5.8과 10.6 양쪽 모두에서 DSDT를 통해 내장 RTL8111/8168(8169 드라이버 로드) 기가비트 랜을 잡았을 때 Bonjour는 작동하지 않습니다. "전이중(Full Duplex)" 기가비트 통신 자체는 잘 되지만요. 아직 Bonjour를 완전히 포기하진 않아서 활성화할 방법을 계속 백방으로 시도해 보는 중입니다. 방금 Realtek 공식 웹사이트에서 8169용 Mac 드라이버를 받아 설치해 봤는데 눈에 띄는 변화는 없네요. 혹시 내장 랜이 Bonjour와 사이좋게 작동하게 되면 바로 공유하겠습니다.

혹시 Bonjour 활성화를 위해 시도해 보신 다른 방법이 있으신가요?

제가 Snow Leopard에서 사용 중인 단 4개의 Kext는 다음과 같습니다:

- FakeSMC.kext
- NullCPUPowerManagement.kext
- OpenHaltRestart.kext
- PlatformUUID.kext

님은 어떤 Kext들을 사용 중이신가요?

필드 노트 #9 @skydrone 2009-08-24

저도 님과 완전히 똑같은 상황입니다. 유선 이더넷 자체는 1Gbit 속도로 아무 문제 없이 잘 붙고, Finder에서 SMB(삼바) 공유 폴더들도 잘 보이고 접속도 됩니다. 하지만 예를 들어 Cyberduck이나 Things처럼 Bonjour(mDNS) 프로토콜을 사용하는 앱들에서는 로컬 네트워크의 공유 리소스를 전혀 찾지 못합니다.

오늘 퇴근하고 집에 가면 `RealtekR1000.kext`를 한 번 테스트해 보고 결과를 알려드리겠습니다.

저는 님이 쓰시는 4개 Kext와 동일한 구성에 잠자기 기능을 위해 `SleepEnabler.kext`와 `Disabler.kext`를 추가로 넣어 쓰고 있습니다. 그 두 개가 없으면 제 세팅에서는 잠자기가 작동하지 않더군요.

필드 노트 #10 @mitchde 2009-08-24

**Bonjour 및 Time Machine 오류**(둘 다 동일한 근본 원인입니다!)는 **DSDT 패치**로 해결할 수 있습니다.
문제의 원인은 OS X가 우리의 메인보드 내장 랜카드를 **내장형(Built-in, en0)** 장치로 인식하지 못하기 때문입니다. 그래서 Bonjour와 Time Machine이 작동하지 않는 것입니다.
DSDT에 Time Machine 수정 패치를 넣어 `built-in` 속성을 주입해 주면 `IONetworkingFamily`나 랜 드라이버 Kext를 따로 건드릴 필요가 없습니다.

다음 가이드를 참고하세요:
http://www.insanelymac.com/forum/index.php?showtopic=14… ↗

필드 노트 #11 @skydrone 2009-08-24

좋은 정보 감사합니다, mitchde 님.

혹시 이 메인보드(UD3P)에서 해당 DSDT 패치를 직접 테스트해 보셨나요? Bonjour까지 정상 작동하는지 확인해 주실 수 있나요? 지금 밖이라 집에 도착하는 대로 바로 적용해 보겠습니다.

필드 노트 #12 @skydrone 2009-08-24

당장 테스트해 보실 분들을 위해 DSDT의 네트워크(PEXx / GIGE) 섹션 아래에 추가해야 할 `_DSM` 코드 조각을 남겨둡니다:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"built-in",
Buffer (One)
{
0x01
},

"device_type",
Buffer (0x09)
{
"ethernet"
},
"name",
Buffer (0x24)
{
"Realtek RTL8111/8168B PCI-E Gigabit"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

필드 노트 #13 @machinist 2009-08-24

skydrone 님께

그 DSDT 코드는 제 시스템에서 아무런 변화도 가져오지 못했습니다. 순정 `AppleRTL8169Ethernet` 드라이버에서는 여전히 반쪽짜리 Bonjour만 작동합니다: 즉, 이 컴퓨터가 공유한 리소스는 네트워크상의 다른 Mac들의 Finder 사이드바에 자동으로 나타나지만, 정작 다른 컴퓨터들의 공유 리소스는 이 컴퓨터의 Finder 사이드바에 전혀 나타나지 않습니다(수신 불가). 반면 Psystar가 배포한 32비트용 `RealtekR1000.kext`를 쓰면 양방향 모두 완벽하게 작동합니다.

혹시 님은 저 DSDT 코드만으로 양방향 탐색이 모두 작동하시나요?

mitchde 님께: "Built-in" 인식이 Time Machine과 Bonjour의 필수 전제 조건인 것은 맞지만, 그것만으로는 충분하지 않습니다. 제 듀얼 랜 포트 두 개 모두 시스템 프로파일러에 분명히 "built-in: Yes"로 표시되고 있음에도 순정 8169 드라이버에서는 Bonjour가 단방향(송신)으로만 작동하기 때문입니다.

참고로 듀얼 랜 보드에서 오류 없는 진정한 "Built-in" 상태를 얻으려면 두 랜 포트 각각에 독립적으로 "Time Machine Fix"를 적용하고 고유 시스템 UUID까지 확립해 주어야 합니다. 저는 `PlatformUUID.kext`를 사용해 `smbios.plist` 및 디스크 유틸리티의 시동 디스크 UUID와 동기화해 두었습니다 (Voodoo 포럼의 "Error 35" 스레드 23번 답글 참고: http://forum.voodooprojects.org/index.php?PHPSESSID=hc9… ↗).

이는 저만의 특수한 현상이 아닙니다. EP45T-UD3P 가이드를 작성한 분 역시 EFI String으로 포트 하나를 내장 인식시켰을 때 똑같은 단방향 Bonjour 증상을 겪고 있다고 보고했습니다: http://www.insanelymac.com/forum/index.php?showtopic=16… ↗

(참고로 그 글 작성자는 "어떤 정품 Mac도 듀얼 이더넷을 탑재하지 않는다"고 잘못 단정하고 있는데, 모든 정품 Mac Pro 워크스테이션에는 기본적으로 듀얼 기가비트 이더넷 포트가 탑재되어 있습니다.)

물론 반쪽짜리 Bonjour라도 아예 안 되는 것보단 낫지만, 참으로 기묘한 멀티캐스트 필터링 버그임에는 틀림없습니다.

필드 노트 #14 @skydrone 2009-08-24

방금 집에 도착해서 첫 번째 테스트로 `/Extra/Extensions.mkext` 안에 `RealtekR1000.kext`를 포함시키고 `com.apple.Boot.plist`에 `arch=i386`(32비트 커널)을 넣어 부팅해 보았습니다.

하지만 아무런 변화가 없네요. SMB 공유는 여전히 Finder에 뜨지만, Cyberduck의 Bonjour 탭에서 제 iPhone을 전혀 찾지 못하는 걸로 보아 Bonjour 수신이 아예 안 되는 것 같습니다.

혹시 Bonjour 작동 여부를 손쉽게 검증할 수 있는 방법이 있을까요?

필드 노트 #15 @skydrone 2009-08-24

마침내 해결했습니다! 완벽하게 작동합니다!

비결은 바로 네트워크 카드(NIC)를 **무차별 모드(Promiscuous mode, `promisc`)**로 전환해 주는 것이었습니다! : :

필드 노트 #16 @machinist 2009-08-24 ↳ Re: @skydrone
@skydrone마침내 해결했습니다! 완벽하게 작동합니다! 비결은 바로 네트워크 카드(NIC)를 무차별 모드(Promiscuous mode, promisc)로 전환해 주는 것이었습니다! : :

축하드립니다, skydrone 님!

혹시 `R1000.kext`를 사용한 상태에서 성공하신 건가요?

온보드 Realtek 8168C/8111C 랜카드에서 무차별 모드(Promiscuous mode)를 어떻게 활성화하셨는지 구체적인 방법을 알려주실 수 있나요?

필드 노트 #17 @skydrone 2009-08-25

감사합니다, machinist 님!

`R1000.kext` 같은 별도의 서드파티 Kext는 전혀 필요 없으며, 64비트 순정 Apple 드라이버(`AppleRTL8169Ethernet.kext`) 그대로 작동합니다!
유일하게 필요한 작업은 아래 스탠퍼드 대학 링크에서 `promisc` 플래그 지원이 추가된 수정판 `ifconfig` 바이너리를 다운로드하는 것뿐입니다:

stan ford.edu/~dub/macstuff/ifconfig.tgz

그리고 부팅할 때마다 이 수정판 `ifconfig`로 랜카드 인터페이스(예: `en0`)를 `promisc` 모드로 설정(`sudo ifconfig en0 promisc`)해 주기만 하면 순정 드라이버의 멀티캐스트 패킷 드롭 버그가 우회되어 양방향 Bonjour가 완벽히 살아납니다!

필드 노트 #18 @machinist 2009-08-31

Bonjour 테스트 결과

skydrone 님께:

멋진 수정판 `ifconfig` 프로그램 링크를 공유해 주셔서 감사합니다. 하지만 안타깝게도 제 환경에서는 여전히 "Bonjour"—정확히는 제가 원하던 수신 기능—가 작동하지 않네요. 네트워크에 연결된 다른 Mac/해킨토시에서는 여전히 이 컴퓨터를 "발견"하고 Finder 사이드바에 공유 폴더를 자동으로 띄워주지만, 반대로 그 다른 컴퓨터의 공유 폴더는 이 컴퓨터의 Finder 사이드바에 전혀 나타나지 않습니다. 혹시 님은 그 양방향 Finder 사이드바 자동 표시 기능이 완벽히 작동하시나요?

아직 포기하지 않았습니다. 일부 자료에서 `IONetworkingFamily.kext` 내부 8168/8169 드라이버의 "체크섬 오프로드(Checksum offload)" 설정이 원인일 수 있다고 하길래 그것도 활성화해 보았으나 소득이 없었습니다.

아직 실험해 볼 아이디어가 몇 가지 더 남아 있으니 성공하면 공유하겠습니다.

완성하신 "Bonjour"를 즐기시길 바라며, 해결 과정을 기꺼이 공유해 주셔서 거듭 감사드립니다.

필드 노트 #19 @skydrone 2009-08-31

machinist 님,

네트워크 관련해서 패치된 Kext들을 전부 걷어내고 100% 순정(Vanilla) Kext 상태로 되돌린 뒤 다시 시도해 보세요. 그런 다음 터미널에서 `ifconfig`를 쳐서 네트워크 어댑터 플래그에 실제로 `PROMISC`가 켜져 있는지 확인해 보시기 바랍니다.

작동 여부는 Cyberduck의 Bonjour 탭을 열어보면 즉시 확인하실 수 있습니다. 이미 수많은 분들이 이 `ifconfig promisc` 방법으로 해결하셨기 때문에 님의 보드라고 안 될 이유가 없거든요.

그렇게 한 번 테스트해 보시고 결과를 더 자세히 알려주시겠어요?

필드 노트 #20 @machinist 2009-08-31

skydrone 님께:

모든 Kext를 100% 순정(Vanilla) 상태로 두고 테스트해 보았지만 증상은 여전합니다. 두 대의 해킨토시를 네트워크로 연결했을 때, 상대방 컴퓨터에서는 이 컴퓨터의 공유 목록이 잘 보입니다. 이 컴퓨터에서 파일 공유를 끄면 상대방 Finder 사이드바에서도 즉시 사라지고요. 하지만 그 반대 방향(상대방 컴퓨터를 이 컴퓨터에서 보는 것)은 오직 `RealtekR1000.kext`를 썼을 때만 작동합니다. 참고로 `R1000.kext`가 로드된 상태에서는 `ifconfig`에 `promisc` 모드가 표시되지도 않는데 잘 작동합니다.

순정 드라이버 상태에서 `PROMISC` 플래그가 정상 활성화된 것을 두 번 세 번 확인하며 절차를 반복해 보았습니다. 물론 제 쪽의 "휴먼 에러" 가능성을 완전히 배제할 순 없겠지만 가능성은 낮아 보입니다. 요약하자면 `R1000`을 쓰면 다른 해킨토시의 공유가 보이고, 순정 드라이버 + `promisc` 조합에서는 안타깝게도 보이지 않습니다.

혹시 님은 두 대의 Mac을 연결하고 파일 공유를 켰을 때 Finder 사이드바에서 상대방 컴퓨터가 바로 보이시나요?

필드 노트 #21 @machinist 2009-09-01

skydrone 님께:

최근 InsanelyMac의 아래 스레드에서도 바로 이 "`promisc` 패치법"에 대한 열띤 논의가 이어지고 있더군요:

http://www.insanelymac.com/forum/index.php?showtopic=18… ↗

거기서도 어떤 유저는 양방향 공유가 다 보이는 완벽한 Bonjour를 만끽하고 있는 반면, 또 다른 유저의 Snow Leopard 머신은 다른 기기들을 "볼 수는" 있는데 정작 다른 기기에서는 자기가 보이지 않는—즉 제 Snow Leopard가 눈먼 상태인 것과 정반대의—기현상을 겪고 있다고 합니다.

스레드 맨 끝부분에 해당 보고들이 올라와 있습니다.

님도 흥미로워하실 것 같아 링크를 남깁니다.

필드 노트 #22 @machinist 2009-09-03 ↳ Re: @skydrone
@skydronemachinist 님, 네트워크 관련해서 패치된 Kext들을 전부 걷어내고 100% 순정(Vanilla) Kext 상태로 되돌린 뒤 다시 시도해 보세요. 그런 다음 터미널에서 ifconfig를 쳐서 네트워크 어댑터 플래그에 실제로 PROMISC가 켜져 있는지 확인해 보시기 바랍니다...

skydrone 님께:

새로 **클린 리테일(Retail) 재설치**를 진행한 뒤 수정판 `ifconfig promisc`를 활성화했더니, 마침내 Bonjour가 양방향 모두 100% 완벽하게 작동합니다!! 클러스터 내의 다른 해킨토시들을 볼 수도 있고 상대방에게도 잘 보이게 되어 정말 기쁘고 놀랍습니다. 끝까지 도와주셔서 감사합니다!

교차 검증 및 토론 참여 멤버: @machinist @Obecny @skydrone
출처 및 기여자 이력 (등록된 기여자 6명 · 원본 스레드 #3747)
사용자명기여 역할게시물 수활동 기간
@machinist핵심 기여자102009-08-23 → 2009-09-03
@skydrone핵심 기여자92009-08-24 → 2009-09-04
@Obecny핵심 기여자42009-08-23 → 2009-08-24
@dmtza주 저자12009-08-23
@DocShadow기여 멤버12009-08-23
@mitchde기여 멤버12009-08-24

언어 선택 · Choose your language