LDMx86+

■ OSX 10.5 Leopard x86インストールDVD作成ツール Plus

■はじめに

 本ツールは、x86 汎用PC向けインストールDVDを作成するツールのLDMx86(Leopard Dvd Maker x86) r10をベースとし、Leopard Retail Install DVDにPC EFIカーネルブートローダを組み込み、デフォルトで導入されるファイルや、kext(カーネル拡張:kernel extension)の追加方法を変更したものである。

 リテールDVDで起動する前に起動に必要なkextを読み込んだり、パッチをあてるまでに留まるBoot-132方式と異なり、OSインストール前にDSDTテーブルの修正を行ったり(別途Windows環境などでDSDTファイルを用意する必要あり)、OS付属のkextを修正する必要がある場合に効果が期待できる。

 オリジナルのスクリプト処理ルーチンを参考にしているが、コード自体は構造化し、全面的に書き換えている(呼び出すコマンド以外は全く別のものとなっている)。本ツールを使用した不具合については、迷惑をかけることになるので、オリジナル作者への問い合わせはしないように。

 なお、本ツールはSnow Leopard Retail Install DVD作成には対応していない。

■概要

 Leopard Retail Install DVDを元にx86 汎用PC向けインストールDVDを作成するツールである。作成には、LeopardまたはTigerがインストールされたMac(PPCでも可) が必要である。インストール先HDDのパーティションタイプに、マスターブートレコード(MBR)を使用するタイプと、GPT(GUID)を使用するタイプの何れかを選択して作成することが出来る。

 オリジナルDVDに対し、対応PCでインストール及び起動するための必要最低限の変更しか加えない。これは余計な物が入っていないと言うことで利点でもある。オーディオ関連など、起動するために必ずしも必要ではないドライバ類は後から入れれば良い訳で、各自の環境で必要な物を入手し、OSインストール後に導入するのが望ましい。

 GUIベースのブートローダが最初から組み込まれる為、オリジナルと比較し直感的に操作ができるよう改善されている。

■作成に必要となる環境

 ・OSX 10.4 Tigerまたは 10.5 LeopardがインストールされたMac(PowerPCも可) 
 ・リーテルApple Mac OSX 10.5 Leopard(MCP7A/IONチップセットでは10.5.6以降)

■対応ハードウエア構成

 ・Intel Core、Core2系 CPU + Intel i865系~4シリーズチップセットを搭載したPC
 ・Intel Core、Core2系 CPU + NVIDIA MCP7Aチップセットを搭載したPC (10.5.6以降)
 ・Inetl Atom + Intel 945シリーズを搭載したPC
 ・Intel Atom + NVIDIA IONを搭載したPC (10.5.6以降)

■注意点

 ・ICH8以降のチップセットでIDEモードを使用する場合は、HDDとDVDドライブがSATAポートの若い番号のポートに接続する。 MicroATXマザーボードの場合は、Port1と2しか使えない場合がある。 AHCIモードの場合はすべてのポートが使用できる。
 ・DVDドライブは、ICHのIDEまたはSATAポートに接続することを推奨。

■インストールディスク作成の前に

 GPTタイプでインストールすると、インストール時に選択した言語(日本語)が初期言語になる。
 OS x86専用PCや、一台のHDDをOS x86専用に出来る場合などはGPTを推奨する。
 MBRタイプでインストールすると初期言語が英語に限定される。インストール先HDDに他のOSと混在させる場合はMBRを選択すれば良い。

■注意点

 作業領域に使うボリュームは、「このボリューム上の所有権を無視」が無効な状態で作業すること。

■DVD作成方法

■事前準備

 1. 使用する環境に併せてkextをLDMx86+フォルダのADD_KEXTかOS_KEXTにコピーする(Appleに採用されているチップ類を搭載した拡張カード類を使用している場合はコピー不要)。
 ・ADD_KEXT・・・標準では認識しない拡張カード類のドライバ
 ・OS_KEXT・・・OS標準のドライバと置き換えたい同名ドライバ
 ・DSDT・・・・・OSX用にACPIテーブルを修正したもの

 なお、必須となる下記kextは標準で組み込まれる。
 ・fakesmc.kext
 ・Disabler.kext
 ・AppleAHCIInjector.kext、AppleIntelPIIXATAInjector.kext、IOAHCIBlockStrorage.kext、JMicronATAInjector.kext

■修正ディスク作成

 1. LDMx86+フォルダを12GB以上空きのある作業用パーティションにコピーする
 2. Leopard Retail DVDを挿入しマウントさせる
 3. buildをダブルクリックする
 4. Partition typeの選択肢が出るので、希望する方を選択して進める
 5. LDMx86+フォルダ内に"Leopard_x86.iso"が出来るのでDVDに焼く

■注意点

 makehybrid create failなどISOディスク作成関連のエラーが出る場合は、OSをリブートしてから再実行する(厳密にはプロセスが使用していたパイプファイルやIPCリソースなどクリアすれば良いが、再起動した方が簡単に修復できる為)。

■インストールの前に

 FireWire機能が無いPCの場合、初回起動時にネットワークを認識していないと初期設定が完了しない。IEEE1394カードを挿すか、標準で認識するNICを挿すか、インストールディスク作成時に有効なNICドライバを必ず組み込むこと。

■インストール時に必要な作業

 インストール作業中に手動でブートローダーをインストールしなければならない。

 以下の手順で組み込むことができる。

 1. インストールDVDから起動する。
 2. ディスクユーティリティーでパーティションの作成または、既存パーティションを"Mac OS 拡張 ジャーナリング"で消去する(作成したDVDに合った方式でパーティションを切ること)。
 3. ターミナルを起動し以下のコマンドを実行する。
 ./booter.sh
 ↓
 Enter Volume Nameと表示されたら、インストール先ボリューム名を入力する。
 [注意]
 ボリューム名にスペースがある場合でもバックスラッシュは不要。
 4. 以降通常通りインストールする。

■OSアップデート

 実機と同様にアップデートできる。ソフトウエアアップデートからアップデートしても良い。カスタマイズしている部分についてはインストール後、再度調整すること。

 10.5.7以降へのアップデートは、カーネルにCPUの物理コア数と論理コア数をチェックする処理が入った為、使用環境よっては当該処理をスキップするようソースからカーネルをビルドしなおさなければならない。

■今後のアップデート方針

  1. 正式版に向けてディスク作成時の幾つかの例外処理の実装  (済)
  2. デフォルトで導入するkextの変更  (済)
  3. booter.shで導入するブートローダをChameleon 2.0へ変更  (済)
  4. PCEFIとしてv10の選択インストールの対応  (済)
  5. 10.5.7以降で実装されたアップルが想定していないハードウエアのCPU物理コア、論理コア数チェックの回避 (済)


■ダウンロード

 下記配布物は、オリジナルのLDMx86作成者のポリシーに準じ、Leopard Retail Install DVDの所有者限定で配布する。管理人は動作について一切保証はしない。

 ダウンロードする際は、Leopard Retail DVDの中箱を引き出し、中箱表面に印刷してある英文の、”最初の単語をID、最後の単語をPASSWORD”に入れ、ダウンロードのページにログインを行うこと(本wikiのメンバーになる必要は無い為、メンバー登録申請は不要)。
  1. Leopard Dvd Maker x86+ (ダウンロードページ)
 なお、ID/PASSWORDがネット上の掲示板等に書き込まれた場合は配布を中止する。

 以下は、LDMx86+でOSX導入後にカーネルパニックが発生した場合、ACPIのMADTテーブルをダンプしたり、エラーを回避する為のサポートファイルとして公開する(わかる人向け)。
  1. M/BのBIOS設定でHyperThreadingを無効にできない場合に強制的にOFFにするbootファイル(Chameleon 2.0RC-3ベース)
  2. CPUの物理コア、論理コア数のチェクをスキップするようビルドし直した10.5.8用kernelファイル(Core2 QuadやAtomなどで10.5.8にアップデート後起動時にカーネルパニックが発生した場合の回避策)



■動作確認環境

<H/W>
1. 自作PC L3110+GA-G33M-DS2R(Intel G33/ICH9R)+メモリ16GB+GeForce9800 GTGE
2. 自作PC D945GCLF(Intel Atom230/945GC/ICH7)+メモリ2GB
3. ノートPC ThinkPad X60(Intel Core Duo/945GME+ICH7-M)+メモリ4GB
4. 自作PC IPX7A-ION(Intel Atom330/nVIDIA ION)+メモリ8GB (10.5.7以降ではカーネルソース内のcpu_thread.cにおけるvalidate_topology()関数のコア数チェックをスキップする修正が必要)
5. 自作PC L3110+nMCP7AUt-V(nVIDIA GeForce9400)+メモリ8GB
6. 自作PC L3110+GF9300-D-E(nVIDIA GeForce9300)+メモリ8GB (sleepからの復帰時にethernetがinactiveになり使用不可になる為、標準のnvenet.kextからnForceLAN.kextに変更する必要あり。ただし、Snow Leopardでは未解決)
7. 自作PC L3426(Lynfield)+P55+メモリ16GB+GeForce 210 (10.6.2以前ではカーネルが対応していない為、公開されているソースからビルドし直して置き換える)


■動作例

  • PEGATRON(ASUSTek) IPX7A-ION (10.5.6)

  • AOpen nMCP7AUt-v (10.5.6)

  • MSI P55M-GD45 (10.5.6)



■更新履歴

  • 0.0.11 2009.10.17
  1. ブートローダーをChameleon 2.0-RC3に変更
  2. 必須となるkextを変更
  • 0.0.10 2009.10.09
  1. nVIDIA MCP7A系のDSDTにグラフィックスアダプタの情報を追記(VGAのkextは不要)
  • 0.0.9 2009.09.30
  1. 幾つかのkextとDSDTファイルを追加
  • 0.0.8 2009.09.27
  1. ISO Imageが削除できないことがあったのを修正
  • 0.0.7 2009.08.06
  1. SMBIOS情報の設定をsmbios.plistに統一
  2. netkas PCEFI_V10は不要と判断し、Chameleon2.0-RC2に一本化
  • 0.0.6 2009.08.05
  1. インストールメディアのbootloaderをChameleron2.0-RC2に変更
  2. インストール後のbootloaderをChameleon2.0-RC2, PCEFI_V10から選べるように変更
  3. DSDTファイルの追加に対応
  • 0.0.5 2009.08.04
  1. 例外処理を向上
  • 0.0.4 2009.08.03
  1. IONに暫定対応
  2. 標準で組み込まれるKEXTを変更
  • 0.0.3 2009.07.25
  1. patchGpt()処理内にて、インストール済のOSへのファイルコピー漏れを修正(MBRパーティションで作成したメディアは影響無し)
  • 0.0.2 2009.07.25
  1. インストーラ名を変数化
  2. rm_fileのファイルリストに空白の前に¥が入っており、削除できないファイルがあったのを修正
  • 0.0.1 2009.07.24
  1. LDMx86 r10の処理内容に関数を取り入れ、ソースを構造化
  2. 例外処理を向上(エラー処理終了処理については一部未実装)
  3. OSに標準で存在するファイルを置き換える処理を実装
  4. SetHidden処理をスクリプト化し、バイナリモジュールを削除


最終更新:2010年06月10日 00:32