ページ

2013年7月15日月曜日

Mac OSX 10.7 Lion install with Multibeast 4.7.0

Hackintosh(MacOSX86) をインストールするのは以前にやったことがありましたが、当時 MacOSX 10.7.x (Lion) のインストールに使った Multibeast がバージョンアップして4.7.0になり「AppleHDA Rollback」という項目が削除されたため、手順が少々異なったものになってきたようです。それに、最近出回っているWestern Digital製の hard drive では、うまくブートローダーが起動できません。このあたりの話をまとめておきます。

1) BootLoader + MacOSX 10.7.x を USB memory chip に書き込む作業は省略します。出来上がった物を名付けて UniBeast と言います。もっとも今時 MacOSX 10.7.x なんかアップル社から購入できるわけでもないでしょうから、この部分は参考だけにして下さい。

2) MacOSX 10.7.x をインストールするための新規 hard drive を用意します。実は、このようなインストールをする事になった原因は Seagate 製の hard drive の故障でした。1秒間隔でカッチカッチと異音を発するようになり、昇天してしまいました。これと同じ hard drive の故障を iMac で経験しましたので、もう Seagate 製の hard drive はこりごりでした。という理由で Western Digital の hard drive で 1TB の製品を用意しました。

新規に Mac OSX Lion をインストールすれば、紛らわしくないのでしょうが、この新しい hard drive に MacOSX 10.6.8 Hackintosh として稼働している hard drive の内容を Carbon Copy Cloner で丸ごとコピーし、その上に MacOSX 10.7.x をアップデートインストールしました。この場合に注意すべき事は、例えば /Extra/Extensions/ALC889HDA.kext などという余計なドライバーを残さないようにする事です。まあ、残していたからといって、何かのトラブルに遭遇するとは限りませんが。

3) さて、そうやってインストールした Mac OSX Lion の hard drive を UniBeast のブートローダーで立ち上げます。当然ながら無事に Mac OSX Lion を起動する事ができました。でも、いつものごとく音声は出ませんし、ネットワークは動作していません。次に tonymacx86 のサイトから Multibeast 4.7.0 と自分のマザーボードに適合したDSDTファイルをダウンロードします。ダウンロードしたDSDTファイルはデスクトップ上に置きます。Multibeast 4.7.0 を立ち上げて、例えば以下のようにチェックをします。ネットワークが動作しないのに、どうやってダウンロードするのだ、と突っ込まないで下さいね。無線ネットワークが無事に動作していただけですから。


ここで、最初のチェック「EasyBeast Install」の項目は、hard drive のパーティション領域にブートローダーを書き込みします。次の「User DSDT or DSDT-Free Installation」の項目は、デスクトップ上に置いた「DSDT.aml」ファイルを /Extra/DSDT.aml に置いてくれます。ご参考までに、このセッティングのマザーボードは「Gigayte GA-Z68X-UD3H-B3」です。次の Audio の項目がもっとも悩む箇所でしょう。この例では With DSDT 以下の「ALC889」にチェックを入れていますが、いろいろ調べてみても、Without DSDT の方は使わないようです。(注1)「ALC889」というのは自分の使っている音声チップに対応したドライバー名で、各自自分の使っているマザーボードの音声チップを調べないといけません。下手に複数のドライバーにチェックを入れてインストールすると、その中に「ALC889」が含まれていても System profiler (Appleマーク-->この Mac について-->詳しい情報 --> システムレポート)を調べてみると、オーディオ ID: 889 とはなっていなかったりします。


あるいは、Without DSDT の方で複数のチェックを入れたりすると、/System/Library/Extensions/ 以下に複数の HDAEnablerxxx.kext がインストールされて混乱の極みに陥ることになります。


このような HDAEnablerxxx.kext は不必要なものですので、上記は悪い例です。

【注1:この点は間違っていました。2014年9月になり GA-Z68X-UD3H-B3 の BIOSを UEFI に書き換えして、OSX86 Lion を起動させてみるとカーネルパニックを起こし起動不能になりました。いろいろ試してみて結局 /Extra/DSDT.aml を削除する事で問題解決しました。つまり UEFI にとって DSDT.aml は不要というよりも有害な存在になったようです。マザーボードでいうならば、7シリーズ以後は DSDT は原則として使わないという事のようです。そのため without DSDT という項目が multibeast に設けられたという事のようです。という事なので、/Etra/DSDT.aml を削除した UEFI 起動になると without DSDT の方で設定しないかぎり音声はでませんね。何故 UEFI にしたかって?そりゃ 4TB の HDD を使いたかったからですよ。そうそう、それで思い出しました。以前から時々あった問題ですけれど、OSX86 を起動して1時間くらい何もしていないと自動的に復帰不能のスリープ状態になってしまうんです。もちろんスリープしない設定にしてたんですけどね。その頻度が 4TB の HDD にしたとたんに増加したんです。電源を 650W から 750W の物に変更したら問題が出現しなくなりました。】

MultiBeast のオーディオの項目から離れて、次はネットワークの項目です。解説を読めばわかりますが「Realtek - Lnx2Mac's RealtekRTL81xx」が最も推奨項目なので、これを選びましたら正解でした。【追加:使っていたら時々ネットワークが動作不良を引き起こすようになり、これは駄目だということで、その下にある AppleRTL8169Ethernet をインストールしたらちゃんと動作するようになりました。】

3) 以上を実行して UniBeast のブートローダーから離れて Mac OSX Lion をインストールした hard drive から直接起動できる予定でした。しかし、

boot0: GPT
boot0: test
......
boot0: error

と表示されて先に進めません。この件についてはネット上で検索するとすぐに解決方法が見つかるでしょう。簡単に書いておきます。ハードディスクのデフォールト・ブロックサイズは512バイトでした。ただ、容量が 1TB を超えるような hard drive ではデフォールト・ブロックサイズは4096バイトでした。そのためにMultiBeast は容量が 1TB を超えるような hard drive を使用できない、という注意がなされていたようです。しかし、今回の例からもわかるように容量が 1TB でもデフォールト・ブロックサイズは4096バイトの製品が出てきたようです。以下これに対する対処法です。


まず diskutil list でハードディスクのドライブ番号を調べます。ここでは Mac OSX Lion は DynaMac512K にインストールされているので「/dev/disk1」が該当ドライブになります。このようにした後でブートをすると、うまく起動できるようになります。

4) さて、そのようにして起動した Mac OSX Lion ですが、実際は音声がまったく出ませんでした。恐らく、クリーンインストールではなく、アップデートインストールした事が一因ではなかったかと思えます。簡単に書くと次のようにして音声が出るようになりました。

/System/Library/Extensions/ にある「AppleHDA.kext」と、もしもあるなら「HDAEnablerxxx.kext」を削除します。kext の削除方法はネット上で調べてみて下さい。その上で MultiBeast の Audio 項目以下、With DSDT の「ALC889」にチェックを入れてインストールしました。インストール直後からメニューバー右にあるスピーカー・アイコンが灰色から黒色に代わり、音声が出るようになりました。あっと、この点はメモリー上の機能拡張の動作を停止(kextunload)していた場合です。そんな手間を省いた場合にはコンピューターの再起動しないと音がうまく出力されませんので。

【追加】
(1) OSX 10.6.8 --> 10.7.4 にしてみて動作しないソフトウェアが幾つかありました。そのうちの幾つかについて書いておきます。
動作しているのが驚きのソフトウェアは、EgWord Universal2(EgBridgeは対応してないという噂がありインストールしていない), RadioShark2(自動録音もできました)です。細かい動作まではチェックしていませんけどね。
動作しないソフトウェアは、Cabos, MacTheRipper でした。これ以外にも仕事で使ってるソフトウェアは動作不能になってました。OS のアップデートには注意が必要なので書いてみました。うちでは OSX 10.5 が今だに現役で動作しています。何しろ Mac OS9 が動作しますので。

(2)  上記で触れませんでしたが、このままではスリープが出来ません。無理にスリープさせようとすると、大抵の場合はスリープしたままで復帰させる事ができなくなります。ですので個人的には「システム環境設定 」--->「省エネルギー」にてスリープをさせないように設定しています。これが一番楽ちんです。しかし、どうしてもスリープさせたいという人は、OS X のバージョンに適合した SleepEnabler を探し出すしかありません。ところがこれが結構くせ者である場合が多いのです。例えば、OSX のバージョンを 0.0.1 変えるとシステムの起動時にカーネルパニックを引き起こす可能性が大です。そういう場合には OSX のアップデート前に /Extra/Extensions/SleepEnabler.kext をあらかじめ削除しておくべきなのです。しかし、大抵、削除し忘れているんですよね。それにうまくスリープから復帰できたように思えても、ネットワークが接続できなくなっていたりしてトラブルの元凶ともなっている場合が多いです。

(3) グラフィックカードについて上記で触れませんでした。かつて OSX86 で OSX10.6(Snow Leopard) のグラフィックカードとして Geforce GTX 480, 9800 などを使っていた頃は対応するグラフィックドライバーを探したり、設定を求めて苦労したものでした。その後 10.7, 10.8 となるに連れてグラフィックカードをどのように選んだらよいのか分からなくなってきました。該当するグラフィックカード(GC)が発売されていない時代の OSX では、その GC は使えないという事を忘れがちになります。例えば、OSX 10.6 では GC として GTX480 は使えますが、GTX 580 は使えません。GTX 580 シリーズは OSX 10.7 にならないと使えません。これは後の OSX についてもほぼ同様に当てはまるのではないかな?例えば、GTX 680 シリーズは OSX 10.8 にならないと使えない(未確認です)。

Core i7 Sandy Bridge の 2600 は OSX 10.6 (Snow Leopard), 10.7 (Lion) で使える最後の CPU です。これ以後の Core i7 Ivy Bridge 3770 になると OSX 10.8 (Moutain Lion) にならないと対応してません。また、USB3 も同様に OSX 10.8 (Moutain Lion) にならないと対応してません(未確認です)。また古いソフトウェア(PPC emulator Rosseta)を使うには、OSX 10.6 でないと駄目です。OSX 10.6 は Core i7 920 などの Nehalem やそれ以前の Intel Core2 processor に対応しています。

0 件のコメント: