2009. 5. 27. 10:35
Chameleon bootloader with SSDT and DSDT override Hackintosh/DSDT2009. 5. 27. 10:35
First of all, Thanks ab___73.
source : http://www.insanelymac.com/forum/index.php?showtopic=145792&pid=1163564&mode=threaded&start=#entry1163564
This posting will be translate to Korean, that's why ab_73's posting is in here for understanding who duuno english.
Update:
Upload of Release version 1 with source code.
boot1h 와 관련된 파일크기의 제약상 SMBIOS나 /Extras폴더와는 아직 호한이 안된다는 점을 유의해 주세요.
변경사항:
+ load upto 30 SSDT tables.
+ load extra additional SSDT tables.
+ ACPI v1 and v2 and v3 support.
+ source code refined.
SSDT 테이블을 올려주시면 많은 사람들에게 도움이 될것입니다.
가능하면 www.mediafire.com 에 올려주시면 되겠습니다.
다음 부트로더를 다운로드 받으세요.
ssdtboot_chameleon2.zip ( 314.39K ) Number of downloads: 500
Update:
30 SSDT tables을 로딩할 수 있게 소스코드를 수정하였다. 테스트 중에 있으며, 성공하면 이 bootloader 와 소스코드를 공개할 것입니다.tonight.
SMBIOS source code diff를 추가하는 부분에 있어 몇가지 이슈가 있는데, 부트파일의 파일크기 제한과 관련된 것 같군요.
만약 파일크기가 62000bytes 이하에서 bootloader를 운용하게끔 한다면 SMBIOS + DSDT + SSDT 패치를 62700bytes 까지 증가시킬 수 있을 것 같습니다. 부팅시에 /boot0 hang이라는 부팅에러를 겪었다면 이 부분이 해결될 수 있겠군요.
파일 크기 제한과 관련하여 어떤분이라도 좋으니 알고 있으신 분은...^ ^
왜 boot1h 가 단지 <64k boot 파일 이하로 로딩해야 하는 건지...알고 싶습니다!!
-------------------
아주 일반적인 chameleon DSDT override bootloader 를 수정하였는데, 이는 수정된 DSDT 와 SSDT 테이블을 로딩하기 위한 것입니다.
다음과 같은 이점이 있습니다:
+ 컴파일 에러를 이해하고 또, SSDT 테이블 내에서 가끔은 DSDT가 external methods를 레퍼런스 하기도 합니다..
+ Fix Powermanagement.
+ Fix PStates (CPU performance management)
+ Fix CStates (Power Saving managenent)
+ Fix TStates (CPU throttling)
+ View SATA controllers ACPI functions.
이 버전은 디버그 버전입니다. 곧 새로운 버전을 소스코드와 같이 발표할 것입니다.
Chameleon bootloader 와 DSDT 패칭 프로젝트에 관심 가져줘서 고맙군요.
이 bootloader를 이용할려면,
특정 폴더에 압축을 풀고.
Terminal 에서 해당 폴더로 이동합니다.
기존의 bootloader를 다음과 같이 백업합니다.
#sudo cp /boot /boot.bak
사용할 bootloader 를 다음과 같이 복사하여 줍니다.
#sudo cp ssdtboot /boot
SSDT 테이블을 추출하기 위해서는
터미널에서 압축을 풀어놓은 폴더로 이동하여 다음과 같이 실행합니다.
#./getSSDT5.sh
이 명령어는 다음과 같은 디컴파일된 SSDT 테이블을 생성합니다.
SSDT-0.dsl
SSDT-1.dsl
..
SSDT-4.dsl
SSDT Tables의 숫자는 하드웨어 숫자에 기인하므로 숫자에 연연할 필요는 없습니다
텍스트 에디터나 Text Mate를 이용하여 이 화일들을 열어서 수정합니다.
SSDT tables수정하였으면, 터미널에서 다음과 같은 커맨드를 입력하여 컴파일 하여 줍니다.
./iasl -sa SSDT-0.dsl
./iasl -sa SSDT-1.dsl
./iasl -sa SSDT-2.dsl
..
./iasl -sa SSDT-x.dsl
(where x is the table you wish to compile)
컴파일된 파일을 다음과 같은 명령어를 이용하여 최상위 디렉토리에 복사하여 줍니다.
#cp SSDT-x.aml /
(where x is the table you wish to copy)
이 bootloader 를 이용하여 재부팅하고 나면 이미 SSDT 테이블을 로딩하였을 것입니다.
DSDT와 관련하여 다음 글들을 참고합니다.
DSDT Patcher
DSDT BIOS Patcher
다음과 같이 Boot 옵션을 사용할 수 있는데 수정된 것을 사용하는 것 대신에 기본적인 oem SSDT 테이블을 로딩하기 위해 사용할 수 있습니다.
(Use this at darwin boot)
oemSSDT=y
voodoo kernel 에서는 boot 옵션을 다음과 같이 주어 동작되는지 확인하여 봅니다.
kprintf=1 -v
OSX로 부팅하였다면
터미널에서 다음과 같은 명령어를 입력합니다.
#sudo dmesg | grep ACPI
OEM SSDT 테이블 예:
수정 적용된 SSDT 예:
5라인의 변화를 유의하여 보면 (SSDT-4) e.g. 0x7f7f52a2/0x4D7 -> 0x1956000/0x051E
이 주소가 변화된 의미는 수정된 SSDT 성공적으로 로딩된 것입니다.
이제 SSDT 테이블을 공유하여 서로간의 정보를 공유하여 봅시다. www.mediafire.com 에 업로드하여 공유하면 될 것 같군요.
다음 화일이 도움이 될 것 같군요.
[attachment=42483:ssdtboot_chameleon.zip]
Cheers,
AB
Voodoo kernel :
voodoo kernel
ssdtboot_chameleon2.zip ( 314.39K ) Number of downloads: 500
Update:
30 SSDT tables을 로딩할 수 있게 소스코드를 수정하였다. 테스트 중에 있으며, 성공하면 이 bootloader 와 소스코드를 공개할 것입니다.tonight.
SMBIOS source code diff를 추가하는 부분에 있어 몇가지 이슈가 있는데, 부트파일의 파일크기 제한과 관련된 것 같군요.
만약 파일크기가 62000bytes 이하에서 bootloader를 운용하게끔 한다면 SMBIOS + DSDT + SSDT 패치를 62700bytes 까지 증가시킬 수 있을 것 같습니다. 부팅시에 /boot0 hang이라는 부팅에러를 겪었다면 이 부분이 해결될 수 있겠군요.
파일 크기 제한과 관련하여 어떤분이라도 좋으니 알고 있으신 분은...^ ^
왜 boot1h 가 단지 <64k boot 파일 이하로 로딩해야 하는 건지...알고 싶습니다!!
-------------------
아주 일반적인 chameleon DSDT override bootloader 를 수정하였는데, 이는 수정된 DSDT 와 SSDT 테이블을 로딩하기 위한 것입니다.
다음과 같은 이점이 있습니다:
+ 컴파일 에러를 이해하고 또, SSDT 테이블 내에서 가끔은 DSDT가 external methods를 레퍼런스 하기도 합니다..
+ Fix Powermanagement.
+ Fix PStates (CPU performance management)
+ Fix CStates (Power Saving managenent)
+ Fix TStates (CPU throttling)
+ View SATA controllers ACPI functions.
이 버전은 디버그 버전입니다. 곧 새로운 버전을 소스코드와 같이 발표할 것입니다.
Chameleon bootloader 와 DSDT 패칭 프로젝트에 관심 가져줘서 고맙군요.
이 bootloader를 이용할려면,
특정 폴더에 압축을 풀고.
Terminal 에서 해당 폴더로 이동합니다.
기존의 bootloader를 다음과 같이 백업합니다.
#sudo cp /boot /boot.bak
사용할 bootloader 를 다음과 같이 복사하여 줍니다.
#sudo cp ssdtboot /boot
SSDT 테이블을 추출하기 위해서는
터미널에서 압축을 풀어놓은 폴더로 이동하여 다음과 같이 실행합니다.
#./getSSDT5.sh
이 명령어는 다음과 같은 디컴파일된 SSDT 테이블을 생성합니다.
SSDT-0.dsl
SSDT-1.dsl
..
SSDT-4.dsl
SSDT Tables의 숫자는 하드웨어 숫자에 기인하므로 숫자에 연연할 필요는 없습니다
텍스트 에디터나 Text Mate를 이용하여 이 화일들을 열어서 수정합니다.
SSDT tables수정하였으면, 터미널에서 다음과 같은 커맨드를 입력하여 컴파일 하여 줍니다.
./iasl -sa SSDT-0.dsl
./iasl -sa SSDT-1.dsl
./iasl -sa SSDT-2.dsl
..
./iasl -sa SSDT-x.dsl
(where x is the table you wish to compile)
컴파일된 파일을 다음과 같은 명령어를 이용하여 최상위 디렉토리에 복사하여 줍니다.
#cp SSDT-x.aml /
(where x is the table you wish to copy)
이 bootloader 를 이용하여 재부팅하고 나면 이미 SSDT 테이블을 로딩하였을 것입니다.
DSDT와 관련하여 다음 글들을 참고합니다.
DSDT Patcher
DSDT BIOS Patcher
다음과 같이 Boot 옵션을 사용할 수 있는데 수정된 것을 사용하는 것 대신에 기본적인 oem SSDT 테이블을 로딩하기 위해 사용할 수 있습니다.
(Use this at darwin boot)
oemSSDT=y
voodoo kernel 에서는 boot 옵션을 다음과 같이 주어 동작되는지 확인하여 봅니다.
kprintf=1 -v
OSX로 부팅하였다면
터미널에서 다음과 같은 명령어를 입력합니다.
#sudo dmesg | grep ACPI
OEM SSDT 테이블 예:
CODE
ACPI: SSDT @ 0x7f7f4440/0x0024 (v001 HP HPQNLP 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f52a2/0x04D7 (v001 HP CpuPm 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f52a2/0x04D7 (v001 HP CpuPm 0x00003000 INTL 0x20060317)
수정 적용된 SSDT 예:
CODE
ACPI: SSDT @ 0x7f7f4440/0x0024 (v001 HP HPQNLP 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x1956000/0x051E (v001 HP CpuPm 0x00003000 INTL 0x20080926)
ACPI: SSDT @ 0x7f7f4464/0x0326 (v001 HP HPQSAT 0x00000001 MSFT 0x0100000E)
ACPI: SSDT @ 0x7f7f4f9d/0x025F (v001 HP Cpu0Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x7f7f51fc/0x00A6 (v001 HP Cpu1Tst 0x00003000 INTL 0x20060317)
ACPI: SSDT @ 0x1956000/0x051E (v001 HP CpuPm 0x00003000 INTL 0x20080926)
5라인의 변화를 유의하여 보면 (SSDT-4) e.g. 0x7f7f52a2/0x4D7 -> 0x1956000/0x051E
이 주소가 변화된 의미는 수정된 SSDT 성공적으로 로딩된 것입니다.
이제 SSDT 테이블을 공유하여 서로간의 정보를 공유하여 봅시다. www.mediafire.com 에 업로드하여 공유하면 될 것 같군요.
다음 화일이 도움이 될 것 같군요.
[attachment=42483:ssdtboot_chameleon.zip]
Cheers,
AB
Voodoo kernel :
voodoo kernel
'Hackintosh > DSDT' 카테고리의 다른 글
8600 GTS 256 MB DSDT (0) | 2010.02.18 |
---|---|
Code injection via DSDT for NVIDIA graphics (0) | 2009.12.06 |
Fix'y DSDT for ASUS P5W DH Deluxe and Snow & Leopard (0) | 2009.11.06 |
Windows용 DSDT 추출 및 Patcher (0) | 2009.10.30 |
Enabling ACPI, EIST, etc for ASUS P5W DH DELUXE (0) | 2009.10.25 |