초보적인 해킨토시의 전반적인 동작원리를 이해하며 설치할수있도록 작성해본 문서입니다.
-boot1h 라던가 액티베이션 이라던가.. 해킨토시 구성의 방법에 있어 초보자에게 있어서는 이해가 어렵고 또 방법론상
이해할 필요도 없는 부분은 가능한 배제하였습니다. 꼭 필요한 부분에 대한 설명만을 첨부하였습니다. -너무 자세한 설명까지 다 하다보면
책한권이 될것 같아서 꼭 필요해 보이는 부분에 대해서만 설명하였습니다.
FAQ 도 아니고 따라하기식 설치 메뉴얼도
아닌 중간격의 문서로서 가장 중요한 "이해"를 하고 그러면서 어느정도 방법론을 제시하여 따라할 수 있도록 정리해보려 했는데 정말 어정쩡한 문서기
되어버렸습니다. 기본적으로 순서대로 이해하며 하나씩 해 나간다면 하드웨어가 받쳐주는 한도내에서 리테일 설치를 무리없이 할 수
있습니다.
현 시점에서의
부트로더는 netkas의 pc-efi와 통합되어 카멜레온으로 통일됩니다. 다만 기본형에서 조금씩 수정된 카멜레온의 여러 버전이
있습니다. 부트로더는 smbios.plist , dsdt.aml , com.apple.boot.plist , fakesmc.kext 를
포함한 각종 kext (사제 드라이버파일) 등을 읽어들여 일반PC 환경에서 맥정보를 제공하여 부팅시키고 동작할수 있도록 하는 가장 기본적인
부분입니다.
2.fakesmc.kext DSMOS 를 기점으로 발전했으며 일반적으로 "맥OS 의 암호를 풀어준다." 정도로
알려져 있는데 근래들어 보다 많은 기능을 포함하고자 하는 의도가 있어 부트로더인 카멜레온과 조금은 중첩된 기능을 동반하기도 합니다. 부트로더나
fakesmc.kext 둘의 발전속도에 따라 fakesmc.kext 는 향후 부트로더에 포함될 가능성도 있어 보입니다. 이것이 없으면 부트로더가
없는 것과 마찬가지로 부팅되지 않습니다.
3.dsdt.aml 부트로더를 통해 연계되며 실질적으로 맥과 다른 하드웨어를 맥과
동일한 하드웨어 환경으로 인식하고 동작하도록 후킹(hooking) 해주는 역할을 합니다. 모든 pc 하드웨어의 환경이 다르므로 결코
부트로더만으로는 dsdt 로 후킹할수있는 수많은 개인pc 하드웨어 환경을 커버하기에는 무리가 있으므로 실질적으로 해킨토시의 리얼맥과 같은 완전한 동작에 가장 핵심이 적인 부분이 됩니다.
어떤의미로 가상의 맥용 바이오스라고 할 수 있습니다.
4. 각종 해킨토시용 드라이버 *.kext 파일들. 오리지널 맥OS 에서
지원하지 않는 하드웨어를 지원하기 하게 위해 대부분 개인이 만든 것이므로 그 성능이 조잡합니다. (물론 완성도 높은 해킨드라이버도
있습니다만..) 그럼에도 해킨용 사제 kext 드라이버들이 사랑받는 이유는 어쩔 수 없이 해킨동작에 대한 이해가 부족한 초보자에게는
kext 드라이버가 잡아주는 하드웨어 조차도 감지덕지 하기 때문일것입니다. 더구나 단순히 내 하드웨어에 맞는 드라이버만 넣어주면 되니
어떤면에서는 가장 간편하기도 하지만, 결국 문제가 되는 것은 업데이트 입니다.
* 해킨토시용 kext 파일은 오리지널 맥용
드라이버(/System/Library/Extensions에 있는) 가 인식할 수 있도록 연계시켜주는 방식으로 동작하거나 --->
때문에 스노우레오파드가 업데이트되며 드라이버 구조를 바꾸어버리면 기존에 이 방식으로 동작하던 드라이버는 더이상 동작하지
않습니다.
* 직접 애플에서 만든(/System/Library/Extensions )
드라이버인것처럼 애초에 맥에서 지원하지 않는 하드웨어에 대한 드라이버를 추가해서 동작하는 두가지 방식이 있습니다. 이 경우에도 만약 애플에서 동일한 하드웨어 드라이버 기능을 업데이트에 포함해버린다면 기능이
중첨되어 패닉되거나 혹은 엉망이 됩니다.
해킨을 조금 안다는 분들이 kext 드라이버를 없애고 fakesmc 하나만을 사용하도록
발전시키는 이유도 대부분 위와같은 이유입니다.
*초보자가 맥OS 상에서 해킨용 드라이버를 애초에 해킨용으로 관리하는
/Extra/Extensions 에 넣어두지 않고 /System/library/Extensions 에 설치하려면 해당 드라이버 kext 파일을
kextutil 이라는 프로그램 아이콘위에 (kextutil을 따로 실행하지 않은 상태로) 땡겨다가 1-2 초 정도 대기하면 오리지널 파일이
있는 곳에 설치해줍니다.
(다만 이 경우는 동일한 이름의 오리지널 파일이 있다면 해당 오리지널 파일을 없애고 드라이버를
복사해버리므로 해킨토시 관리가 힘겨워집니다.
/System/Library/Extensions 에는 정말 많은 드라이버 파일들이 있기 때문에 나중에는 무엇이 해킨파일인지조차 알아볼 수 없을
것입니다)
5. 커널(kernel) 일반적으로 바닐라 커널이라고 불리는 애플 맥OS 의 오리지널 커널입니다. 커널이란 모든 OS운영체제에서
가장 중요한 핵심부로 커널의 성능이 운영체제 전반적인 성능을 대표합니다. 오리지널 (바닐라)커널 을 사용한다면
B.
리테일(retail) 설치 그리고 배포본의 차이점. 리테일설치란 말 그대로 맥OS DVD 에서 제공하는 오리지널 파일 그대로를 설치하는
것을 말합니다. 배포본의 경우 지식이나 준비가 부족한 대상으로 하여금 설치할 수 있도록 수많은 해킨토시용 파일을 제공함으로서 여러종류의 pc 환경에 설치 할 수는 있으나
맥PC 의 오리지널 드라이버 파일이 설치되는 System/Library/Extensions 폴더에 해킨용 파일을 강제로 덮어씌움으로서 그야말로
해킨적인 환경을 제공합니다. 한마디로 배포본은 사제커널과 사제드라이버등을 제공하는 것입니다.
C.해킨토시의 동작
원리
1.pc 를 부팅하면 부트로더인 카멜레온이 시작되며 해킨환경을 읽어들입니다.현재의 pc 에 하드디스크가 어떻게 위치하여있고
파티션 구성이 어떻게 되어있는지를 부트로더가 확인하고 하드디스크와 파티션에 스스로 번호(주소)를 구성해줍니다. 2. 부트로더가
dsdt.aml 에서 제공되는 가상바이오스 환경을 fakesmc.kext 파일과 함께 읽어들입니다.
2-1. 이 과정에서
/Extra/Extensions 에 해킨용 사제 드라이버 파일이 존재하면 함께 읽어들입니다. (부팅 CD 혹은 부팅USB 혹은 설치된
해킨상의 /Extra/Extensions 에 존재하는 모든 *.kext 드라이버파일)
3. 여기에서부터는 1번과 2번 과정에서
읽어들인 하드웨어 정보를 바탕으로 리얼맥과 동일하게 /system/library/Extension 폴더에서
필요한 드라이버를 로드하며 맥으로 부팅이 되고 맥을 사용할 수 있습니다. 때문에 이 리얼맥과 동일한 과정에서 리얼맥과 동일한 하드웨어 환경을1번과 2번 과정에서 제공하기 위한 준비를
해야합니다.
4. 인텔cpu 라면 오리지널 맥 커널인 바닐라 커널로 자연스럽게 부팅을 합니다. 그러나 AMD CPU 라면 애초에
맥OS 에서 지원을 하지 않으므로 인텔CPU 보다는 못하겠지만 어쩔수없이 커널까지도 사제커널을 쓰게됩니다.커널은 모든 운영체제에서 가장 중요한
핵심부입니다. AMD CPU 로 해킨을 설치하려는분이 적어도 리눅스 몇가지 배포본 조차 깔아보지 않은 컴맹에 속하는 분이시라면 시라면 그냥 리얼맥을 사시길 권장합니다.
--------------------------------------------------------------------------- 바이오스
CMOS 설정에서 반드시 필요한 것.
A. 오리지널 맥PC 는 AHCI 하드만을 지원합니다. AHCI 하드디스크 혹은 ODD
가 물려있는 모든 사우스브릿지(쉽게말해 메인보드에 달린 디스크 컨트롤러)를 AHCI 로 해주어야합니다. AHCI 가 지원되지 않는
사우스브릿지가 달린 메인보드라면 정말 IDE 를 지원하는 해킨용 설치본이나 설치파일이 필요합니다.
* 일반적으로 하드디스크를 기본
사우스브릿지 컨트롤러에 연결하는 것이 좋습니다. * 일반적으로 메인보드에는 2개 혹은 3개 이상이 되는 종류의 사우스브릿지가
달려있습니다. 바이오스에 존재하는 모든 사우스 브릿지 컨트롤러를 AHCI 로 바꾸어주어야 합니다. (바이오스 자체에선 디스크 컨트롤러를
IDE,AHCI 로 바꾸는 것만 있지 여러개의 디스크 컨트롤러가 있다보니 실제 하드디스크가 물려있는 칩셋을 착각하기 쉬움. 그냥 눈에띄는것
아무거나 하나를 AHCI 로 바꾸어놓고 실제 하드가 물려있는 칩셋의 IDE 로 놓는 초보적인 실수를 하지 않기바람) * 가능하면
하드디스크를 0번 포트에 꼽습니다.
B. USB 키보드 , USB 마우스 설정 맥은 USB 키보드와 USB 마우스만을
지원합니다.
---------------------------------------------------------------------------------------------------------------------------- **최초설치하는
맥OS 버전은 중요하다.
일반적으로 설치하는 레오파드와 그 최신버전인 스노우 레오파드가 있으나 정작 중요한 "버전" 의 이미는 일반적으로
최신버전의 설치DVD 일수록 애플에서 보다 많은 CPU 와 그래픽카드 등의 하드웨어 드라이버를
제공한다는 것에 있습니다. 가급적이면 높은 버전이 높을수록 본인의 CPU 나 그래픽카드 드라이버를 지원할 가능성이 높으므로 10.6.0
보다는 10.6.1이. 10.6.1 보다는 10.6.4가 본인의 CPU 와 그래픽카드를 지원할 가능성이 높아집니다.
가령
예를들어 스노우레오파드 10.6.2가 나온후 애플에서 i7-860 이라는 cpu 를 장착한 파워맥을 출시한다면
스노우레오파드 버전을 10.6.3 으로 업데이트 시키며 해당cpu가 동작할수있는 드라이버를 10.6.3 업데이트에 포함할 것이기 때문에,
10.6.3 버전의 스노우레오파드인스톨 DVD 로 설치한다면 설치가 쉬워지기 마련입니다. 이 경우 애플측에서 판매하는 오리지널 제품역시 애초에 i7-860 이라는 cpu 가
달린 제품에서 최초에 문제없이 동작해야하므로 10.6.3 버전의 스노우레오파드를 함께 제공할
것입니다. ---------------------------------------------------------------------------------------------------------------------------
A.
BOOT132.iso + 스노우레오파드 오리지널Retail DVD 해킨토시 최초 설치의 경우 가장 보편적이고 쉬운
방법입니다. 기본적으로 카멜레온 부트로더는 ODD(DVD) 부팅을 지원하지 않기 때문에 DVD 를 읽어들일 수 있는 환경을 제공하는 또다른
종류의 카멜레온인 boot132.iso 파일을 이용해 CD 를 굽고, 구운 시디로 기본 부팅을 하면 이 과정에서 해킨토시의 구성에서 살펴본 4가지 요소를 메모리에 읽어둔 후. ,
CD 를 갈아끼워 스노우레오파드 오리지널 DVD 를 통해 설치를 위한 부팅을 할 수 있습니다.
B. iboot + 스노우레오파드
오리지널 Retail DVD USB 로 해킨을 부팅할 수 있는 소스가 있으면 boot132 나 iboot 등이 불필요해
지기때문에,iboot 를 사용해본적은 없으나 boot132.iso 보다 조금 더 최신의 부트로더를 사용하고 있는 진화형으로 보입니다. 결국 A
와 B 는 동일합니다. 일반적으로 iboot+Multibeast 결합상품 정도로 인식되고 있으나 사실상 multibeast 의 사용은 질
떨어지는 배포본에 가까워 배제합니다.
C. USB 혹은 하드디스크에 설치된 카멜레온을 이용한 부팅 일반적으로 boot132
보다는 최초설치가 어렵습니다. 카멜레온자체를 인스톨 해야하는데 초보자가 카멜레온을 부팅하기 위해선 이미 설치되어 맥으로 부팅할 수 있는
환경이 필요합니다. vmware 의 가상 환경에 스노우레오파드 혹은 그냥 레오파드도 상관없습니다만, 맥OS 를 설치 한 후 카멜레온 인스톨러를
이용해 설치용 USB 등을 만들 수 있습니다
]
** boot132, iboot, usb 에
설치된 카멜레온. 모두 부트로더 버전 자체를 제외하고는 동작방식이 해킨토시의 동작 원리에서 읽은 것과
동일합니다. /Extra/Extensions 에 있는 fakesmc.kext 를 읽어야 하며, 적어도 하드디스크 컨트롤러가 설정된
DSDT.aml 을 포함하지 않는다면 보드에서 사용하는 사우스브릿지(디스크컨트롤러)를동작하게해주는파일.kext
파일만은 필요합니다. 가령 내pc에 jmb363이라는 사우스브릿지 칩셋만이 있다면 Jmb???.kext 등 Jmicron???.kext
등의 해당 디스크 컨트롤러드라이버가 A방식 B 방식 혹은 C 방식모두 /Extra/Extensions 에 들어있어야 한다는 것입니다. 또한
nullpowercpumanagement.kext 파일도 초기설치본에는 넣어두는 것이 좋습니다.(일반적으로 초보자용 부팅도구라면 어지간해선 모두
들어있습니다)
Part2 - 하드디스크의 준비 및
설계
어차피 스노우레오파드 자체를 하드디스크에 설치하는 것이므로 파드디스크 파티셔닝이나 구성을
결정해야합니다. 최소한 리테일을 설치하려면 전체를 포맷할 수 있는 하드디스크 한대 정도는 준비하시기 바랍니다.
*언제나
윈도우와의 멀티부팅이라면 윈도우 부트로더를 최초의 부트로더로 사용할 것입니다. *리얼맥에 가까워지기 위해 오리지널 맥에서 사용하는 파티션
방식인 GUID (GPT) 로 사용합니다. *mbr 패치는 배제하고 순수 오리지널 설치 DVD 안에 있는 내용물만 사용하도록 합니다.
어차피 하드디스크를 초기화 할 경우 MBR 로 설치해야할 하등의 이유가 없습니다. *멀티부팅에서 이부분에 대해 착각하시는 분들이 많으신데
맥용 부트로더를 통해 멀티부팅 하고자 할 경우 일차적으로 맥용 부트로더인 카멜레온이 맥을 위해 각종 맥 하드웨어로 변형된 환경 정보를 읽어들인
후 윈도우로 넘어가므로 윈도우xp 는 부팅이 어려우며, 윈도우7의 경우 운영체제 자체적으로 하드웨어의 변형이나 환경의 변경에 비교적 많은
호환성을 가지고있어 부팅과 동작은 무리없이 하지만 썩 바람직하지는 못합니다. (카멜레온 부트로더가 멀티부팅 메뉴 단계에서는 kext 드라이버나
fakesmc 등은 제외하고 읽음) 때문에 멀티부팅시 최초의 부트로더는 윈도우용 부트로더여야 합니다.
A. 맥 Only
환경 설치DVD 혹은 USB로 부팅하여 디스크 유틸리티로 하드디스크 파티션을 잡을때 일반 맥과 같이 본인의 마음대로 구성하면
됩니다.
B. 윈도우와의 멀티부팅을 위한 파티션 구성 -(하드디스크 두대를 이용할 때)
가장 쉬운방법론은
이것입니다.
0 번하드 윈도우 xp , 윈도우7 설치 (이부분은 마음껏 구성하면 됩니다) 1 번하드의 파티션 구성 , (1번째
파티션엔 당연하게도 스노우레오파드를 설치하게 되고 두번째 혹은 세번째 파티션을 fat32 로 포맷합니다.) 어차피 NTFS For MAC
8.0 버전을 설치하게되면 NTFS 파티션도 일반 맥 파티션과 같이 안정적으로 쓸 수 있으므로 약간의 공간만을 FAT32나 NTFS 파티션으로
할당해주면 어떤 경우라도 윈도우용 멀티부팅 부트로더가 맥용 부트로더를 인식합니다.
C. 맥OS 와 윈도우XP 혹은 윈도우7을 하나의
하드에 설치하고 멀티부팅 하고자 할 때.
맥용 파티션 GUID(GPT) 로 된 하나의 하드디스크 에서 아래와 같이 파티셔닝
합니다.
1번 파티션 스노우 레오파드 2번 파티션 맥용 파티션 3번 파티션 윈도우xp 혹은
윈도우7설치를 위한 fat32 혹은 NTFS 파티션 4번 파티션 마음대로..
D. RAID 하드에 설치. 기본적으로
하드디스크를 RAID 하는 것은 운영체제 자체보다는 작업 파일의 Read & Write 속도 때문입니다. 운영체제 자체를 RAID
하드에 설치할수는 있으나 가급적 피하는 것이 좋으며, 스노우레오파드 설치된 하드 + 작업용 RAID 하드로 분리시키는것이 특히나
해킨상에서의 관리 용도로 좋습니다. 필요한 경우 윈도우체제에서 스노우레오파드가 설치된 맥하드를 읽어야 하는데 RAID 된 맥하드를 읽는것은
힘든 이유도 있습니다.
요즈음의 보드는 운영체제용 하드디스크 외에도 4대정도의 하드를 자체적으로 달수있을만한 공간이 있으므로,
맥OS 에서는 RAID 카드를 사용하지 않더라도 단순한 디스크 인식만으로 작업용 디스크를 소프트RAID 할 수 있습니다. 오히려
특정 디스크 컨트롤러에 맞추어 RAID 하지 않으므로 하드웨어RAID 보다 좋은 점이라면 맥OS 가 깔려있는 pc 라면 어떤 종류의
디스크 컨트롤러에 달아도 소프트 RAID 하드에 담긴 데이터를 보존하고 다시 읽을 수 있다는 장점도
있습니다.
A. 부팅 옵션 맥
커널 부팅 단계에서 일단 부트로더가 맥환경으로 부팅하기 위한 가장 기본적인 준비를 끝내면, 어떤 하드디스크의 어떤 파티션으로 부팅할 것인지를
물어봅니다. 이 단계에서 맥 자체에 있는 몇몇가지 부팅방식에 대해 (32비트 부팅, 64비트 부팅, 안전모드 부팅..등) 리얼맥과는 다르지만 수동으로 옵션을 입력하여 부팅할 수 있게
해줍니다.
가령 -v 옵션을 입력해 주고 부팅하면 맥의 사과마크 대신 시꺼먼 커널이 부팅하는 단계를 문자로
보여줍니다.
일반적으로 첫 설치를 할 때 -v -x -f arch=i386 옵션을 주고 부팅하는데 부팅중 패닉이 발생한다면 -v
옵션을 주었으므로 어떤 과정에서 오류가 발생했는지를 확인 할 수 있습니다. 가장 일반적인 오류가 waiting for boot device
인데 바이오스에서 ahci 설정이 안되어 있거나, 최초 부팅하는 CD,USB 등에 있는 dsdt 안에 규정된 디스크 컨트롤러 코드가
잘못되어있거나, /Extra/Extrnsions 에 파일중에 해당 사우스브릿지 (하드디스크 컨트롤러) 드라이버가 없는
것입니다.
최초 설치를 하고, 설치된것을 부팅을 하여 해킨토시를 안정화시키기 전에는 무조건 묻지도 따지지도 않고 -v -x -f
arch=i386 옵션을 주면 됩니다. 설치DVD 혹은 이미 설치된 스노우레오파드에 포함된 모든 드라이버를 풀어 읽어들이고, 안전모드로
부팅하게 하는 옵션이 첨부되어있으며, i386 옵션으로 32비트로 부팅시키므로 64비트 사제 드라이버가 없어서 부팅되지 않는 일은 없기
때문입니다. 멀티코어 cpu 패닉을 막기위해 cpus=1 옵션을 추가로 주기도 하지만 대부분 인텔cpu계열에서는 이 옵션을 추가로 줄 일이
없을 것입니다.
B. 부트로더는 어떤 파티션을 우선적으로 읽는가.
1. 일차적으로 처음 부팅하는 장치(USB, CD
등 에 있는 DSDT 파일과 해킨용 사제 kext 드라이버를 읽습니다. 2. EFI 파티션에 카멜레온과 /Extra 에 파일이 있다면
이것을 읽습니다. 3. 스노우레오파드가 설치된 파티션에도 kext 파일이 있다면 일단은 무식하게 중첩해서 읽어들입니다.
C.
부팅에 대해 조금 더 알아보면
1. com.apple.boot.plist - 이 파일은 원래 리얼 맥에도 있는 파일이지만
카멜레온에서는 어차피 맥에서도 사용하는 이 환경파일을 해킨토시 환경설정 파일로 사용합니다. 2. smbios.plist -
smbios.plist 라는 파일에 입력해두는 가상의 맥킨토시 기기버전 정보를 이용하여 cpu 클럭과 메모리동작등의 정보를 미리 리드하여 해킨토시에 사용하는 cpu 나 메모리 정보를 일반 맥pc 수준으로
인식시킬수 있도록 해줍니다. smbios.plist 가 굳이 필요하다 필요없다 의견은 분분한 편이나 분명 있는쪽이 좋습니다. 아시다시피
오리지널 맥PC 에는 맥프로 3.1 과같이 각자의 이름이 있고, 결국 한정된 버전의 맥PC 만이 존재하므로 맥PC 버전을 인식시키는 편이
시스템 정보에서도 내 pc환경을 제대로 뜨게 할수도 있고, 하드웨어 성능도 제대로 동작하게 할 수 있기 때문입니다.
*근래에는
부트로더가 발전하여 메모리 관련 정보를 부트로더가 인식할수있도록 기능이 추가되어 부트로더가 메모리 정보를 먼저 인식하므로 결국 메모리 하드웨어
정보가 "중첩" 되어 오히려 제대로 인식되지 않는 현상이 생기므로 smbios.plist 에서 메모리 관련 정보를 입력하지 않는 것이 오히려
원활한 인식을 가능케 합니다.
Part4. 스노우레오파드
설치
개념적인 이야기 이므로 어차피 설치과정은 부팅이후로는 리얼맥과 동일하기에 자세한 설명은 필요 없으리라 보고 주의사항정도만
안내해봅니다.
1. 설치본 부팅후 디스크 유틸리티 실행. * 파티션잡기에서 스노우 레오파드를 설치할 첫번째 파티션은 반드시 저널링으로 포맷. * 각종
파티션 이름은 반드시 영문으로 설정 * 멀티부팅을 해야할 경우 윈도우를 설치할 3번째 파티션은 fat32 로 포맷. * 파티션을
여러개로 나누며 하나의 파티션을 지나치게 작은 용량으로 설정할 경우 잘 계산해보시면 용량의 낭비가 발생합니다.
2. 설치 완료
혹은 설치 실패 메시지. * 새로운 하드디스크에 파일복사가 완료되고 막대가 올라가면 설치성공 , 혹은 설치 실패 메시지가
나옵니다. * 하드디스크를 지우기 하고 깨끗한 하드에 오리지널 이미지를 설치한다면 반드시 "성공" 이 나옵니다. (해보지는 않았지만
이 경우 이 하드디스크를 리얼맥에 달아도 바로 부팅이 될수밖에 없습니다) * 이외의 과정이라면
설치 복사 막대기만 모두 올라간 경우라면 "실패" 가 나오더라도 설치가 완료된 것입니다. EFI 파티션에 오리지널 맥방식으로 부팅정보를 쓰지
못해서 나타나는 오류입니다. (스노우레오파드 자체는 이미 모두 설치되었습니다.) * 설치 진행 막대기가 끝까지 올라가지 않고
중간에 설치 실패가 나온다면, 정말 설치가 실패한 것입니다. 이유는 dvd 상태가 안좋아서 잘 읽지 못해서 입니다.
Part5. 부트로더의 설치와 후반작업.
스노우레오파드 최초의 부팅은
가급적 -v arch=i386 정도의 간결한 옵션으로 하는것이 좋습니다. 안된다면 또다시 -v -x -f arch=i386 입니다. 어차피
설치를 하기위해 부팅이 되었으므로 부팅 안될일은 없습니다.
A. EFI 파티션
1.EFI 파티션의
이해. 일반적으로는 부트로더를 스노우레오파드가 설치된 파티션에 설치하지만 부트로더를 설치하기 위해 EFI 파티션에 대한 이해가 먼저
필요합니다. 가령 파티션을 아래와같이 두개로 나누었다면 디스크유틸리티에서는 1. SNOWLEOPARD 2. DATA 와 같이
보입니다. 그러나 터미널을 열어 diskutil list 를 실행해보면 EFI 파티션의 번호는 1번이고 snowleopard 의 파티션
넘버는 2번입니다. DATA파티션은 당연히 3번입니다.
EFI 파티션은 일반적으로 리얼맥에서 부트캠프를 위한 파티션 으로서 철저하게 감추어져 있지만, 이
파티션을 임시로 마운트 하여 쓸 수 있도록 끌어내어 부트로더와 각종 해킨용 파일을 설치해두면 하드디스크 전체를 "지우기" 하지 않는 이성 맥
환경 자체가 하드디스크의 첫번째 파티션에 그대로 저장되어있는 효과를 낼 수 있습니다.
2 주의사항 EFI 파티션은 EFI
파티션인채로 남아있어야 합니다. 어딘가의 팁란에 있는 EFI 파티션 포맷 명령어를 통해 EFI 파티션을 일반 맥 파티션으로 포맷해버리면
EFI 파티션이 아닌 일반 맥 파티션이 되어버리므로 응용프로그램인 디스크유틸리티의 파티션 목록에서조차 보이고, 탐색기에서조차 EFI 라는
파티션이 항상 보이게 됩니다. 감추어진 EFI 파티션으로서의 의미가 반감되어버리는 것입니다.
B. 부트로더 설치.
EFI 에 부트로더를 설치하는 가장 쉬운 방법입니다.
-준비물: dsdt se , 카멜레온2 638 버전 , 바이너리 형태의
최신 boot 파일(첨부퇸 xx.zip )
1. (반드시 이 버전만 가능합니다) 카멜레온2 638 버전을 실행 한 후 "사용자화"
에서 EFI HFS 를 선택합니다. 잡스러운 파일이 설치되므로 '테마' 이외의 다른 옵션은 모두 체크해제 시킵니다. 2. bin 형식으로된
최신 카멜레온 부트로더를 다운받아 압축을 풉니다.(첨부된 xx.zip) 3. DSDT se 를 실행합니다. Extract dsdt 를
누르고 컴파일을 눌러 Install 버튼이 활성화되게 합니다. (dsdt 가 없거나 컴파일이 실패해서 Install 이 활성화 안된다면
아무 DSDT.aml 파일을 구해서 dsdt se 로 오픈해서 컴파일을 누르면 됩니다. 어차피 dsdt 인스톨을 위한 과정이 아니고 앞으로도
EFI 파티션을 명령어 없이 열기 위한 손쉬운 방법론일 뿐입니다.) 4. dsdt SE가 install 을 어디 할 것이냐고 물어보면
EFI 파티션 의 하드디스크 넘버를 선택하고 Mount 를 클릭하면 DSDT SE 가 EFI 파티션을 마운트해 줍니다. 5. 바로 옆에
OPEN 버튼을 누르면 숨겨진 EFI 파티션을 손쉽게 파인더로 열어볼 수 있습니다. (마운트만 하는 용도이므로 인스톨은 하면
안됩니다) 6. EFI 파티션의 /Extra/Extensions 에 있는 파일을 모두 삭제. 7. 미리 압축 풀어둔 xx 폴더를
통째로 EFI 파티션 의 꼭대기(root) 즉 / 에 복사. 8. 터미널 실행 sudo -s (엔터) 암호입력
(엔터) *반드시 맥 사용자 암호가 있어야 합니다. 공란으로 해두고 사용자 계정을 만들었다면 환경설정의
계정관리에서 암호를 만들어주어야 합니다 9. cd /Volumes/EFI/xx (엔터) 10. cp -R boot
/Volumes/EFI 11. 부팅용 CD 혹은 USB 의 /Extra 와 /Extentions 에 있는 파일을 EFI 파티션의 모든
파일을 /Eatra 와 /Extensions 에 똑같이 복사해 줍니다.
부트로더 설치가 완료되었습니다. 재부팅 해보면 하드디스크로
부팅됩니다.
C. 최신 부트로더의 교체 (앞으로 새로나올 부트로더로 교체할 경우)
1. bin 형식으로된
최신 카멜레온 부트로더를 다운받아 압축을 풉니다. 2. DSDT se 를 실행합니다. Extract dsdt 를 누르고 컴파일을 눌러
Install 버튼이 활성화되게 합니다. (dsdt 가 없거나 컴파일이 실패해서 Install 이 활성화 안된다면 아무 DSDT.aml
파일을 구해서 dsdt se 로 오픈해서 컴파일을 누르면 됩니다. 어차피 dsdt 인스톨을 위한 과정이 아니고 앞으로도 EFI 파티션을 명령어
없이 열기 위한 손쉬운 방법론일 뿐입니다.) 3. dsdt SE가 install 을 어디 할 것이냐고 물어보면 EFI 파티션 의 하드디스크
넘버를 선택하고 Mount 를 클릭하면 DSDT SE 가 EFI 파티션을 마운트해 줍니다. 4. 바로 옆에 OPEN 버튼을 누르면 숨겨진
EFI 파티션을 손쉽게 파인더로 열어볼 수 있습니다. (마운트만 하는 용도이므로 인스톨은 하면 안됩니다) 5. 미리 압축 풀어둔 바이너리
형태의 부트로더가 들어있는 폴더 이름을 xx로 바꾸고, 폴더를 통째로 EFI 파티션 의 꼭대기(root) 즉 / 에 복사. 6. 터미널
실행 sudo -s (엔터) 암호입력 (엔터) 7. cd /Volumes/EFI/xx (엔터) 8. cp
-R boot /Volumes/EFI 최신 부트로더 교체가 끝났습니다.
D. 부트로더 설치후 잘되던 EFI 파티션 마운트가
안될때. EFI 파티션을 언마운트 하지 않은 상태에서 컴퓨터를 비정상적으로 종료하면 EFI 파티션을 마운트 시켜도 마운트가 되지
않습니다. 그럼에도 언마운트 명령을 제외한것은 마운트 명령 + 언마운트 명령 등을 외우느니 차라리 이렇게 마운트가 되지 않을 경우 고쳐주는
명령어 하나를 외우는 것이 편하기 때문.
터미널에서 diskutil list 를 입력하고 엔터치면.
/dev/disk0
(이것이 디스크 번호) #: TYPE
NAME SIZE IDENTIFIER 0:
FDisk_partition_scheme *1.0 TB disk0
1: Windows_NTFS WinXP 36.7 GB disk0s1
2: Windows_NTFS Win7 52.4 GB disk0s2
3: Windows_NTFS InstPrograms 104.9 GB disk0s3
4: Windows_NTFS Datas 806.2 GB
disk0s4 /dev/disk1 (역시 디스크 번호) #: TYPE
NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS SNOWLEOPARD
135.8 GB disk1s2 3: Microsoft Basic Data DATASPACE
184.0 GB disk1s3
이와같은 디스크 정보가 나타납니다. 0번 디스크에는 윈도우만 깔려있고, 1번 디스크에는
스노우레오파드가 깔려있군요.
그럼 위의 정보를 바탕으로 하면 EFI 파티션 마운트가 안될때 fsck_hfs
/dev/disx1s1 (엔터) 를 치고 다시 dsdt SE 로 EFI 파티션을 마운트하면 됩니다.
응용하여 위의 명령에서 0번
디스크에 스노우레오파드가 설치되어있다면
입니다.
EFI 파티션을 위한 명령은 이 하나로 충분하게
됩니다.
Part6 윈도우와의 멀티부팅을 손쉽게 하기.
위에서 언급해온대로 파티션
구성을 했다면 다음과같은 추가과정을 통해 가장 손쉬운 멀티부팅이 가능합니다. 다른 툴을 사용한다던가, 부팅 액티베이션을 한다던가 하는
부분까지 초보자가 이해하려면 어렵기 때문에 가장 손 쉬운 방법을 선택하여 정리합니다. 다른 종류의 멀티부팅 툴의 사용이라던가 하는 부분은
초보자에게는 오히려 하드디스크 파티션만 꼬이게 합니다.
명령어를 최소화한 가장 쉬운 멀티부팅의 방법.
A.
스노우레오파드와 윈도우가 서로 다른 두대의 하드디스크를 사용하는 경우 1.윈도우7에 EasyBCD 를 설치후 실행하여 추가할 부팅목록에
MAC 을 선택하고 x86 을 선택하여 리스트에 추가한 후 Save 2. 바이오스에서
윈도우 하드를 첫번째 부팅할 하드로 선택 한 후 윈도우용 부트로더에서 맥OS를 선택하면 간단히 부팅됩니다.
B. 동일한 하드디스크에
맥OS와 윈도우를 설치한 경우. 1.첨부된 파일을 압축 풀어 실행 3번 멀티부팅을 위한 부트로더 설치본 패키지를 실행. 2.
스노우레오파드가 설치된 파티션에 인스톨 (설치가 실패했다고 나와야함) (EFI 파티션이 아님. EFI 파티션에 이미 모든 해킨파일이 있으므로
윈도우용 파티션이 단순하게 인식시키는 역할만 함. 단순히 EasyBCD 의 부팅을 EFI 파티션이 받아주도록 하는 역할입니다) 3.
윈도우7을 인스톨 4.윈도우7에 EasyBCD 를 설치후 실행하여 추가할 부팅목록에 MAC 을 선택하고 x86 을 선택하여 리스트에 추가한 후 Save 5. 바이오스에서
윈도우 하드를 첫번째 부팅할 하드로 선택 한 후 윈도우용 부트로더에서 맥OS를 선택하면 간단히 부팅됩니다.
C. 윈도우XP 와의
멀티부팅을 하는경우 1.chain0 을 이용하는 것이 다를뿐 A 혹은 B 에서 EasyBCD 를 제외한 모든 과정 동일. 2.
윈도우xp 의 c: 에 chain0을 복사해 넣고 bootini 파일을 열어 마지막 라인에
를
추가후 저장 (*chain0 은 자료실에서 chain0 검색)
Part8 환경설정 파일인 plist 파일들 손질하기
초보자가 이 파일을
텍스트형식으로 열어 수정하려면 힘듭니다. 숙련된 해키너(?) 의 경우 오히려 그냥 텍스트 에디터로 열어 <key> 와
<string> 등을 직접 입력해가며 수작업 하지만 초보자의 경우라면 Lizard 를 이용하는 것이 가장 편합니다. Lizard
라는 좋은 툴이 있으나 Lizard는 스노우레오파드가 설치된 파티션에 있는 파일만을 읽어들이기때문에 Lizard 로는 현재 있는 EFI 파티션에
숨어있는 plist 파일들을 수정하지 못합니다. 때문에 아래와 같이 합니다.
1. Lizard 를 실행합니다. 2.
Lizard 로 Apple.boot.com.plist 와 smbios.plist 파일을 수정하고 저장합니다. 3. 스노우
레오파드가 설치된 파티션에 /Extra 폴더가 생기고 두개의 plist
파일이 생성되면 DSDT SE 로 EFI 파티션을 마운트하고 EFI 파티션의 /Extra 에 복사해 덮어 씌웁니다. 4. 이렇게되면
Extra 폴더가 두개가 되고 plist 파일들도 두개씩이 되므로 새로 생성된 맥OS 가 설치된 파티션의 Extra 폴더를
삭제합니다.
* 나중에 다시 수정하려면 동일하게 /Extra 폴더를 만들어두고 사용하던 plist 파일들을 저곳에 복사해 둔 후
Lizard 를 실행하고 1 에서 4까지의 과정을 반복. * 일차적으로 초보자가 가장 잡기 힘들어하지만 가장 중요한 그래픽카드를 잡아주는
그래픽스 언에이블러는 Yes 로 잡아 두어야 합니다.
-PCIRoot 는 오토디텍트로 잡히는 것을 사용하면 됩니다 0 혹은 1
부트로더에 따라 실제 주소는 0인데 1을 쓰도록 하는 경우도있습니다. -Apple.boot.com.plist 파일은 Built in
ethernet,Graphics Enabler 정도만 Yes로 설정해주고 DSDT 와 smbios.plist 경로를 /Extra 정도로만
설정해주어도 됩니다. 초보자가 이외의 옵션을 터치하고자 할때에는 다른부분의 동작과 햇갈릴 수 있으므로 최종단계에서 옵션을 추가하도록
합니다.
-smbios.plist 옵션에서는 자신의 하드웨어cpu 와 비슷하거나 동일한 수준의 맥 모델 네임과 model
Identifier , cpu type, Boot ROM Version 정도만 설정하세요. 나머지 메모리 관련 부분은 어차피 최신의
부트로더 기능과 충돌합니다.
Part 9. 그래픽카드.
리바운드를 제압하는자가 바스켓을 지배한다.
라는 채치수의 명언과 같이 그래픽카드를 제압하는자가 해킨을 제압합니다. 그만큼 그래픽카드는 해킨토시의 절반에 가깝습니다.
A.그래픽카드 동작의
개요.
그래픽카드를 인식시키는 방법에는 여러 방법이 있다고 하지만 결국엔 부트로더가 어떤 형태로 그래픽카드를 인식하느냐의
차이입니다. 1. 부트로더가 부트로더 자신이 가진 그래픽카드 디텍팅 정보, 혹은 Video ROM, 혹은 DSDT 에 규정된 그래픽카드의
하드웨어 정의 등을 기반으로 하여 각종 그래픽카드에 대한 정보를 입수하고 그것을 맥으로 넘겨줍니다 2. 맥OS 가 가진 그래픽카드 정보와
비교하여 이 과정에서 추출된 해당 제품에 맞는 그래픽카드 정보로 부팅합니다. 3. 윈도우 환경으로 전환되며 맥OS 자체기능으로 1번과 2번
과정에서 받아온 값을 기준으로 그래픽카드 1번 출력 포트와 모니터를 디텍팅하여 사과화면에서 맥 바탕와면으로
진입합니다.
B. NVCAP 그래픽 카드의 포트정보를 말합니다. 각 그래픽카드의 포트정보는 제품마다 다릅니다. 때문에
NVCAP 라는 규정된 룰을 통해 "이 그래픽카드의 1번 포트는 DVI 이고 이 그래픽카드의 두번째 포트는 (RGB)VGA 이다" 라고
그래픽카드 자체에서 규정한다고 이해하면 됩니다.
-문제점. 맥에서 지원하는 그래픽 칩셋이라면 맥용 오리지널 드라이버가 인식하고
동작할 준비는 되어있지만 애초에 IBM-PC 용 그래픽카드의 출력포트는 천차만별이므로 어지간한 레퍼런스 제품이 아니라면 출력 자체가 명확하게
동작하지 않으므로 이 값에 대한 수정이 필요합니다.
C. 메모리 정보. 각 그래픽카드는 512 MB 혹은 256MB,1GB
등 회사마다 메모리 정보가 다릅니다. NVCAP 값과 함께 이 값 역시도 그래픽카드와 동일하게 잡혀야 합니다.
* 512 MB의
그래픽카드가 자신보다 낮은 용량의 메모리값인 256MB 로 동작하는 것은 별 문제가 아니나, 자신이 가진 메모리보다 큰 1GB 로 잡혀
동작하려는 것은 문제가 됩니다.
D. Graphics Enabler = Yes 부트로더 자체의 그래픽카드 디텍팅 기능을
환경설정파일에서 활성화 시켜주면 부트로더가 그래픽카드를 찾아서 알아서 쓸 수 있게 해줍니다. 맥OS 가 지원하는 일반적인 듀얼 DVI 레퍼런스
제품은 잡아서 바로 사용할 수 있게 해주나 DVI+hdmi+TVOUT 등과 같이 그래픽카드 회사에서 입맛건 만든 제품의 경우는 묘하게 동작 할
수 있습니다. 현 시점에서 초보자에게는 가장 쉬운 방법입니다.
E. QE/CI 맥의 그래픽카드 가속기능입니다. 결국 이
기능이 활성화 되어야 정상적인 맥 사용이 가능합니다. 그래픽스 언에이블러도, 혹은 사제 그래픽 드라이버도 결국 이 기능을 활성화 시키기위한
목적입니다. F12 를 눌러 가젯을 추가할때 추가되는 가젯 아이콘이 차르르 물결치면 QE/CI 가 잡힌것 입니다.
F. 그래픽카드의
성능저하 QE/CI 가 잡혔더라도 그래픽이 제대로 잡혔는지 확인하는 테스트 방법은 아무 동영상이나 틀어놓고 또 하나의 다른 창을 마우스로
이리저리 움직여 보았을 때 동영상이 제대로 나오고있는가 입니다. 이 과정에서 동영상이 제대로 출력되지 않는다면 아직까지는 그래픽카드를 DSDT로
잡는 것 밖에는 답이 없습니다.( 웹 동영상,퀵타임..모두 가능)
숙련된 자동차 정비공은 엔진 소리만 듣고도 어디가 고장인지
안다고 하는 것처럼 위젯 아이콘을 추가하여 물결치는 것을 확인할 필요도 없이 단순히 F12 키를 눌러서 위젯이 뜨는 미세한 차이 만으로도
QE/CI 가 잡힌 상태지만 그래픽카드 성능저하가 있는지를 알 수 있을 정도입니다. 얼핏 잘 잡혀서 동작하는 듯 보이나 제대로 동작하지 않고있는
것입니다.
G. DSDT 로 그래픽카드 인식 팁
(이 부분은 초보자를 위한 순서상 맞지 않으나, DSDT 만들기에
대한 이해가 끝난 후 그래픽 카드 DSDT 적용에 대한 추가적인 팁입니다)
*DSDT 로 그래픽카드 인식을 시키는 작업이 필요해지는
시점이라면 이때부터 GraphicsEnabler=No 입니다. *DSDT 는 부트로더상의 설정에 우선하므로 DSDT 정의한 그래픽 하드웨어
정보가 부트로더의 기능보다 우선합니다.
- DSDT 상에 그래픽카드 포지션 알아보기 일반적으로 초보자가 DSDT Se 에서
제공하는 Registry info 에서 자신의 하드웨어 주소를 정확히 알아내는것은 힘듭니다.
1. DSDT SE 의 레지스트리
인포의 검색기능에서 display 혹은 dis 까지만 입력해도 그래픽카드 경로가 뜹니다. 2. 기본적으로 경로를 추적해 들어가게 되는데
PEX2@2 에 보인다면 PEG2 인 것입니다 뒷부분인 @2 는 차후에 수작업을 꼭 해야만 한다면 알아볼 하드웨어 주소의
일부입니다.
* PEG2 = PEX2 ,PEG4=PEX4
3. 일반적으로 두대의 그래픽카드를 장착할 수 있는
보드라면 1번 그래픽카드 슬롯(메인보드 상단쪽) 인 pci0 정도에 그래픽카드가 위치합니다. 사실은 하나의 그래픽카드라면 어차피 브릿지되므로
대충 PCI0 에다가 그래피가드를 올려도 대부분의 경우 잘 동작합니다.
- DSDT patcher 로 그래픽카드 손쉽게
포지셔닝 하기.
1. 그래픽카드 부분을 제외하고 내pc 에 최적화된 dsdt.aml 파일을 윈도우에서 dsdt patcher5 의
소스에 올립니다. 기존의 dsdt.aml 을 또다시 패치하여 추가 패치된 dsdt.aml 을 만드는 방식을 선택하시면 됩니다. 2.
일반적인 그래픽카드라면 dsdt patcher 에 PCI 0 으로 선택하면 잡힙니다 어차피 하나의 그래픽카드는 브릿지로 사용할 수 있으므로
이것저것 복잡하다면 PCI0을 하면 잡힐것입니다. 처음 DSDT 를 만들때 dgpt 옵션을 당연히 추가했을 것이므로 다른 옵션은 모두
체크해제시키고 그래픽카드 부분만 설정하고 dsdt.aml 패치하기를 하면 그래픽카드포지셔닝 부분만 알아서 잡아줍니다. 본인의 카드에 대한
메모리 설정, NVCAP 설정하는 부분이 모두 제공되므로 일차적으로 메모리와 NVCAP 값도 적용시킵니다.
*본인의 카드가
그래픽카드 목록에 없다면 본인의 그래픽카드보다 한단계, 혹은 수단계 낮더라도 일단 해당 카드로 선택하고 일단 DSDT 내부에 그래픽카드가 관련
코드가 자리잡도록 해줍니다. *dsdt pacther 의 그래픽카드 설정 옵션에서 특별한 색으로 되어있는 부분은 ATI 계열에서 필요한
옵션. * DGPT DSDT 상에 이 DGPT코드가 하나만 있으면 대부분 정확한 pci 혹은 pex 주소에 관계없이 하나의
그래픽카드 주소 루트를 브릿지 시켜 손쉽게 동작 할 수 있게 해줍니다. dsdt patcher5 상에서 more fixs 로 추가하거나 여건이
불가하다면 수작업을 통해 추가.
3. 목록에 있는 일반적인 경우라면 맥으로 부팅하였을때 그래픽카드가 잘 잡혀있습니다. 다른 경우라면
DSDT 내부의 NVCAP 값을 수정해주어야 합니다.
4.비 레퍼런스 그래픽카드의 경우 링크시킨 다른 게시물에도 작성해 놓았지만
성능저하 방지를 위해 nvcap 값의 앞부분에서 04000000 00000300 혹은 04000000 00000600 을 적용시킵니다. 일반적인
녀석은(DVI+VGA+TVout포트정도가 있는 녀석은) 3 이고 DVI+HDMI+TV-OUT 식으로 된 녀석은 6 이 들어간 코드를 입력하면
됩니다.
-
DSDT 로 동일한 그래픽카드 두대 잡기.(혹은 서로 다른 그래픽카드 두개 잡기) 사실 초보자를 위한 방법론이라곤 하지만 기본적으로는
DSDT 를 만질줄 알아야 합니다. 다만 초보자라도 그래픽카드 두대를 무리없이 사용하려면 반드시 필요한 부분이므로 죽어도 이해를
해야합니다.
모니터를 4대 써야 할때 그래픽스 언에이블러만으로 그래픽카드를 잡게되면, 1번 메인 슬롯 그래픽카드는 그래픽스
언에이블러가 잘 잡아줄지 모르지만 2번 세컨드 카드는 설사 화면 출력은 된다 하더라도 제대로 잡아주지 못합니다. 이부분은 초보자용과
고급자용 어느쪽으로 설명을 할지 갈피를 잡기 힘들어 일단 방법론쪽으로 설명해봅니다. 고급자라면 이 과정을 거칠 필요
없습니다.
1. dsdt SE 의 Registry info 에서 두번째 그래픽카드의 간단한 주소만 확인합니다. PEX2 인지
PEX4 인지 를 확인합니다.
2. 바이오스에서 first boot 할 그래픽카드를 세컨드 그래픽카드로 교체하십시오.
(예를들여 PCE2) *편의를 위해 모니터도 두번째 카드에만 답니다. 하드웨어 방식에 따라 가리지 않고 무조건 모니터만 붙어있으면
부팅시키는 경우도있지만 정말 PCE2 로 부팅하는지 확인해야하니)
3. 어쨌건 첫번째 그래픽카드는 DSDT 로 잡는 방법을 아는
것이므로 윈도우에서 dsdt patcher5 를 이용하여 두번째 그래픽카드를 잡습니다. 주로 PCE4 정도 일 것입니다만. (원래
가지고있는 메인 그래픽카드 코드를 주소에 맞춰 수정하고 적용하면 되지만 단순히 초보자가 손쉽게 코드를 얻기위한 작업방식입니다)
4.
맥의 DSDT SE 로 좀전에 만든 두번째 그래픽카드가 잡혀있는 dsdt.aml 을 엽니다. 주로 (PEX4) 에 있으니 PEX4 에 있는
그래픽 카드 관련 코드들만 GFX 를 알아서 긁어내어 (제대로 설명하려면 말만 길어지는 부분입니다)
바로 아래 있는 코드중
이것 때문에 위의 작업을 방법론으로 제시한 것입니다.
Name (_ADR, 0x001C0004)
Method (_STA, 0, NotSerialized)
하드웨어 주소인데 레지스터리 인포에서
확인하면 그래픽카드를 잡기 전에도 1C 위치에 "@4" 라는 주소에 두번째 그래픽카드가 포지셔닝을 하고 있는것을 알 수 있지만 초보자가 이
러한 사항을 이해하려면 머리 터지기때문에 단순히 저 코드 하나를 끄집어 내 오기 위해서 위와 같은 불필요한 작업을 한 것입니다. 위의 작업을
하면 알아서 해주기 때문에.
아래는 두번째 그래픽카드의 포지셔닝 샘플입니다. 내공이 좀 되시는 분이시라면 단순히 자신의
두번째 그래픽카드 DSDT 코드를 아래와 같이 구성하면 됩니다.
내공자할일1) 첫번째 그래픽카드 정의는 GFX0 , 두번째
그래픽카드는 GFX1 으로 수정해주면됩니다. 내공자할일2) 두번째 그래픽카드의 하드웨어 주소정의 (_ADR, 0x001C0004)
식으로 하드웨어 주소에 맞게 수정 내공자할일3) 첫번째 그래픽카드의 정의 도입부 DEVICE (PCI0) 에서부터 Device
(GFX0) 까지의 코드와 두번째 그래픽카드 정의인 DEVICE (PEX?) 에서부터 DEVICE (GFX1) 까지의 코드만 살짝 보고
수정해주면 됩니다.
----두번째 그래픽카드의 코드 샘플 --- Device
(PEX4) { Name (_ADR, 0x001C0004)
Method (_STA, 0,
NotSerialized)
오래된 팁입니다. 하지만 처음이시라면 한번쯤은 읽어 보시는게 좋습니다.