Tetsuo Kogawa  粉川哲夫

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


■2012-03-28

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


DP1が出て1ヶ月後たらずの3月16日、DP2がリリースされた。わたしは、その使い勝手や「内容」はともかく、それをハッキントッシュする場合の状態に関心があったので、早速インストールに挑戦してみた。結果的には、DP1のときと変わらずAT互換機にインストールできたが、まえよりは、若干やっかいだった。そのプロセスを以下に報告しておこう。


●必要なもの
◆Mountain Lion DP2 Mac OS X Base System (Torrentサイトで"Mountain lion DP2"を検索するとあるかもしれない)
◆16GBのUSBメモリー
◆OS X 10.5以上が動く作業用マシーン(Hackintoshでも可)→今回は、以前にHackintosh化のリポートを書いたHP Compaq 6710bを使った)
◆本体(ここでは、前回のDP1のときに使った構成のマシーンを使った→MB/ASUS P8z68-M PRO、CPU/Intel Core i5-2500 3.3GHz、GPU/ATI_Radeon_HD6850)
◆ドライバー類→作業マシーンのデスクトップにおいておくと便利

・ブートローダー"Chimera"tonymacx86.comからダウンロードする→サインインが必要)

FakeSMC.kextNullPUPowerManagement.kext(これがないとインストールが途中で止まる→後述)→MacBreakerのサイトで入手し、作業用OSXマシーンのデスクトップに解凍しておく。

・MBRパッチ(これがないとあと一歩のところで先に進めなくなる)→10.8 DP2 MBR-patched OSInstall framework &.mpkgOSX86.net(サインインが必要)から取得し、作業用OSXマシーンのデスクトップに解凍しておく。

◆本体のHDDを上記のマシーンに外部接続できる接続ケーブル


●準備作業

◆作業用マシーンのデスクトップで「隠しファイル」が見えるようにする
"defaults"コマンドを使う→Utilities→Terminal→以下のコマンドを入れる

defaults write com.apple.finder AppleShowAllFiles TRUE

killall Finder

とたんにデスクトップに".DS_Store"などの「隠しファイル」のアイコンが出てくる。

*ちなみに、この状態を解除するには、以下のコマンドを使う。
defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

さて、入手したMountain Lion DP2を開き、そのなかの「Mountain Lion DP2.dmg」のアイコンをクリックすると図のようなフォールダー/ファイルが見える。

本来ライオンの顔に見えるはずのアイコンがつぶれているのは、Snow Leopardのマシーンで開いたからである。マシーンがLionならば、ちゃんと顔が見える。

以下で必要なのは、"defaults"コマンドの操作で見えるようになった「BaseSystem.dmg」である
◆USBメモリーにMLDP2BaseSystem.dmgをインストールする

・作業用マシーンでUtilities→Disk Utilityを立ち上げ、16GBのUSBメモリーをフォーマットする:
USBを選択→[Erase]→"Mac OS Extended (Journaled)"→Erase

・Disk Utilityの[Restore]→"Source"に「BaseSystem.dmg」を、"Destination"に「Untitled」(特に名前をつけていなければ)を選び、[Restore]をクリック

・10~15分程度かかる

◆Disk Utilityでは行われなかったインストール作業の補完
・インストール用USBのなかの/System/Installationを開くと、「Packages」がリンクになっていることがわかる。これを実フォールダーと交換してやる。
→最初の「Mountain Lion DP2 Mac OS X Base System」を開くと、そこに「Packages」が見える。これを、インストール用USBのなかの/System/Installationのなかのリンクフォールダーに重ね書きしてやる。

・この状態では、カーネルがコピーされていないので、これをコピーする。
→インストール用USBをクリックして開くとすぐに見える「隠しファイル」"mach_kernel"をドラッグ&ドロップする。

2つのドライバーkext (FakeSMC.kextとNullPUPowerManagement.kext)を インストール用USBのなかに出来た/System/Library/Extensionsにコピー→マウスによるドラグ&ドロップでよい。

MBRパッチのインストール→若干やっかい
◎あらかじめ用意した「OSInstall.mpkg」を、/System/Installation/Packages/に重ね書きする。
◎同様に、「OSInstall」を、/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/の下に重ね書きする。

◆ブートローダー「Chimera」を入れる

・指示にしたがって[Continue]をクリックしていくと、「Change Install Location」のところに出る。ここで、インストール用のUSBメモリーを選ぶ。そのまま先に進むと、作業用のマシーンにブートローダーを重ね書きしてしまい、起動しなくなることがあるので注意

●インストール(第1段階)

◆いま作ったインストールUSBで、Hackintosh化したいマシーンを「-v」付でブートさせる。
ここで使ったASUSのマザーボードのマシーンでは、「F8」を押して、USBメモリーからの起動を選ぶ。
Chimeraのブートローダー(文字だけ)の選択画面で止まるから、「hd(0,2) Mac OS X Base System」を選ぶ。



◆同じシステム構成ならば、このまま「歓迎」を示す動画画面まで突き進むだろう。以後は、HDDのフォーマットののち(HDDに名称を付ける→ここでは「mountainliondp2」とした)、通常のインストールプロセスをたどることになる。ここの部分は省略してもよいだろう。

◆インストールが済むと、自動的にリブートを始めるが、いまインストールしたHDDから起動させると、途中で止まってしまうだろう。

ヴァーボースデータに見える「System Uptime in Nanoseconds:」は、BIOSを読み取れなくてカーネル・パニックを起こしていることを示す。

これを避けるためのエミュレーティングをするのがFakeSMC.kextというドライバーであるが、これまでのインストールプロセスでは、(インストールUSBには入っていたものの)それらが本体のHDDに自動的にインストールされることはなかったので、こういう事態に陥ったわけである。だから、このドライバーを手動で入れてやらなければならない。


●インストール(第2段階)(2つのkextとブートローダー)

◆めんどうだが、いまシステムをインストールしたHDDをはずし、SATA←→USBの接続ケーブルで作業用OSXマシーンに接続する。そして、/System/Library/Extensionsを開き、あらかじめデスクトップに置いてあった2つのドライバーkext (FakeSMC.kextNullPUPowerManagement.kext)をコピーする。インストールUSBに対して行ったのと同じこと(→◎参照)をするわけだ。

◆さらに、このHDDにChimeraブートローダーをインストールする。


●本体の起動


◆インストールUSBを抜き取り、本体のHDDだけで起動させると、やがて、「Welcome」のなつかしの画面が出てくるはずである。あとは、ごく普通の設定を続けることになる。


◆このまますんなりと「Welcome」の画面にまで直進するはずである。

ところが、そうはいかなかった!

●DP2のバグ?

◆「Welcome」画面で使用者の地域を選ぶと、ネットワークの選択の画面「How Do You Connect?」が出た。ごくあたりまえのプロセスである。そこで、以後は、通常のOSXの設定を行えばよいと思い、「Local network(Ethernet)」を選んで「Continue」を押し、次の「Your Internet Connection」画面でDHCPの選択をして次に進んだら、いきなりログイン画面に行き、そこに何を入れても先に進めなくなるという現象が起きた。リブートして、インターネットの設定をいろいろ替えても同じである。

◆結局、「My computer does not connect to the Internet」を選ばないとダメなことがわかった。そうすると、「Create your Computer Account」に行き、ユーザー名/パスワードを割り当て、やっと、本当にログイン可能なログイン画面にたどり着き、待ちに待ったデスクトップ画面を見ることができるのだった。おそらく、ネットワークのドライバーが整合しないためにネットにアクセスできず、とりあえずログイン画面を出してしまうのだろう。これは、明らかにバグだ。ネットワークがだめでも、ユーザー名やアカウント名・パスワードの設定画面に行くようにすべきだろう。このへんにも、クラウド志向の強いMountain Lionの癖が出ている。


●インストール不能の例

◆こうして何とかインストールと起動にこぎつけたが、ときとして、インストールの第1段階で本体のHDDが読めないで「Mac OS X can't be installed on this Computer」、「Restore from Backup」、「Restart」というような表示が出て、それ以上インストールができないことがある。その際、「OS X 10.7」などをインストールしてはいないのに、エラー表示では、「10.7がインストールできない」などと出るのである。



◆この奇怪な現象は、Snow Leopardのインストール時にも出ることがあるが、どうやら、これは、コピープロテクトの問題らしい。Mountain Lionの場合、Developer Preview 2になって、アップルの「純正」マシン以外のマシンつまりはハッキントッシュ・マシーンにインストールするときに、このプロテクトの効き方が強くなっているようだ。

◆ハッキントッシュの世界では、このプロテクトを外すドライバーを「MBR patches」と呼ぶ。これは、表向きには、マスター・ブート・ローダーのパーティションとGUIDのパーティションとを混在させるためのパッチだということになっているが、実際にフォーマッターでHDDをWIPEし、MBRのパーティッションを一切なくしてGUIDのパーティションを作ってやっても、このパッチを入れないかぎり、上述の現象が出る。なお、このパッチは、通常、「board-id check」を外す設定がなされる。実は、これが、ハッキントッシュにとっては、一番重要な点なのだ。だから、万が一、このパッチで後者の機能がないような場合には、写真のような現象に直面せざるをえないだろう。

◆そういうわけなので、当該の問題は、前述の「MBRパッチのインストール」のところの操作を厳密にやることとによって解決される。そのパッチが「board-id check」を外しているかどうかを確認して使う必要があるわけだ。


●オーディオとネットワークの問題

◆例によって、オーディオとネットワークは、設定しないと起動しない。やり方は、DP1で示したのと同じで大丈夫であった。→オーディオネットワークを参照。


●com.apple.Boot.plist→org.chameleon.Boot.plistのこと

◆現状では、ブート画面からスタートを指令しなければならないが、自動起動させるためには、Extra/org.chameleon.Boot.plistを作り、com.apple.Boot.plistの内容と新たな指令を書く必要がある。以下に基本の例を示す。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Kernel Flags</key>
<string>-v</string>
<key>Default Partition</key>
<string>hd(0,2)</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Timeout</key>
<string>5</string>
<key>EthernetBuilIn</key>
<string>Yes</string>
</dict>
</plist>

◆ブートローダー Chimeraをインストールすると、/Library/Preferences/SystemConfiguration/com.apple.Boot.plistでなく、Extra/org.chameleon.Boot.plistから起動する。だから、ここにすべての指令を書くわけだ。

◆なお、DP2では32bitカーネルのサポートはなくなり、64bitのみとなったので、「arch=i386」というフラッグは機能しない。これは、DP1との大きな違いの1つである。


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