Tag Archives: 씽크패드

X61에 스노우레오파드(Snow Leopard) 완벽 설치하기

* 2010년10월25일 추가

각종 KEXT파일들을 설치해보고 가장 필요한 최소한의 KEXT만으로 정리하여 다시 올립니다.
DSDT를 적용할 경우 Atheros무선랜카드와 블루투스도 자동으로 잡히고 각종 자잘한 기능이 완벽하게 동작합니다. X3100그래픽 드라이버의 온도 센서를 지원하는 FakeSMC 최신버젼을 추가하였습니다. 사운드 드라이버도 가장 사용에 지장없는 괜찮은 버젼을 넣었습니다. 이 글대로 설치해 보시면 정말 완벽하게 동작하는 맥을 만나실 수 있습니다.

예전에 작성했던 iPC OSx86 10.5.6 Universal Final을 X61에 설치하기의 경우 레오파드 계열의 가장 설치하기 쉽고 리테일에 가깝게 동작하는 배포본이었습니다. 하지만 요즘의 아이폰 관련 개발들을 해볼려 치면 SDK부터 스노우레오파드가 아니면 설치조차 할 수 없게 되었죠.

X61에 스노우레오파드를 설치해볼려는 노력은 몇번 해보았지만 기존의 상식으로는 생각보다 완벽하게 돌릴수가 없었습니다. 그러던중 InfiniteMac이라는 사이트에 올라온 X61설치 방법을 보게 됩니다. 고생끝에 꽤 간단하게 설치를 완료하였고 필요한 kext들을 설치하다 보니 거의 완벽에 가까운 맥이 완성되었습니다. 그 방법을 정리해 보겠습니다.

주의! 다음의 내용은 해킨 설치 경험자가 아니라면 따라하기 힘든 내용입니다.

* 준비물

Lenovo Thinkpad X61, 맥을사용중인 다른 PC/노트북, 노트북 분해용 드라이버(Vessel-9900추천), Snow Leopard 리테일 이미지, SATA to USB케이블, 추가 KEXT 파일들

* 설치 순서
1. X61의 중요한 데이터들을 백업합니다. 이후 드라이버를 이용하여 HDD를 분리합니다. 풀어야 할 나사는 1개입니다.

2. 분리한 디스크를 맥을 사용중인 다른 PC에 마운트 합니다. 다른 PC가 맥북이라면 SATA to USB 케이블등을 이용하여 연결해야 합니다.

3. 연결한 HDD를 GUID방식으로 파티션을 설정해 줍니다. (테스트해본결과 MBR에서도 잘 되는군요)

4. Snow Leopard 이미지를 마운트합니다. 이후에 /System/Installation/Packages/OSInstall.mpkg를 실행합니다. 이 실행파일은 마운트한 이미지내의 경로입니다. 숨겨진 디렉토리라서 찾을 수 없을 경우 터미널을 이용하도록 합시다. 마운트 위치는 /Volume 이하입니다. 터미널에서 실행하실경우 open명령을 사용하시면 됩니다.

5. 정상적으로 실행이 되면 설치가 시작됩니다. 연결한 HDD로 OS를 설치하도록 합니다.

6. 다음의 Kext들을 /System/Library/Extensions와 /Extra 안으로 설치하여 주도록 합시다. 이때에 새로운 사운드 드라이버와 충돌이 날 수 있으니 기존의 AppleHDA.kext 를 삭제해주어야 합니다.

1149322248.tgz
7. Atheros 무선랜카드를 사용할 경우 Kext파일중 AtherosFix.kext 파일안의 Info.plist파일에 자신의 PCI값을 넣어주도록 합시다. [참고]

[code]<dict>
  <key>Atheros i386</key>
  <dict>
   <key>CFBundleIdentifier</key>
   <string>com.apple.driver.AirPort.Atheros</string>
   <key>IOClass</key>
   <string>AirPort_AthrFusion</string>
   <key>IOMatchCategory</key>
   <string>IODefaultMatchCategory</string>
   <key>IONameMatch</key>
   <array>
      <string>pci106b,0086</string>
      <string>pci168c,1c</string>
      <string>pci168c,23</string>
      <string>pci168c,24</string>
   </array>
   <key>IOProbeScore</key>
   <integer>65000</integer>
   <key>IOProviderClass</key>
   <string>IOPCIDevice</string>
  </dict>
  <key>Atheros x86_64</key>
  <dict>
   <key>CFBundleIdentifier</key>
   <string>com.apple.driver.AirPort.Atheros21</string>
   <key>IOClass</key>
   <string>AirPort_AthrFusion21</string>
   <key>IOMatchCategory</key>
   <string>IODefaultMatchCategory</string>
   <key>IONameMatch</key>
   <array>
      <string>pci106b,0086</string>
      <string>pci168c,1c</string>
      <string>pci168c,23</string>
      <string>pci168c,24</string>
   </array>
   <key>IOProbeScore</key>
   <integer>60000</integer>
   <key>IOProviderClass</key>
   <string>IOPCIDevice</string>
  </dict>
 </dict>[/code]
8. Kext 설치가 어렵다면 다음의 KextUtility를 활용합니다. 64비트에서도 잘 동작합니다^^
1250278107.zip
9. 다음의 명령을 사용하여 퍼미션을 복구하여 줍니다.
[code]# sudo chown -R
# root:wheel /Volumes/YOUR_PARTITIONS_NAME/System/Library/Extensions/*
# chmod -R 755 /Volumes/YOUR_PARTITIONS_NAME/System/Library/Extensions/*[/code]
10. 해킨토시를 정상적으로 부팅하기위하여 카멜레온 부트로더를 설치하여줍니다. 여러가지를 써봤는데 잘 안되더군요. 다음은 잘 됩니다.
1196104889.gz
11. 카멜레온부트로더의 설치는 i386폴더 이하에서 이루어집니다. 다음의 명령을 사용합니다.

[code]// # diskutl list 명령을 이용하여 확인한 OS가 설치된 파티션이 /dev/disk0s2 일때
// boot0를 MBR에 설치
# sudo fdisk -f boot0 -u -y /dev/rdisk0

// boot1h를 파티션의 부트섹터에 설치
# sudo dd if=boot1h of=/dev/rdisk0s2

// boot를 파티션의 루트 디렉토리에 설치
# sudo cp boot /Volumes/YOUR_PARTITIONS_NAME/[/code]
12. /Volumes/YOUR_PARTITIONS_NAME/Extra 디렉토리를 만들어 주고 Optional Extras안에 있는 smbios.plist 파일을 복사하여 넣어줍니다.

13. 마찬가지로 Extra 디렉토리안에 com.apple.Boot.plist 파일을 생성하여 주고 아래의 내용을 넣어줍니다.

[code]<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN”
 “http://www.apple.com/DTDs/PropertyList-1.0.dtd“>
<plist version=”1.0″>
<dict>
        <key>Kernel</key>
        <string>mach_kernel</string>
        <key>Kernel Flags</key>
        <string></string>
        <key>GraphicEnabler</key>
        <string>Yes</string>
        <key>USBBusFix</key>
        <string>Yes</string>
        <key>GUI</key>
        <string>No</string>
        <key>Timeout</key>
        <string>5</string>
        <key>arch</key>
        <string>i386</string>
</dict>
</plist>[/code]

* 완료후 소감
위와 같은 과정을 거친후 HDD를 다시 X61에 연결하여 부팅해 보면 정상적으로 부팅이 되는것을 볼 수 있습니다. 위의 경우 i386이라는 옵션을 주어 32비트 모드로 부팅하도록 하고 있는데요, 안타깝게도 X61의 그래픽카드는 32비트용 드라이버밖에 지원하지 않아 64비트로 부팅을 하게되면 그래픽카드 드라이버를 잡지 못하는 문제가 발생합니다.

첫부팅시에 Kext 캐시들이 존재하지 않아 정상적으로 드라이버가 로드되지 못할 경우가 있습니다. 이경우엔 부팅시에 -f 옵션을주어 부팅하게 되면 모든 드라이버를 강제로 읽어 새로 캐시를 생성하게 됩니다. 한번만 이 옵션을 주어 부팅하고 나면 또 사용할 필요가 없습니다.

만일 SleepEnabler가 문제를 일으켜 커널 패닉이 날 경우(현재 최신 버젼까지는 문제 없음) 부팅 옵션으로 pmVersion=0를 주면 무사히 넘어갈 수 있습니다. 이후에 SleepEnabler.Kext파일을 삭제 하시면 됩니다.

듀얼부팅 환경에서 각각의 OS들간에 시간이 꼬일경우 다음의 패치를 설치하여 주면 문제를 해결할 수 있습니다.
1393211659.pkg

iPC OSx86 10.5.6 Universal Final을 X61에 설치하기

엄청난 해킨토시 배포판이 나왔다. Boot-132를 이용한 리테일 10.5.6설치를 제외한 사실상 최초의 배포판이 아닐까 생각한다.

이름하여 iPC OSx86 10.5.6 Universal Final, PPF 패치가 차근차근 추가되다 5까지 추가된 버젼이다.

이름에서 알수 있듯이 사실상 최종버젼인데, 특이한 점은 실제 리테일 버젼에다가 내가 원하는대로 커스터마이징 하여 설치할 수 있다는것이다.

기본 탑재된 커널이 바닐라 커널이고 정보보기에서도 거의 리테일 버젼과 흡사한 모습을 보여준다.

그리고 다음과 같은 수많은 부가 드라이버와 패치를 제공한다.

[#M_ more.. | less.. |사용자 삽입 이미지_M#]사용중인 X61-A43에 설치하기 위해서는 다음과 같은 옵션을 선택하면 된다.

Language Translation
– Korean (한국어 버젼 맥을 사용하기 위해)

Chipset Drivers
– Intel ICHx SATA Drivers (설치안해도 됨)

Audio Drivers
– AD1984 (아직 이어폰은 지원안하지만 TP에서 소리가 남)

Ethernet Drivers
– Intel 82566MM/DC (이더넷 지원)

Wireless Drivers
– IO80211Family.kext (Intel계열이 존재하지만 안된다고 보시면 됩니다. 아데로스무선랜의 경우 이것을 선택)

USB Drivers
– PCGenUSBEHCI (USB가 약간 비정상작동하는데 이것을 깔아도 효과는 없더군요-_-a)

Power Management
– All (스피드스텝등의 전원관리 기능이 추가)
위의 프로그램을 설치하면 아이폰 개발시 시뮬레이터가 오류를 내뱉는 문제가 있었습니다. 다음을 다운받아 사용합시다.
1019157521.zip
Fixes and Patches
– Dual Boot Time Sync (듀얼 부팅사용시 시간이 안맞는 문제점을 해결)
– PS/2 Device Support All (노트북 자체의 키보드와 빨콩 지원)
– Patch DSDT

특이사항으로는 패키지 문제시 패닉을 방지해 준다는 Seatbelt를 설치하면 오히려 DMG 설치시 패닉이 일어나는 현상이 있었다.

DMG 패키지 설치시 커널 패닉이 난다면 /System/Library/Extensions/seatbelt.kext 를 지워버리자.