PearPCに古いMac OS Xをインストールする

August 23, 2021

emulatormacOSPearPC

目次

はじめに

最初のMac OS Xの登場は2001年。もう20年も前のことです。当時のMac OS XはIntel CPUではなく、PowerPC CPUを搭載したMacintoshで稼働していました。PowerPCをエミュレートするPearPCで、当時のMac OS Xを蘇らせます。

本稿では、PowerPC搭載Macintoshで稼動するMac OS X 10.0 Cheetah, Mac OS X 10.1 Puma, Mac OS X 10.2 Jaguar, Mac OS X 10.3 Panther, Mac OS X 10.4 TigerをPowerPCエミュレーターPearPCで動作させる方法を説明します。

PearPC本体の入手

http://pearpc.sourceforge.net/
PearPC - PowerPC Architecture Emulator

http://pearpc.sourceforge.net/downloads.html
Downloads

ここから、pearpc-0.5-win32-jitc.zip をダウンロードします。

最新版が2011年リリースのversion0.5.0

ここから、空のディスクイメージ(3GBまたは6GB)もダウンロードできるはずですが、筆者の環境ではなぜかできませんでした。

MacOS Xインストーラーの入手

CPUがPowerPCのMacintosh用のMac OS X 10.0~Mac OS X 10.4 Tiger のインストーラーを入手します。これらはパッケージソフトウェアとして販売されていました。Mac OS X 10.1 Upgradeパッケージは電気屋の店頭でばらまかれていました。

MacOSX.png

パッケージは今では正規購入は無理で、まれにメルカリで出品されていることもあります。所有していない場合は、ネットで調達することになります。以下は例です。

https://winworldpc.com/library/operating-systems
旧OSダウンロードサイト MSDOS, Windows, MacOSあり

https://macintoshgarden.org/apps/mac-osx-mac-os-10-ppc
Mac OS X for PPC (Mac OS 10)
MacOS X 10.0 〜 10.5 インストーラのダウンロードサイト

サイトに上がっているファイルの安全性は自己責任で確認してください。ウィルスが仕込まれているとかよく聞く話です。

あやしげなダウンロードサイトを利用するより、メルカリで運よく見つけたときに購入するのがよろしいかと。

空のディスクイメージの作成

http://pearpc.sourceforge.net/downloads.html
Downloads

ここから、空のディスクイメージ(3GBまたは6GB)がダウンロードできたら、それを使えばよいのですが、ダウンロードできなかったら現役mac上で作成します。PearPCでは、最大32GBまでのディスクイメージを使用することができます。

PearPC用のディスクイメージで注意する点は、ディスクサイズが516096の整数倍でなければならない点です。

5GB   5160960000
6GB   6308167680
10GB 10321920000
25GB 25804800000
32GB 31997952000

現役macのターミナルから以下のコマンドにより、空イメージファイルを作成できます。

例:5GBの空イメージファイル作成

$ hdiutil create -size 5160960000 -layout SPUD -fs HFS+ -type UDIF -volname "Macintosh HD" HD5G

HD5G.dmgが作成されます。

現役macを持っていない場合は、以下のpythonスクリプトでディスクイメージを作成できます。ただし、フォーマットされていませんので、インストーラーのDisk Utilityを起動し、そこでフォーマットしないとMac OS Xのインストールができません。

使い方は以下のようなかんじです。5GBの空イメージを作成する場合。

$ python createdisk.py HD5G.dmg 5G
createdisk.py
#!/usr/bin/python 
import sys 
import struct
import re

GRANULARITY = 516096 

imagename = sys.argv[1]
imagesize_str = sys.argv[2].upper()

match = re.search(r'\d+', imagesize_str)
value = int(match.group(0))
if re.match(r'\d+M', imagesize_str):
    imagesize = value * 1024 * 1024
elif re.match(r'\d+G', imagesize_str):
    imagesize = value * 1024 * 1024 * 1024
else:
    imagesize = value

if imagesize % GRANULARITY != 0: 
    just_size = int((int(imagesize / GRANULARITY) + 1) * GRANULARITY)
else:
    just_size = imagesize
print("Using image size:"+str(just_size))

imagefile = open(imagename, "wb+")
imagefile.seek(int(just_size)-1)
imagefile.write(struct.pack("B", 0x00))
imagefile.close()

以下、どうでもいい話ですけど…
このスクリプトが間違いだとの指摘をうけました。
おそらくは、引数無しでスクリプトを動かすとエラーになる点を指摘されているのだとは思いますが…
ちゃんとファイル名とサイズの引数を入れて実行してくださいね。

$ python createdisk.py HD5G.dmg 5G

引数を入れて実行するの意味が分からなかったら

imagename = sys.argv[1]
imagesize_str = sys.argv[2].upper()

の2行を

imagename = 'HD5G.dmg'
imagesize_str = '5G'

こんなふうに変更したらいいです。ほんとにどうでもいい話ですが…

PearPCのインストール

(1) 実行用ディレクトリPearPCを作成。

(2) pearpc-0.5-win32-jitc.zipを伸張し、この中のファイルppc.exeとvideo.xをPearPCディレクトリへコピーします。

PearPC¥
    ppc.exe
    video.x

(3) 空イメージファイル(例:HD5G.dmg)をPearPCディレクトリ内に持ってくる

(4) Mac OS X インストーラーのイメージファイルをPearPCディレクトリ内に持ってくる

(5) PearPCディレクトリ内に設定ファイルを作成

pci_ide0_master_imageに空イメージファイル名を、pci_ide0_slave_imageにインストーラーのイメージファイル名を設定します。

PearPC\MacOSX10.1.cfg
ppc_start_resolution = "1024x768x32" 
ppc_start_full_screen = 0
redraw_interval_msec = 10
key_compose_dialog = "F11"
key_change_cd_0 = "none"
key_toggle_mouse_grab = "F12"
key_toggle_full_screen = "Alt+Return"
prom_bootmethod = "select"
prom_env_bootargs = ""
prom_env_machargs = ""
prom_driver_graphic = "video.x"
page_table_pa = 0x00300000
cpu_pvr = 0x00088302
memory_size = 0x10000000
pci_ide0_master_installed = 1
pci_ide0_master_image = "HD5G.dmg"
pci_ide0_master_type = "hd"
pci_ide0_slave_installed = 1
pci_ide0_slave_image = "Mac OS X Install CD.toast"
pci_ide0_slave_type = "cdrom"
pci_3c90x_installed = 0
pci_3c90x_mac = "DE:AD:CA:FE:12:34"
pci_rtl8139_installed = 0
pci_rtl8139_mac = "PE:AR:PC:58:25:01"
pci_usb_installed = 0
pci_serial_installed = 0
nvram_file = "nvram"

(6) PearPCディレクトリ内にvm起動用バッチファイルを作成

PearPC\startMacOSX10.1.bat
.\ppc.exe MacOSX10.1.cfg

ここまで設定すると、PearPCディレクトリの中は次のようになります。

PearPC¥
    ppc.exe
    video.x
    HD5G.dmg
    Mac OS X Install CD.toast
    MacOSX10.1.cfg
    startMacOSX10.1.bat

(7) 起動用バッチファイルstartMacOSX10.1.batをダブルクリックするとvm起動します。

Mac OS Xのインストール

Mac OS X 10.1 Pumaのクリーンインストール例

先の設定ファイルでstartMacOSX10.1.batからPearPCを起動すると、最初に起動ドライブの選択が要求されます。インストーラーCD-ROMを選択します。

pearpc_osx_install_1.png

起動直後は伝統的なClassic Macintoshの起動画面。

pearpc_osx_install_2.png

インストーラーが立ち上がったら、空イメージファイルを先のpythonスクリプトで作成した場合は、Disk Utilityを起動してフォーマットする必要があります。(現役macで空イメージファイルを作成した場合はDisk Utilityの操作は不要です。)

pearpc_osx_install_4.png

「消去」タブで以下のように指定し、「消去」ボタンクリックし、完了したらDisk Utilityを終了する。

pearpc_osx_install_5.png

インストーラーに戻り、Mac OS Xのインストール先を指定する。

pearpc_osx_install_6.png

インストールを開始

pearpc_osx_install_7.png

インストールが終了したら、「再起動」ボタンクリック。でも、PearPCは再起動せず、終了するだけ。

pearpc_osx_install_9.png

再びstartMacOSX10.1.batをダブルクリックし、vmを起動。今度はハードディスクから起動する。

pearpc_osx_install_10.png

お馴染みの起動画面。青いリンゴは美しい。

pearpc_osx_install_11.png

ウィザードでMac OS Xの初期設定

いきなり「マイラインプラス」なんてわけわか用語が…アナログ電話の割引制度のことなんだけど。当時はアナログモデム経由でアナログ回線からネットにつないでいたのね。

pearpc_osx_install_12.png

設定ウィザードを最後まで進むと、

pearpc_osx_install_14.png

Mac OS Xのデスクトップとご対面。

pearpc_osx_install_15.png

なんとなく寂しいけど、今とあまり変わらない。20年前だけど。

インストールが成功したら、MacOSX10.1.cfgを以下のように書き換えると、次回からはstartMacOSX10.1.batで直接Mac OS Xが起動します。

PearPC\MacOSX10.1.cfg
   ...
#prom_bootmethod = "select"
prom_env_bootargs = ""
prom_env_machargs = ""
prom_driver_graphic = "video.x"
page_table_pa = 0x00300000
cpu_pvr = 0x00088302
memory_size = 0x10000000
pci_ide0_master_installed = 1
pci_ide0_master_image = "HD5G.dmg"
pci_ide0_master_type = "hd"
pci_ide0_slave_installed = 0
pci_ide0_slave_image = "Mac OS X Install CD.toast"
pci_ide0_slave_type = "cdrom"
   ...

まとめ

PowerPCエミュレーターPearPCにMac OS X 10.1 Pumaをインストールし、当時を懐かしんでみました。


Written by questions6768 who lives in Uji, Kyoto.