続:eMac 800MHz に Leopard をインストールする(インストーラーをhackして無理矢理通す編1)
とりあえず、OSInstall.mpkgを書き換えてみる。
道具はLeopardなMacBookには、インストールされていた。
MacBook:~ kinneko$ xar --version xar 1.4
DVDをマウントして内容を確認する。
Finderからは4つの項目しか見えないが、容量を見てもこれだけでインストーラーが構成されているとは思えない。
Terminalを起動し、コマンドラインから確認してみる。見えなかったファイルが見える。
MacBook:~ kinneko$ cd /Volumes/Mac\ OS\ X\ Install\ Disc\ 1/ MacBook:Mac OS X Install Disc 1 kinneko$ MacBook:Mac OS X Install Disc 1 kinneko$ ls -l total 20208 drwxrwxr-x@ 3 kinneko staff 102 8 16 2007 Applications -rw-r--r--@ 1 kinneko staff 0 2 22 2008 Install Bundled Software Only dr-xr-xr-x 3 kinneko staff 102 11 25 2007 Install Mac OS X and Bundled Software.app drwxr-xr-x@ 10 kinneko staff 340 2 22 2008 Instructions.localized drwxrwxr-t@ 11 kinneko staff 374 2 21 2008 Library drwxr-xr-x@ 12 kinneko staff 408 2 22 2008 Optional Installs.localized drwxr-xr-x@ 4 kinneko staff 136 2 21 2008 System drwxrwxrwt@ 2 kinneko staff 68 11 25 2007 Volumes drwxr-xr-x@ 40 kinneko staff 1360 2 21 2008 bin dr-xr-xr-x@ 2 kinneko staff 68 1 29 2008 dev lrwxr-xr-x@ 1 kinneko staff 11 2 21 2008 etc -> private/etc -rw-r--r--@ 1 kinneko staff 10276952 2 6 2008 mach_kernel drwxr-xr-x@ 5 kinneko staff 170 2 21 2008 private drwxr-xr-x@ 65 kinneko staff 2210 2 21 2008 sbin lrwxr-xr-x@ 1 kinneko staff 11 2 21 2008 tmp -> private/tmp drwxr-xr-x@ 8 kinneko staff 272 2 21 2008 usr lrwxr-xr-x@ 1 kinneko staff 11 2 21 2008 var -> private/var
改変のターゲットは、以下のファイル。
MacBook:Mac OS X Install Disc 1 kinneko$ ls -l System/Installation/Packages/OSInstall.mpkg -rw-r--r-- 1 kinneko staff 807080 2 22 2008 System/Installation/Packages/OSInstall.mpkg
作業ディレクトリを作成して、インストーラープログラムの一部をコピーする。
MacBook:Mac OS X Install Disc 1 kinneko$ mkdir ~/Documents/leopard_install MacBook:Mac OS X Install Disc 1 kinneko$ cp System/Installation/Packages/OSInstall.mpkg ~/Documents/leopard_install/ MacBook:Mac OS X Install Disc 1 kinneko$ cd ~/Documents/leopard_install MacBook:leopard_install kinneko$
ターゲットは、アーカイブされたファイルなので展開する。
MacBook:leopard_install kinneko$ file OSInstall.mpkg OSInstall.mpkg: data MacBook:leopard_install kinneko$ xar -xvf OSInstall.mpkg Distribution Resources Resources/da.lproj Resources/da.lproj/License.rtf Resources/da.lproj/Localizable.strings Resources/da.lproj/locversion.plist Resources/da.lproj/VolumeCheck.strings Resources/da.lproj/Welcome.rtfd Resources/da.lproj/Welcome.rtfd/TXT.rtf Resources/da.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/Dutch.lproj Resources/Dutch.lproj/License.rtf Resources/Dutch.lproj/Localizable.strings Resources/Dutch.lproj/locversion.plist Resources/Dutch.lproj/VolumeCheck.strings Resources/Dutch.lproj/Welcome.rtfd Resources/Dutch.lproj/Welcome.rtfd/TXT.rtf Resources/Dutch.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/English.lproj Resources/English.lproj/License.rtf Resources/English.lproj/Localizable.strings Resources/English.lproj/locversion.plist Resources/English.lproj/VolumeCheck.strings Resources/English.lproj/Welcome.rtfd Resources/English.lproj/Welcome.rtfd/TXT.rtf Resources/English.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/fi.lproj Resources/fi.lproj/License.rtf Resources/fi.lproj/Localizable.strings Resources/fi.lproj/locversion.plist Resources/fi.lproj/VolumeCheck.strings Resources/fi.lproj/Welcome.rtfd Resources/fi.lproj/Welcome.rtfd/TXT.rtf Resources/fi.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/French.lproj Resources/French.lproj/License.rtf Resources/French.lproj/Localizable.strings Resources/French.lproj/locversion.plist Resources/French.lproj/VolumeCheck.strings Resources/French.lproj/Welcome.rtfd Resources/French.lproj/Welcome.rtfd/TXT.rtf Resources/French.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/German.lproj Resources/German.lproj/License.rtf Resources/German.lproj/Localizable.strings Resources/German.lproj/locversion.plist Resources/German.lproj/VolumeCheck.strings Resources/German.lproj/Welcome.rtfd Resources/German.lproj/Welcome.rtfd/TXT.rtf Resources/German.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/Italian.lproj Resources/Italian.lproj/License.rtf Resources/Italian.lproj/Localizable.strings Resources/Italian.lproj/locversion.plist Resources/Italian.lproj/VolumeCheck.strings Resources/Italian.lproj/Welcome.rtfd Resources/Italian.lproj/Welcome.rtfd/TXT.rtf Resources/Italian.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/Japanese.lproj Resources/Japanese.lproj/License.rtf Resources/Japanese.lproj/Localizable.strings Resources/Japanese.lproj/locversion.plist Resources/Japanese.lproj/VolumeCheck.strings Resources/Japanese.lproj/Welcome.rtfd Resources/Japanese.lproj/Welcome.rtfd/TXT.rtf Resources/Japanese.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/ko.lproj Resources/ko.lproj/License.rtf Resources/ko.lproj/Localizable.strings Resources/ko.lproj/locversion.plist Resources/ko.lproj/VolumeCheck.strings Resources/ko.lproj/Welcome.rtfd Resources/ko.lproj/Welcome.rtfd/TXT.rtf Resources/ko.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/no.lproj Resources/no.lproj/License.rtf Resources/no.lproj/Localizable.strings Resources/no.lproj/locversion.plist Resources/no.lproj/VolumeCheck.strings Resources/no.lproj/Welcome.rtfd Resources/no.lproj/Welcome.rtfd/TXT.rtf Resources/no.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/pl.lproj Resources/pl.lproj/License.rtf Resources/pl.lproj/Localizable.strings Resources/pl.lproj/locversion.plist Resources/pl.lproj/VolumeCheck.strings Resources/pl.lproj/Welcome.rtfd Resources/pl.lproj/Welcome.rtfd/TXT.rtf Resources/pl.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/pt.lproj Resources/pt.lproj/License.rtf Resources/pt.lproj/Localizable.strings Resources/pt.lproj/locversion.plist Resources/pt.lproj/VolumeCheck.strings Resources/pt.lproj/Welcome.rtfd Resources/pt.lproj/Welcome.rtfd/TXT.rtf Resources/pt.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/pt_PT.lproj Resources/pt_PT.lproj/License.rtf Resources/pt_PT.lproj/Localizable.strings Resources/pt_PT.lproj/locversion.plist Resources/pt_PT.lproj/VolumeCheck.strings Resources/pt_PT.lproj/Welcome.rtfd Resources/pt_PT.lproj/Welcome.rtfd/TXT.rtf Resources/pt_PT.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/ru.lproj Resources/ru.lproj/License.rtf Resources/ru.lproj/Localizable.strings Resources/ru.lproj/locversion.plist Resources/ru.lproj/VolumeCheck.strings Resources/ru.lproj/Welcome.rtfd Resources/ru.lproj/Welcome.rtfd/TXT.rtf Resources/ru.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/Spanish.lproj Resources/Spanish.lproj/License.rtf Resources/Spanish.lproj/Localizable.strings Resources/Spanish.lproj/locversion.plist Resources/Spanish.lproj/VolumeCheck.strings Resources/Spanish.lproj/Welcome.rtfd Resources/Spanish.lproj/Welcome.rtfd/TXT.rtf Resources/Spanish.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/sv.lproj Resources/sv.lproj/License.rtf Resources/sv.lproj/Localizable.strings Resources/sv.lproj/locversion.plist Resources/sv.lproj/VolumeCheck.strings Resources/sv.lproj/Welcome.rtfd Resources/sv.lproj/Welcome.rtfd/TXT.rtf Resources/sv.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/zh_CN.lproj Resources/zh_CN.lproj/License.rtf Resources/zh_CN.lproj/Localizable.strings Resources/zh_CN.lproj/locversion.plist Resources/zh_CN.lproj/VolumeCheck.strings Resources/zh_CN.lproj/Welcome.rtfd Resources/zh_CN.lproj/Welcome.rtfd/TXT.rtf Resources/zh_CN.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png Resources/zh_TW.lproj Resources/zh_TW.lproj/License.rtf Resources/zh_TW.lproj/Localizable.strings Resources/zh_TW.lproj/locversion.plist Resources/zh_TW.lproj/VolumeCheck.strings Resources/zh_TW.lproj/Welcome.rtfd Resources/zh_TW.lproj/Welcome.rtfd/TXT.rtf Resources/zh_TW.lproj/Welcome.rtfd/Welcome-PDF-HeaderRev1.png
Distributionというファイルと、Resourcesディレクトリが展開される。
Distributionを編集する。
MacBook:leopard_install kinneko$ vi Distribution
Distribution は、948行のスクリプトファイルである。
checkSupportedMachine()でマシンのチェックをしている。
クロックスピードのチェックをしているのは以下の部分だ。
// require 867Mhz+ if (system.sysctl("hw.cpufrequency") < 866000000) { return false; }
すべてコメントアウトして保存する。
// require 867Mhz+ // if (system.sysctl("hw.cpufrequency") < 866000000) { // return false; // }
展開したファイルを再びアーカイブしておく。
MacBook:leopard_install kinneko$ rm OSInstall.mpkg MacBook:leopard_install kinneko$ xar -cvf ../OSInstall.mpkg . MacBook:leopard_install kinneko$ rm -r Distribution Resources/ MacBook:leopard_install kinneko$ mv ../OSInstall.mpkg ./ MacBook:leopard_install kinneko$ ls -l total 1688 -rw-r--r-- 1 kinneko staff 862678 5 4 22:55 OSInstall.mpkg
DVDをイメージコピーして編集し、再度起動可能なDVD-Rを作成する手もあるが、容量が大きく、2層のメディアが必要だったりするのでメンドクサイ。
そこで、ハードディスクからいきなりインストールを行うことにする。
手元にFireWireドライブがあったので、新しいドライブをセットしてフォーマットする。
そこにDVDの内容をコピーし、改変したファイルを上書きする。
この項、未完。続く。