Tetsuo Kogawa  粉川哲夫

テクノロジーとのすったもんだ   ハッキントシュ   anarchyサイト   シネマノート   メール: tetsuo@cinemanote.jp


■2012-03-18

●Mountain Lion Developer Preview 1 (10.8) をインストールする



◆OS XがLion(10.7.0~10.7.3)になってから、「ハッキントッシュのマザーボードはGigabyteにかぎる」という神話は崩れた。マザーボード、メモリー、グラフィックスボードの相性にバラツキが目立つようになった。Snow Leopardではうまくいった組み合わせがそうではなくなったのである。

◆Gigabyteは、別にHackintoshを想定して生産しているマザーボードではなく、依然、Windowsのためのものだが、そのマザーボードが昨年ごろから、Windows OSの使用時にも不具合を起こすようになった。一番深刻なのが、「boot loop」とか「cold loop」と言われる、起動後ブートを無限に繰り返す現象である。これは、メモリーを減らすと治ったりするが、Gigabyeteがある時点でBiosに加えた変更のためのようだ。事実、古いマザーボードでも、Biosを新しくするとこの現象が起きる場合がある。

◆いま多くのマザーボードのBIOSは、EFI (Extensible Firmware Interface)から、さらにはUEFI(Unified Extensible Firmware Interface)への方向に向かっている。Gigabyteは、その点で時流に乗り遅れた。わたしは、BIOS設定画面に見えるそのダサさ加減を愛してきたが、Hackintoshをする場合には、そうはいかない。美学的な好みがどうであれ、動かなくてはどうにもならない。Gigabyteのマザーボードを選ぶ場合も、Hackintoshに向くかどうかを優先してきた。

◆その点で、いまHackintoshに向くマザーボードはASUSである。少なくともLion以後、ASUSのマザーボードを選んで損はしなかった。非常に安いP8H67-M PRO でも問題ない。そこで、今回は、Intel 68チップスが載ったP8Z68-M PROを使うことにした。このボードには、メモリーの相性を調整するスウィッチもついている。UEFIBIOSは優雅であり、Hackintoshのために特に設定する必要はない。

◆マシン構成
  • マザーボード:P8Z68-M PRO →他の選択
  • グラッフィクス: NVIDIA GeForce 9800GT (GF9800GT-E512HD/GE)
  • CPU: Intel Core i5-2500 3.3GHz
  • メモリー: Corsair Vengeance DDR3 16GB (CMZ16GX3M4A1600C9B)

◆ベースシステム
Mac OS X Base System→$99払ってApple Developersに加入したくない場合は、ネットで探すのも手である。Mac OS X Base System.dmgが何種類か転がっているが、自分のシステム(機器構成)に従って変更を加えたものが多いので注意を要する。

「正規版」の場合は、フォールダーを開くとこのようになっている。




◆インストールUSBの作成
これには、8GB以上のUSBメモリーと、Hackintoshか「正規」のMacマシーンが1台必要である。それでDisk Utilityを立ち上げ、USBメモリーに1 パティションを作る:Option→Master Boot Record、Mac OS Extended (Journaled)。終わっても、Disk Utilityは落とさない。
Disk UtilityRestoreを選び、Source側に、あらかじめこのMacマシーンのどこかに置いておいたMac OS X Base System.dmgをマウスでドラッグし、Destination側には、パーティションを作ったUSBをドラッグする。→Restoreのアイコンをクリック。通常、10分程度で終わる(マシンのパワーによってはもっとかかる)。

◆インストールし終わったこのUSBのルートディレクトリーにブートローダーをインストールする。Chameleonの最新版を使ってもよいが、ここでは、最も簡単に成功する方法を使う。tonymacx86が開発したChimeraである。→ダウンロード(サインインが必要)。それをUSBのなかにコピーしておくと、あとで便利。



Chimeraを立ち上げ、指示にしたがって進むと、左記の画面が出る。 「Change Install Location」をクリックして、USB(パーティッションを作ったときに付けた名前が見える)のほうを選ぶ。この変更をしないで先に進んだ場合は、本体のシステムデスクに新しいブートローダーをインストールすることになり、起動しなくなる可能性があるので注意

◆ブートローダーを内装したUSBで、Hackintosh化したいマシーンをブートさせる。なお、この時点で、USBのキーボードとマウス(PS2は不可)をつなぎ(USB 2.0であること)、かつ、LANへの接続もしておくとあとで楽だ。ここで使ったマザーボードには、PS2の端子は1個しかないが、そこにキーボードやマウスをつないでも、インストールの過程で作動しなくなる――ドライバーがまだ入っていないからである。



◆写真の画面が出たら、「-v arch=i386」を打ち込む。これで、ブートプロセスがどう動くかが見えるので、カーネルパニックが起きた場合も、問題の在り処を探ることができる。なお、「arch=i386」は、32bitモードで動かすためのブートフラッグである。

◆この過程で、「System uptime in nanoseconds: 30356032808」のような行が出て、そのままフリーズする場合(「-v」を指定しなかった場合は、歯車マークがぐるぐるまわったのち、リセットの指示が出る――ただし、リブートしてもこの状態にもどるだけ)は、マザーボードやグラフィックスボードの相性の問題があるが、ここでは、その個別例には触れない。ここで使用した機器以外の組み合わせについては、OSx86 ProjectHCL(Hardware Compatibility)サイトに詳細なデータがあるのでそちらを参照してほしい。

◆システム構成が同じなら、20分ほどでインストールが終り、リブート状態になる。そして、ふたたびtonymacx86の子供っぽいリンゴ顔のマーク(ああいやだ!)のトップ画面が出る。

◆ここで、ふたたび「-v arch=i386」というブートフラッグを入れる。

◆このままブートプロセスの膨大なライン群がズラズラとあらわれたのち、一旦白っぽい画面が出て、さらにインストール言語の設定→「Welcom」の画面までじきに行くはずである。Lionまでのときとちがい、認証が1段階簡略化された。なお、この段階では、画面のレゾリューションは、1024 x 768だけのはずである。LANは、ネットが使える状態でつながっている。ただし、以下の点がまだ動かないだろう。これをこれから順次設定していかなければならない。以下の設定は、これまでの操作ののち、再起動をせずにそのまま行なう。再起動すると、ネットへはつながらなくなる。
  • ブートローダーを入れる
  • 音がでない→オーディオドライバー
  • グラフィックスの問題
  • ネット関係

◆ブートローダー→Chimeraを使う。今回は、「Change Install Location」で、現在使用中のシステムHDDをターゲットにする
先に使用したものがインストールUSBのなかに入っているだろう。そのアイコンをクリックする。

◆オーディオドライバーVoodooHDA.kextVoodooHDA.prefPaneの2つをインストールする。x86.netサイト(登録が必要)からダウンロードし、デスクトップなどに置いて、コマンドラインでコピーする。
マザーボード P8Z68-M PROのチップスはRealtek ALC892であるが、Snow Leopardまでは使えたドライバーが使えなくなった。選択肢は多くなく、これまで、インストールするとカーネルパニックを起こすことが多かったVoodoo Projectのものが意外にうまく合うのだった。
ダウンロード先→http://www.osx86.net/downloads.php?do=file&id=2334&page=2
VoodooHDA.kextVoodooHDA.prefPaneをダウンロードし、もう一つ置かれているVoodooHDA SSE2 Enabler.app.tarは無視する。
【注意】
・あらかじめ、/System/Library/Extensions内のALC8xxHDA.kextAppleHDA.kextを消しておく。やり方は、マウスで捨てればよい。rootの認証は求められる。
・インストール(Kextツールを使ってもよいが、わたしはコマンドラインでするのが一番楽だと思う)
   sudo cp -R VoodooHDA.kext /System/Library/Extensions/

sudo cp -R VoodooHDA.prefPane /Library/PreferencePanes/

◆グラフィックスドライバー→NVenabler.kext
ATI系とNVIDIA系とでやりかたが違う(詳細→先のHCLサイト参照)が、ここでは、NVIDIA系のGeForce 9800GTがフルアクセレーションするための処置をする。何もしない状態では、1024 x 768のレゾリューションしか使えない状態になっているはずだ(→「リンゴマーク」→「System Preference」→「Display」)。この状態だと、DVD Playerが使えない(VLCをインストールすれば、これでDVDを再生することは可能)。

インストール→osx86.nethttp://www.osx86.net/view/1795-nvenabler.htmlから入手。解凍後、適当な場所に置き、コマンドラインでインストールする。
   sudo cp -R NVenabler.kext /System/Liobrary/Extensions/

LANドライバーRealtekRTL81xx-0_0_90.pkg
マザーボードP8Z68-M PROのチップスはRealtek 811Eなので、Lnx2Macが献身的に開発したRealtekRTL81xx-0_0_90.pkgを使う。

ダウンロード→http://lnx2mac.blogspot.jp/p/realtekrtl81xx-osx-driver.html

【注意】
LANドライバーのインストールは、最後に行なう。pkgの圧縮フォールダーをクリックして展開し、指示通りにインストールすればよい。終わったら、リブートする。しかし、ときには、インストールに失敗することがあるので、ダウンロードしたRealtekRTL81xx-0_0_90.pkgをあらかじめUSBなどに保存しておき、再起動したときにここからインストールすればよい。むろん、システムHDDをはずして、別のMac/Hackintoshマシーンにつないでインストールすることも可能ではある。

●以上で一応、Hackintoshの基本は終わったことになる。リブートすれば、グラフィックスもオーディオもネットも作動するはずだ。ただし、リブートのとき、いちいちarch=i386(当面、64bitモードではオーディオとグラフィックスで問題が起きる→今後の課題)をコマンドするのはめんどうなので、ブートファイルに以下を設定する。

Chimeraをインストールすると、ブートを規定するファイルが、com.apple.Boot.plist(/Library/Preferences/SystemConfiguration 内)からorg.chameleon.Boot.plist(インストール時に作られる/Extra 内)に移される。このファイルに必要な制御事項を書きこめば、起動の仕方を自在にあやつれる。これが、Chameleonの面白いところである。

org.chameleon.Boot.plistの記述も、Terminal上のコマンドラインで出来る。わたしは、古いが簡単なviが好きだが、編集できれば、vimでもemacsでも、テキストエディターでもなんでもいい。ただし、編集後、ファイルのステイタスをもとにもどすことを忘れてはならない。
sudo vi /Extra/org.chameleon.Boot.plist → 編集

sudo chown root:wheel /Extra/org.chameleon.Boot.plist → オーナーをもどす
org.chameleon.Boot.plistの記述(暫定)

<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=i386 npci=0x2000 -v</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>PCIRootUID</key>
<string>1</string>
<key>Timeout</key>
<string>5</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePSates</key>
<string>Yes</string>
</dict>

●今回、グラフィックスボードとしてNVIDIA GeForce 9800GTを使ったのは、ATI RadeonのボードだとDVD Playerがクラッシュするからであった。
現在アップル・コミュニティから聞こえてくる意見だと、DVD Playerの問題は、ほぼ「常態的」に起こっているらしいが、わたしの試みでは、NVDIA/GeForce9800GTを使うかぎりちゃんとDVD Playerが使えるのである。
なお、 AMD Radeon HD6850 (GV-R6850C-1GD)を使う際には、org.chameleon.Boot.plistに以下のラインを書き加えないと、カーネルパニックを起こして、ブートアップしない。ただし、この4行はあくまでもAMD Radeon HD6850 (GV-R6850C-1GD)の場合の規定であって、他の型番の場合は変えなくてはならないだろう。どう変えるかは、先述のHCL(Hardware Compatibility)サイトのデータに記載されている。
<key>AtiConfig</key>
<string>Bulrushes</string>
<key>AtiPorts</key>
<string>4</string>


●今回は、Mountain Lionの動作を調べるためにインストールしたので、実質的に必要な処置だけにとどめ、DSDTは使わなかった。DSDTを設定すれば、当然、起動が速くなる。インストールの方法として、tonymacxos86.comMultiBeastのように、DSDT DatabaseでマザーボードのDSDTを調べ、それを入力する方法があるが、大抵の場合、マザーボードの型番やBIOSのヴァージョンを特定しても、ちゃんとしたブート状態を作ってくれない。そこで、わざわざLinux(原理的にはWindowsでもMacでもよいし、DSDTを表示してくれるアプリケーションはいくつもある)で調べたりしてDSDTを抽出し、編集することになるが、今回は、「完成されたマシーン」を組むことが目的ではないので、そういう作業は最初からしなかった。



Tetsuo Kogawa  粉川哲夫
anarchyサイト   シネマノート   ハッキントシュ   メール: tetsuo@cinemanote.jp