« | Home | »

OSX86初體驗 *舊文出清*

回溯到一年多以前,明明手殘還妄想幫Mac mini升級CPU,結果不幸搞壞了主機板。忍痛從歪拍標回另一部二手的mini(CPU是1.66MHz的,也算是升級了XD),除了硬碟之外的殘骸連同標回的T2400(以及慘痛的回憶XD)就被收到櫃子裡去了。最近覺得一直放著也不是辦法,不如找塊MODT的板子,利用現成的CPU跟RAM,把老態龍鍾的藍白G3/500換下來。OS的話,就先試試看OSX86,要是裝不起來的話,就改跑Ubuntu。

硬體準備

為了要跑OSX86,硬體的配置當然是越接近Apple越好。考慮到省電的需求,最先被我鎖定的是Asus MOCA-AR:Intel 945GT晶片組,支援Yonah/Merom,RAM插槽是跟筆電一樣的200-pin,而且還是Mini-ITX的小板。賣家開價2500,也在我的預算範圍內。可惜因為我龜了太多天,結果被別人標走了;另一個賣家的標場則是開價3300,這樣就沒有超值的感覺了。Micro-ITX規格的MODT選擇並不多,除了這張之外大多是VIA跟Celeron等級的。於是最後放棄了Mini-ITX規格,挑了AOpen的i945GTm-VHL。(原本候選的另一片主機板是ABIT IL-90MV,配置類似i945但記憶體插槽是桌機規格,少了DVI卻有HDMI。可惜的是HDMI output似乎在OSX下是不聽使喚的。)

安裝Kalyway 10.5.2,升級10.5.5

安裝OSX86大致有兩類作法:一是下載人家修改過的安裝光碟(有好幾種口味),另一則是先透過特製的導引光碟開機、再轉用零售版的OSX安裝光碟安裝。以簡易性來說當然是前者勝,而在各種修改版中又以Kalyway據說是相容性最高的。
主機板的BIOS設定大多採用預設值,但是有把軟碟、parallel port、RS232等Mac上不會有的週邊都關閉,SATA則是設成ACHI。除了安裝畫面的progress bar在經過30分鐘後還是一動也不動,卻在輕推滑鼠後快速跨過2/3長度外,實際安裝過程跟Mac上沒什麼兩樣。
安裝好之後的版號是10.5.2,裡面除了系統之外還連iLife都一併上了,真是貼心。不過大概是為了要塞入一張單層DVD的緣故,某些localization的檔案似乎被拿掉了,比方說Finder的選單中文顯示就不齊全。撇開這類小缺陷,最嚴重的問題則是畫面解析度無法切換,音訊裝置(Realtek ALC882)也無法驅動。幸好以上都已經有解:解析度是需要安裝GMA950的驅動,可以透過kext helper這個小工具,把適當版本的AppleIntelIntegratedFramebuffer.kext安裝好即可;後者則需要利用AppleHDAPatcher這個小工具把ALC882的補丁打上系統。
硬體都驅動起來後,最後一個怪問題是log檔裡塞滿了這樣的錯誤訊息:

_CFGetHostUUIDString: unable to determine UUID for host. Error: 35

咕狗大神的開示則是修改/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist,加上以下的區段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
      <dict>
         <key>BSD Name</key>
         <string>en9</string>
         <key>IOBuiltin</key>
         <false/>
         <key>IOInterfaceType</key>
         <integer>6</integer>
         <key>IOInterfaceUnit</key>
         <integer>3</integer>
         <key>IOLocation</key>
         <string></string>
         <key>IOMACAddress</key>
         <data>
         ABbPoF5V
         </data>
         <key>IOPathMatch</key>
         <string>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P3@1C,2/
      IOPCI2PCIBridge/pci14e4,4311@0/AirPort_Brcm43xx/IO80211Interface</string>
         <key>SCNetworkInterfaceType</key>
         <string>IEEE80211</string>
      </dict>

第3行的〝en9〞只要是不跟系統中實際存在的網路介面名稱重複即可。改好存檔重開機,惱人的錯誤訊息應該就會消失了。

貼標籤:


About this entry