タグ : Leopard

夢の続き

ELSA の GLADIAC 988 GTZ 512M (8800GT) を買ったので、夢を見ているPCに換装してみました。Boot.plist の書き換えを忘れずに。

で、起動したところ、ちゃんと認識され、機嫌良く動いています。これで、Snow Leopard の OpenCL も恐くないってとこでしょうか。:-)

夢の中で音が鳴りました

探し方が、まだまだ足りなかったようです。InsanelyMac の以下のエントリから、ALC888用のkextを落として入れると、内蔵オーディオで音がなりました。

[HOW TO] Patch AppleHDA – Knowledge Base

このエントリに記載されている Desktop ALC883 CAD0 5.1(記事のかなり下の方にリンクがあります)をダウンロードして、/System/Library/Extensions にインストールするか、EFI boot をインストールしたバーティションの /Extensions にコピーして、update.sh を実行し直すか、boot-132 の initrd.img にコピーするか、いずれかを行って、とにかくブート時に読み込まれるようにすると、内蔵音源から音がなります。

これで、Leopardについては、ほぼ完璧となりました。:-)

EFI boot Kit for P5E WS PRO ←全部まとめてダウンロードはこちらから。

夢の中で sleep しました

やはり夢ですので、間抜けなことを気づかずにしていたようです。

Kernel boot オプション に -f を指定しないと、オンボードの NIC を認識しなかったのですが、EFI Studioで、EFI string を作成する際に、Ethernet を追加し忘れていたようで、

  1. Device: に、Display を選択。その下のドロップダウンリストで、GeForce 8600GT 256MB を選択。Add device をクリック。
  2. Device: Ethernet を選択。Add device をクリック。

として、Boot.plist を作成したら、普通に、オンボードの NIC を認識しました。情けない。^^;

それはともかく、10.5.6 で、sleep する方法ですが、以下の通り。

  1. http://www.superhai.com/darwin.html から、EHCISleepEnabler をダウンロードする。
  2. ダウンロードした zip ファイルを展開すると、EHCISleepEnabler.kext ができるので、/System/Library/Extensions にインストールするか、EFI boot をインストールしたバーティションの /Extensions にコピーして、update.sh を実行し直すか、boot-132 の initrd.img にコピーするか、いずれかを行って、とにかくブート時に読み込まれるようにする。
  3. /System/Library/Extensions/IOUSBFamily.kext/Contents/
    PlugIns/AppleUSBEHCI.kext/Contents/Info.plist を適当なところへコピーする。
  4. コピーした Info.plist を開き、
    • <key>CFBundleVersion</key>
    • <string>3.1.5</string>
  5. と書かれている箇所の下に、次の行を追加する。
    • <key>OSBundleCompatibleVersion</key>
    • <string>1.0</string>
  6. ターミナルを開き、編集した Info.plist があるフォルダへ cd する。
  7. 次のコマンドを実行。
  8. sudo cp Info.plist /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBEHCI.kext/Contents/
  9. sudo touch /System/Library/Extensions
  10. ここで、リブートする。

すると、バッチリ sleep するようになりました。

が、ここで問題発生。カーネルブートオプション -f を外すと、なぜか、sleep も reboot もうまく動かない。OSは終了するんですが、給電されたままで、電源入れ直すか、リセットするしかなくなってしまう。(T_T) なかなか上手くいかんものです。

と思ってたら、試行錯誤していた時にあれこれインストールした kext がコンフリクトしていたみたいで、不要なものを削除したら、-f を外しても問題なく動くようになりました。が、一度 sleep した後、reboot しようとすると、OSは終了するものの、BIOS が立ち上がってきません。まあ、リセットボタンを押せばすむことなんですが。(2008/12/26)

 

続けて夢を見ました。

EFI boot v6 を落として、USBデバイス経由でなく、スタンドアローンで起動するようにしてみました。この、EFI boot は、Boot-132にインスパイヤされたものだと作成者自身が記事で述べているように、GUIDパーティションに必ずついてくる EFIパーティションにブートローダやら、kextを突っ込んでしまえという方法です。元々 Apple はここを使ってないので、昨今の風潮にあわせた資源の有効活用ってやつですね。やり方はごっつ簡単。Leopard 導入済みの環境でも、DVDのインストーラから起動した環境でもインストール可能です。

■必要なもの

  1. efi_boot_v6.1.zip を InsanelyMac の [Guide] Boot from EFI partition, zero modification installs on Intel SSE2 or better…, Zero-modification Leopard installs. Share disks between macs & ha ってエントリから落とす。
  2. zip を展開しておく。
  3. DSDT Pacher で、DSDT.aml を造っておく。

[1] インストール先ディスクのデバイス名を取得する

  1. ターミナルを開き、sudo -s でルートになっておく。
  2. レパード実行環境なら、diskutil info / | grep Identifier を実行。表示されたディスク名(disk0s2 とか)をメモっとく。
  3. DVD起動なら、diskutil info /Volume/なんとか | grep Identifier。/Volume/なんとか は、対象のディスクのマウントポイント。

[2] EFIパーティションを初期化する

  1. さて、次に、EFIパーティションを使えるようにしなくてはなりません。通常、FAT32でフォーマットされているので、これを HFS+ に置き換えるわけです。そこで、次のコマンドを実行。
  2. diskutil eraseVolume “HFS+” “EFI” /dev/diskXs1 (diskXs1 の X は、[1]で取得したディスク名の最初の数字)

[3] ディスクを起動可能にする

  1. そのままでは、OSX86 をインストールした パーティションが、active (起動可能) になっているので、EFIパーティションが、active になるようおまじないをします。
  2. ./fdisk -e /dev/rdiskX (rdiskX の X は、[1]で取得したディスク名の最初の数字)
  3. すると、fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory なんてメッセージが出ますが、無視します。
  4. fdisk: X> とプロンプトが出ますので、f 1 と入力し、リターン。
  5. Partition 1 marked active. なんてメッセージが出力されます。
  6. 続いて、w と入力してリターン。これで、4 で変更した内容が書き込まれます。
  7. q と入力してリターン。で、終了。

[4] インストールする

  1. EFI Boot v6.1 を展開したディレクトリへ cd して、まずイニシャルブートローダを書き込む。
  2. と、その前に、コマンドに実行属性がなかったりするので、chmod +x fdisk とおまじないしておく。
  3. ./fdisk -f boot0 -u -y /dev/rdiskX を実行。(rdiskX の X は、[1]でメモったディスク名の最初の数字を指定して下さい)
  4. dd if=boot1h of=/dev/rdiskXs1 を実行。(最後の s1 が重要です。ここを変えたりしちゃいけません)
  5. mkdir /Volume/EFI
  6. mount_hfs /dev/diskXs1 /Volume/EFI (diskXs1 の X は、[1]でメモったディスク名の最初の数字を指定して下さい)
  7. cp boot-turbo-munky.bin /Volumes/EFI/boot
  8. cp update.sh /Volume/EFI/
  9. mkdir -p /Volumes/EFI/System/Booter
  10. mkdir /Volumes/EFI/Extensions
  11. mkdir /Volumes/EFI/.fseventsd (既にあったら造らなくてもよい)
  12. touch /Volumes/EFI/.fseventsd/no_log
  13. 必要な kext を /Volume/Extensions/ にコピーする。P5E WS PRO の場合は、次の通り。
  14. AppleAHCISupport.kext, AppleIntelPIIXATASupport.kext, SMBIOSEnabler.kext, dsmos.kext, AppleAHCIPort.kext, AppleYukon2Support.kext, AppleVIAATA.kext, OpenHaltRestart.kext (DSDT Patch を使用するので、Disabler系は不要)
  15. DSDT.aml を /Volume/EFI へコピーする。
  16. /Library/Preferences/SystemConfiguration/com.apple.Boot.plist を /Volume/EFI へコピーする。
  17. cd /Volume/EFI; chmod +x update.sh
  18. ./update.sh を実行する。警告が表示されても気にしない。
  19. cd .. して、umount /Volume/EFI で、アンマウントする。できない場合は、-f オプションをつけて強制アンマウント。
  20. 以上でインストール終了!

いざ、再起動です。kextが読まれるのが、暫し画面に表示された後、あの灰色の画面が…って、林檎マークが出ない…ま、そういう仕様なんですが、ちょっと寂しい。まあ、起動してしまえば、問題なく使えます。リブートとシャットダウンがシャキシャキと反応するようになったんで、DSDT Patch もちゃんと効いてるみたい。相変わらず sleep が復帰してこないんですが、うちの場合は許容範囲です。

夢を見ました

 Leopard を PCにインストールするという夢を見たので、忘れないうちにメモしておいたり。オンボのサウンドがどうやっても認識しないけど、USBの音源あるし、ま、いっかってことで。

 ちなみに、10.5.6 は、スリープから戻ってこないっす。デスクトップをスリープ運用する人は、あんましいないかもしんないけど。(10.5.5だと、ちゃんとスリープから復帰します)

 カーネルブート時にネットワークアダプタが認識されないため、ホストUUID が設定されない問題があった。そのせいで、Time Machines が正常に開始しなかったり、Xcode がエラーを吐いたり、色々問題が。^^; おまけ 4 に解決方法を追記。(2008/12/19)

 

■ 環境

  • M/B: Asus P5E WS Pro
  • CPU: Intel Core 2 Quad (Q6600) 2.4GHz
  • MEM: 8GB
  • VGA: GeForce 8600GT 256MB
  • Sound: USB音源
  • DVD: PIONEER DVD-RW (内蔵) PATA & I・Oデータ SVRP-UN8PL2 (外付) USB

■ 必要なもの

  • ブート可能な USBデバイス
  • Retail の Mac OS X 10.5 Leopard インストールディスク

■ 下準備

  1. boot-132 をダウンロード。generic.iso でOK。http://www.mediafire.com/?uwd9dtttjfk夢置場から Pre Boot CD をダウンロードしても可。http://dream.so.land.to/
  2. 夢置場から LDMx86 をダウンロード。
  3. OpenHaltRestart.kext をダウンロード。http://psystar.com/openhaltrestart.html
  4. AppleVIAATA6111_6145.kext.zip をダウンロード。http://my.ukrweb.info/en/node/73
  5. EFIStudioをダウンロード。http://www.mediafire.com/?mi2jyme5fxf
  6. Kext helperをダウンロード。http://cheetha.net/
  7. Appleから、10.5.6 の Combo Update を落とす。ついでに、JavaのUpdateも落とす。

■ ブートデバイスを作成

  1. ブート用のUSBデバイスをFAT32でフォーマット
  2. boot-132ディスクの内容をUSBへコピー
  3. USB デバイスへコピーした isolinux/isolinux.cfg を デバイス直下へ移動。syslinux.cfg にリネーム
  4. USB デバイスへコピーした isolinux.bin を syslinux.sys にリネーム
  5. USB デバイスにブートストラップローダをインストールする。
    Windowsなら、syslinux.exe -ma X: (X:は、USBデバイスのドライブレター)とすれば完了。
    Linuxなら、syslinux /dev/(USB device)。Mac では…できない? ^^;
  6. LDMx86 を展開して、できたフォルダへ移動する。
  7. フォルダ内にある file1.tgz を展開する。(Macだと、Finderから見えないので、ターミナルを開いて、tar コマンドで展開する。tar xvjf file1.tgz)
  8. USB デバイス上の initrd.img を読み書き可能でオープンする。
  9. initrd.img の内容を削除。
  10. 7. で展開してできた System/Library/Extentions から次のファイルを initrd.img へコピーする。
  11. AppleAHCISupport.kext, IntelCPUPMDisabler.kext, AppleIntelPIIXATASupport.kext, SMBIOSEnabler.kext, dsmos.kext, AppleAHCIPort.kext, AppleYukon2Support.kext
  12. dsmos.kext は、USBデバイスのルート直下にもコピーしておく。
  13. AppleVIAATA6111_6145.kext.zip を展開してできる次のファイルを initrd.img へコピーする。
  14. AppleVIAATA.kext
  15. OpenHaltRestart.ext も initrd.img へコピーする。
  16. 以上で initrd.img を保存してクローズする。
  17. USBデバイス上の syslinux.cfg をエディタで編集。「APPEND biosdev=81」を最後に追加。

■ BIOS設定の確認

  1. SATAの設定で、ICH9R は ACHI または、RAID
  2. CPUの設定で、SpeedStep は Disabled。
  3. オンボードデバイスの設定で、Marvell 80E4165 は Legacy Mode

■ インストール

  1. boot-132 または、Pre Boot CD を焼いて、それでCD起動。
  2. boot: プロンプトが出たら、Leopard Install Disk (Retail) に交換。
  3. リターンキーを押下。
  4. 起動デバイスのメディアタイプを尋ねてくるが、そのままリターン。
  5. また boot: プロンプトが表示されたら、3.〜4. を繰り返す。
  6. CD 起動するなら何かキーを押せ…といった内容のメッセージが表示されたら、何でもいいのでキーを押す。
  7. インストーラが起動するのをのんびり待つ。
  8. インストーラが起動したら、ディスクユーティリティを起動して、インストール先の HD を GUIDパーティションで初期化。
  9. 後は、普通にインストールする。
  10. その間に、ブートデバイス用に作成した USBデバイスを接続しておく。
  11. 通常のMacだと、インストールが終了したら自動的に再起動するが、夢なのでくるくるブートインディケータが回るだけになるかもしれない。その時は、慌てず騒がず、電源を入れ直す。
  12. USBデバイス経由でブートして、Welcome画面になれば、OK。ネットワークが認識されていないが、気にせずに、デスクトップ画面が表示されるまで進める。

■ アップデート

  1. ダウンロードした Comboアップデートを起動する。起動するだけ。
  2. EFIStudio を起動する。
  3. Kext Helper を起動する。
  4. ターミナルを二枚開き、それぞれ、sudo -s しておく。
  5. 片方のターミナルで、以下のコマンドを実行。(しなくても、Disablerが効いてるので問題ないが、念のため)
  6. while sleep 1; do; rm -rf /System/Library/Extensions/AppleIntelCPUPowerManagement.kext; done
  7. ここでおもむろに、Combo Update を実行し、インストールを完了させる。ただし、再起動してはダメ
  8. Kext Helper で、dsmos.kext をインストール。
  9. EFIStudio で、以下の操作を行う。
  10. Device: で、Display を選択。GeForce 8600GT 256MB を選択。Add device ボタンをクリック。すると、Editor ウィンドウが開くが、ひとまず無視。
  11. Device: で、Ethernet を選択。Add device ボタンをクリック。
  12. Editor ウィンドウの write to com.apple.Boot.plist ボタンをクリック。
  13. EFIStudio の ツールバーから、Boot plist Editor を起動して、ブートパラメータに -f を追加。(初期状態は何も定義されていないはず)
  14. 二枚目のターミナルで、/System/InstallAtStartup/scripts/1 を nano か、vi で開く。
  15. AppleIntelCPUPowerManagement.kext を検索し、ヒットすれば、dsmos.kext に置換して、保存する。
  16. nano (または、vi) を終了
  17. ここで、再起動する。
  18. 起動中に、一度リブートがかかる(これ自体は正常。Macでも同じ動きをする)。デスクトップが表示されたら、システムプロファイラで、QE/CIが有効になっていることを確認。
  19. システム環境設定を開き、イーサネットが有効になっていることを確認。イーサネットがなければ、追加する。

 

■ おまけ 1

  1. 内蔵ディスクが「外部ディスク」として認識されているのは、以下の手順で修正する。
  2. /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/
    IOAHCIBlockStorage.kext/Contents/Info.plist を適当な場所にコピー。
  3. コピーした Info.plist を開く。(Property List Editor が起動)
  4. /Information Property List/IOKitPersonalities/AppleAHCIDiskDriver を開く。
  5. Physical Interconnect をキーに追加。属性は、string。値は、SATA
  6. Physical Interconnect Location をキーに追加。属性は、string。値は、Internal
  7. Protocol Characteristics をキーに追加。属性は、Directory。
  8. Protocol Characteristics の下に、 Physical Interconnect をキーに追加。属性は、string。値は、SATA
  9. Protocol Characteristics の下に、 Physical Interconnect Location をキーに追加。属性は、string。値は、Internal
  10. 保存する。
  11. ターミナルを開き、Info.plist を保存したフォルダへ cd する。
  12. sudo cp Info.plist /System/Library/Extensions/IOAHCIFamily.kext/
    Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/
  13. リブートする。
  14. ネタ元は、http://forum.insanelymac.com/index.php?showtopic=108479

■ おまけ 2

  1. システムプロファイルの「機種ID」(P5E WS Pro) をメモる。
  2. /System/Library/SystemProfiler/SPPlatformReporter.spreporter/
    Contents/Resources/SPMachineTypes.plist を適当なフォルダへコピーする。
  3. このファイルの最後に、P5E WS Pro キーを追加。属性は、string。値は、MacPro
  4. ターミナルを開き、SPMachineTypes.plist を保存したフォルダへ cd する。
  5. 以下のコマンドを実行する。
  6. sudo cp SPMachineTypes.plist /System/Library/SystemProfiler/SPPlatformReporter.spreporter/Contents/Resources/
  7. すると、リブート後、システムプロファイラで、Mac Pro と表示される。^^;
  8. /System/Library/SystemProfiler/SPPlatformReporter.spreporter/
    Contents/Resources/Japanese.lproj/Localizable.strings にキーを定義すればお好みの表示に変えることも可能。Mac Pro Fake とか。各国語で表示したければ、各国語の Localizable.strings を同様に修正。

 

■ おまけ 3

  1. システムメニューの「この Mac について」で、プロセッサが、不明となるのが気持ち悪い人は、
  2. /System/Library/CoreServices/loginwindow.app/Contents/Resources/
    Japanese.lproj/AboutThisMac.strings を適当なところにコピー。
  3. UTF-16 エンコーディングのテキストが扱えるエディタで開く。
  4. "ABOUT_BOX_SINGLE_PROCESSOR_FIELD_FORMAT" = "%@"; という行を、
    "ABOUT_BOX_SINGLE_PROCESSOR_FIELD_FORMAT" = "2.88GHz Intel Core 2 Quad@2.88GHz";
    などと、お好みで書き換える。
  5. ついでにその少し下にある、
    "ABOUT_BOX_MULTIPLE_PROCESSORS_FIELD_FORMAT" = "%@"; という行も、
    "ABOUT_BOX_MULTIPLE_PROCESSORS_FIELD_FORMAT" = "2.88GHz Intel Xeon@2.88GHz x 2";
    などとお好みで書き換える。
  6. ターミナルを開き、AboutThisMac.strings を保存したフォルダへ cd する。
  7. 以下のコマンドを実行する。
  8. sudo cp AboutThisMac.strings /System/Library/CoreServices/loginwindow.app/
    Contents/Resources/Japanese.lproj/
  9. すると、リブート後、お好みのプロセッサ表示に大変身! ^^;;

 

■ おまけ 4 (2008/12/19追記)

  1. sneosx86.freeflux.netこのエントリから、IONetworkingFamily-_581_.zip を取得する。
  2. 適当なフォルダへ展開する。
  3. ターミナルを開き、IONetworkingFamily を展開したフォルダへ cd する。
  4. 以下のコマンドを実行する。
  5. sudo cp IONetworkingFamily /System/Library/Extensions/IONetworkingFamily.kext/Contents/MasOS/
  6. sudo touch /System/Library/Extensions
  7. リブートする。
  8. すると、タイムマシンが正常に動作するようになる。ついでに、Xcode も正常に動作。^^;
 

Twitter links powered by Tweet This v1.8.3, a WordPress plugin for Twitter.