タグ : boot-132

10.5.7 の夢を…失敗!

10.5.7 がリリースされたので、早速入れてみる。

10.5.6 の時と同様にコンボアップデータから行ったんですが、なんと、AppleHDAが kernel panic。後でこれは10.5.6のに戻せば直るという情報を入手したんですが、この時は「いいや、インストールやり直しちゃお」と軽い気持ちで OS インストールからやり直し。

Boot132 でブートしてインストーラを起動。待つことしばし…例の画面で移行アシスタントを使ってアカウント情報やアプリケーション諸々を移行。ここまでは問題なし。

10.5.7 のコンボアップデートをかける。問題なし。リブートする。音が鳴らない…けど継続。ここで、Chameleon 2.0 RC1 をインストール。/Extra に追加の kext をコピー。com.apple.Boot.plist もコピー。DSDT.aml もコピー。再起動。

こんなメッセージが出て上がってきやしねぇ。

boot0:GPT
boot0:testing
boot0:testing
boot0:done
boot1:error

何度やっても同じ。
なぜだー!仕方ないので、以前のように EFIパーティションにインストールを試みる。すると、IOAPICがハング。なぜだー!

仕方ないので、Boot132経由で使ってます。

続けて夢を見ました。

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.