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수정하였으면, 터미널에서 다음과 같은 커맨드를 입력하여 컴파일 하여 줍니다.
1. Boot from Apple Install DVD, wait all the stuffs to load, and launch Disk Utility.
2. Unmount your OSX partition in Disk Utility
3. Close Disk Utility, open Terminal and type:
diskutil list
— you will see something similar to this:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *149.1 Gi disk0
1: Windows_NTFS SYSTEM 80.0 Gi disk0s1
2: Apple_HFS OSX 69.0 Gi disk0s2
3: 39.2 Mi disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *4.4 Gi disk1
1: Apple_partition_map 31.5 Ki disk1s1
2: Apple_HFS iDeneb v1.3 10.5.5 4.4 Gi disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *111.8 Gi disk2
1: Windows_NTFS eMag 111.8 Gi disk2s1
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: untitled *467.0 Ki disk3
/dev/disk4
#: TYPE NAME SIZE IDENTIFIER
0: untitled *467.0 Ki disk4
/dev/disk5
#: TYPE NAME SIZE IDENTIFIER
0: untitled *95.0 Ki disk5
/dev/disk6
#: TYPE NAME SIZE IDENTIFIER
0: untitled *95.0 Ki disk6
— at this stage remember the correct ID for Apple_HFS OSX and id of the physical HDD.
4. Now we gonna install boot0 part of Darwin boot loader in the Master Boot Record by typing:
— if your path to Darwin boot loader package differs, feel free to change the path. It is important to identify the disk ID of your MBR; if it is not 'disk0' feel free to change it too.
5. Now we should install boot1h part of Darwin boot loader in the boot sector of our OSX partition:
As I said before, it is always a good idea to have a tool for Win you can use to display and modify your OSX files. In mine case I own MacDrive 7.
6. Type reboot in Terminal and return to your Windows.
7. Boot in Windows and check you got this line in your boot.ini:
C:\chain0="Mac OS X 10.5.6 Leopard"
8. Copy from /usr/standalone/i386/ a fresh copy of chain0 in your C:\ partition.
9. You may also want to refresh from /usr/standalone/i386/ your copy of boot which is in the root volume of your OSX partition.
10. Restart, you should see the Windows boot loader menu and if everything was properly set clicking on „Mac OS X 10.5.6 Leopard“ will bring you back to your beloved OSX part of life.