30年前のPC-9801を実用を目指して蘇らせる - FreeBSDインストール編

30年前のPC-9801を実用を目指して蘇らせる - FreeBSDインストール編

前回はFreeBSD(98)をPC-9801FAにインストールための準備まで行いました。
今回はインストールの手順になります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 8
FreeBSD(98) 4.11Rのカーネル(Kernel)フロッピーディスクをPC-9801に挿入し、起動します。FreeBSD(98)のバージョンが5.0以降の場合は、カーネルフロッピーディスクではなく、ブート (boot) フロッピーディスクからの起動となります。起動が進むと、次に挿入するフロッピーディスクを指示するメッセージが表示されますので、指示に従ってディスクを交換し、[Return]キーを押して処理を進めます。今回の写真では「MFS root」フロッピーディスクが求められています。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 9
カーネルモジュールの有効化・無効化の設定メニューを表示させます。
3つの選択肢の内、一番上はカーネルモジュールの有効化・無効化の設定を行わないものです。
2番めは、メニュー画面からカーネルモジュールの有効化・無効化の選択を行うものです。(おすすめ)
3番めは、コマンドラインでカーネルモジュールの有効化・無効化の設定を行うものです。
今回は、2番めの選択肢を選びます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 10
このメニュー画面では、上段が有効化するデバイスモジュールの欄、中段が無効化するデバイスモジュールの欄となっています。
「(Collapsed)」と表示されている行は折りたたまれており、その行を選択して[Return]キーを押すことで展開表示が可能です。まず、デバイスモジュールの設定を行うために、ストレージ(Storage)を選択し、[Return]キーを押します。(次)

30年前のPC-9801を蘇らせる - FreeBSDインストール編 11
FreeBSD(98) 4.11Rでは、ストレージ関連のデバイスモジュールとして4つのモジュールがデフォルトで有効化されています。ただし、PC-9801FAを使用している場合、全てが必要ではありません。例えば、AdaptecのSCSIドライバやIDE用のデバイスモジュールは不要です。これらのモジュールを無効化するには、該当する行を選択して[Del]キーを押すだけです。これにより、それらのデバイスモジュールは無効化の欄へと移動し、システムリソースを無駄に消費することがなくなります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 12
次に、ネットワーク(Network)の項目を展開表示します。PC-9801シリーズに搭載されているネットワークチップに対応しているデバイスモジュール以外は、すべて無効化することが推奨されます。例えば、うちのPC-9801FAにはCバスに接続されたアライド・テレシスのCentre COM RE1000 Plusというネットワークカードが装備されており、このカードは富士通のネットワークチップ「Fujitsu MB86960A/MB86965A Ethernet adapters」(fe0)に対応しています。そのため、このチップ用のデバイスモジュールを残し、それ以外の不要なモジュールはすべて[Del]キーで無効化しました。

続いて、通信(Communications)の項目を展開表示し、PC-9801に搭載されているシリアルポートおよびパラレルポートに対応するデバイスモジュール以外を無効化します。PC-9801FAにはPD8251というシリアル通信チップが搭載されているため、8250/16450/16550 Serial port (sio0) のデバイスモジュールを残す必要があります。パラレルポート(ppc0)は、主にプリンタ接続用のポートですが、PC-9801FAで実際に使用できるかどうかは不明なため、プリンタを使用する予定がなければ無効化するのが良いかもしれません。なお、古いPC-98シリーズではパラレルチップとしてPD8255Aが使用されています。デバイスモジュールの有効化や無効化、IRQやアドレスの変更はインストール後でも変更可能なので、インストール時点で動作に支障がない場合は、無効化や修正を後回しにしても構いません。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 13
入力(Input)およびその他(Miscellaneous)の項目も確認し、不要なデバイスモジュールを無効化します。特に、80386 CPUを搭載しているモデルで80387コプロセッサを追加している場合、あるいは80486DX以上のCPUを搭載している場合は、「その他」のMath coprocessorを有効化しておくべきでしょう。うちのPC-9801FAは486SXプロセッサを搭載していますが、前オーナーによってi486DX2-66MHz(64MHz?)オーバードライブプロセッサが追加されているため、Math coprocessorを有効化しました。この設定を行うことで、数値演算の性能が向上し、より高速で効率的な処理が可能になることが期待されます。
デバイスモジュールの有効化・無効化の設定が完了したら、[Q]キーを押して設定を終了します。次に、設定を保存するために[Y]キーを押します。これで、システムの最適な構成が完了し、動作効率が向上した状態で利用することが可能です。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 14
FreeBSD(98)は、インストーラーが日本語表示に対応しており、日本語のメニューを使って簡単にインストール作業を進めることができます。日本語での表示を希望する場合は、インストールの際に「[Yes]」を選択します。日本人が移植作業に携わっており、翻訳の精度も高いため、安心して使用できます。迷わず「[Yes]」を選んで良いでしょう。
(以下、日本語表示を選択したインストーラーのスクリーンショットが表示されます)

30年前のPC-9801を蘇らせる - FreeBSDインストール編 15
/stand/sysinstallの画面は、FreeBSDの古いバージョンでシステムの基本的な設定を行うために利用される重要なメニューです。このメニューはインストールプロセスだけでなく、インストール後のシステムの管理や調整の際にも役立ちます。特に、システムの初期設定やカスタマイズを行うときに頻繁に使用されることが多いため、慣れておくと便利です。
インストール後も、一部の設定変更やパーティションの再設定など、様々なシステム管理タスクを行う際に、この画面にアクセスすることがあるでしょう。
「C カスタム」の行を選択し、[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 16
「カスタムインストレーションオプションの選択」画面が表示されたら、まず最初に行うべきことは、インストール先となるハードディスクの領域を確保することです。
「3 パーティション」の行を選択してから[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 17
da0が1台目のハードディスク、da1が2台目のハードディスクです。
設定したいハードディスクの行を選び、[Return]キーを押して選択します。
もし複数のハードディスクを使用する場合は、それぞれのディスクを順番に選択してクを利用することで、システム全体のパフォーマンスを向上させることができたり、データの保存先を柔軟に設定することが可能になります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 18
1台目のハードディスク(da0)が表示されたら、まずハードディスクのジオメトリが正しく認識されているかを確認します。このジオメトリとは、ディスクのセクタ数やヘッド数、トラック数といった物理的な構造を示す情報であり、特にBlueSCSI用のハードディスクイメージファイルを作成する際に指定した値と一致していることが重要です。
もしジオメトリが正しく認識されていない場合、インストールが正常に行えなかったり、インストール後にシステムの不具合が発生する可能性があります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 19
ハードディスクの空き容量を確認し、必要な容量のスライス(パーティション)を作成します。ここで注意すべき点は、初期状態では容量がセクタ単位で表示されているため、非常にわかりにくいことです。この表示をよりわかりやすい単位に変更するためには、[Z]キーを押して、表示単位をメガバイト(MB)に切り替えます。
例えば、1台目のハードディスク(da0)には、すでにMS-DOSが128MBでインストールされており、これが「da0s1」として認識されています。さらに、このハードディスクには895MBの未使用領域が残されていることが表示されているはずです。この未使用領域をすべてFreeBSDに割り当てるためには、[C]キーを押して新しいスライス(パーティション)を作成します。この操作により、FreeBSDが使用できる領域が確保されます。(次)

30年前のPC-9801を蘇らせる - FreeBSDインストール編 20
スライスの作成が完了すると、そのスライスに名前を付けるよう求められます。デフォルトでは、「FreeBSD」という名前がすでに入力されており、この値は変更する必要はありません。変更せずにそのまま[Return]キーを押します。これで、新しいスライスが確定され、FreeBSDがインストールされる領域が決まります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 21
新しいスライスの容量を指定します、デフォルトで入力されているのは最大容量(セクタ数)です。この初期値は、このハードディスクに対して指定できる最大のセクタ数となっているため、特別な事情がない限り、変更する必要はありません。たとえば、このハードディスクに他のOSをインストールする予定がない場合、初期設定のまま最大容量を利用するのが一般的です。今回はそのまま最大容量を使用することを選択するため、特に値を変更せず、[Return]キーを押して設定を確定します。
ただし、もし別途容量を指定する必要がある場合は、セクタ数で入力する方法は非常にわかりにくいかもしれません。そのため、メガバイト(MB)単位で入力するのが一般的です。メガバイト単位で入力する際には、数値の後に「M」を付けることで簡単に指定できます。たとえば、256MBの容量を確保したい場合は、「256M」と入力します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 22
1台目のハードディスクにはFreeBSDのルートディレクトリ( / )を配置する予定です。これにより、1台目のハードディスクはFreeBSDのシステム起動ディスクとして機能します。FreeBSDが起動するためには、適切な設定を行う必要があります。設定を行う際は、まずFreeBSD用のスライスが選択されている状態で、[S]キーを押して起動フラグを立てます。これにより、一番右のフラグ列に表示される値が変わり、FreeBSDがこのディスクから起動できるようになります。起動設定を終えたら、[Q]キーを押して設定を終了させます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 23
設定を完了させると、次に表示されるのは、ハードディスクから起動した際に表示されるOS選択画面をどうするかを尋ねる画面です。ハードディスクが1台しかない場合は、[N 無視]を選択することで、(MS-DOSによってインストールされた)既存の「固定ディスク起動メニュープログラム」が保持され、そのメニューに「FreeBSD」が追加される形になります。このメニューは、MS-DOSのインストール後に表示されるものと同様です。
一方で、[B ブート]を選択した場合は、「固定ディスク起動メニュープログラム」がFreeBSDの専用メニューで上書きされます。ただし、既存のMS-DOSの起動項目は保持されるため、心配する必要はありません。機能的にはどちらのメニューもほとんど同じですが、見た目や操作性に違いがあるため、自分の好みに合わせて選択するとよいでしょう。また、ハードディスクが複数台ある場合には、「N 無視」を選択しても、FreeBSDの起動メニューが自動的に上書きされるケースもあります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 24
1台目のハードディスクの設定が完了し、ハードディスクの選択メニューに戻ります。
2台目のハードディスクの設定を行うので、「da1」を選択して[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 25
左上に表示されているディスクが正しく2台目(da1)であることを確認したら、まずハードディスクのジオメトリが正しく認識されているかを確認します。これは、BlueSCSIなどのエミュレータを使用して作成したハードディスクイメージファイルのパラメータと一致していることが重要です。ジオメトリが間違っている場合、インストールが正常に完了しなかったり、後でシステムが不安定になる可能性があります。そのため、確認は慎重に行います。
次に、ハードディスクの空き容量を基に、必要なスライスを作成します。初期設定ではセクタ数で容量が表示されているため、非常にわかりにくい状態です。これを解消するために、[Z]キーを押して表示単位をメガバイト(MB)に切り替えると、視覚的にも判断しやすくなります。今回は2台目のハードディスク全体の容量が4096MBで、そのすべてが未使用の状態です。この未使用の容量すべてをFreeBSDに割り当てることにします。[C]キーを押して、新しいスライス(パーティション)を作成します。(次)

30年前のPC-9801を蘇らせる - FreeBSDインストール編 26
スライスの名前を入力するように求められますが、初期値として「FreeBSD」が入力されています。この名称はそのままで問題ありませんので、特に変更せず、[Return]キーを押して確定させます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 27
新しいスライスの容量を指定します。1台目のハードディスクの設定と同じく、ここでも最大容量(セクタ数)が初期値として入力されています。このハードディスクには他のOSをインストールする予定がないため、最大容量のままで進めることにします。そのため、特に値を変更することなく、[Return]キーを押して設定を完了します。もし別途容量を指定する必要がある場合は、メガバイト単位での入力を行い、たとえば1GBを確保する際には「1024M」と入力します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 28
今回は、最大容量でスライスを作成しました。そのため、作成されたスライス (da1s1) のサイズは4095MBとなりました。ハードディスク全体の容量は4096MBですが、4095MBという僅かに小さいサイズであっても、システム運用上は全く問題ありません。スライスのサイズが多少小さくなるのは、ファイルシステムのメタデータや管理用の領域が確保されるためです。
2台目のハードディスクの設定が完了したら、次に進むために[Q]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 29
1台目のハードディスクのスライス作成後と同じく、ハードディスクから起動した際に表示されるOS選択画面をどうするかを尋ねる画面です。OS選択画面のメニュープログラムを置き換えるかどうかの確認画面が表示されます。
この際、「N 無視」の項目を選択し、[Return]キーを押して次に進みます。この操作により、既存のメニュープログラムの置き換えをスキップします。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 30
ハードディスクの選択画面に戻ります。この画面では、[Tab]キーを使って「Cancel」を選択し、[Return]キーで確定します。これにより、メニュー画面から離脱し、次のステップに進むことができます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 31
「カスタムインストレーションオプションの選択」画面に戻ります。
ここでは、ハードディスク上の領域 (パーティション) をどのようにFreeBSDで利用するかを設定します。
「4 ラベル」の項目を選び、[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 32
「FreeBSDディスクラベルエディタ」が表示されます。
この画面の上段には、接続されている全てのハードディスクがリストアップされます。また、1台目のハードディスクには895MBの空き容量があり、2台目のハードディスクには4095MBの空き容量があることも確認できます。
中段には、FreeBSDが認識している全てのパーティションが表示されます。たとえば、1台目のハードディスク (da0) にはMS-DOSがすでにインストールされており、このパーティションはda0S1として表示されます。

まずは、1台目のハードディスク (da0) の空き容量をFreeBSDに割り当てる作業を行います。上段のハードディスクリストで1台目のハードディスク (da0) を選択し、次に[C]キーを押して新しい区画を作成します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 33
新しい区画を作成する際には、その容量を指定する必要があります。今回は、1台目のハードディスクにFreeBSDのルート ( / ディレクトリ) として639MBを割り当て、さらに256MBをスワップ領域として設定します。
まず、ルートパーティションを作成します。639MBを指定するので「639M」と入力して[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 34
区画の種類を選択します。「FS ファイルシステム」の行を選択して[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 35
639MBの区画にはルート( / ディレクトリ)をマウントするので、「 / 」(スラッシュ)を入力して[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 36
作成した区画は、中段のリストに追加されます。ここで、作成した区画のマウント位置と容量が正しく設定されているかを確認します。
次に、スワップ領域を作成します。最初に、上段の1台目のハードディスクの空き容量がMB単位で表示されていることを確認します。その上で、区画の作成を行うために[C]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 37
新しく作成する区画の容量を指定します。この際、初期値としてシステムが自動的に計算した最大容量(セクタ数)がすでに入力されています。今回はこの容量を変更する必要がないため、提示された数値をそのまま使用します。何も変更せずに[Return]キーを押して次に進みます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 38
今回作成する区画はスワップ領域として使用します。これを設定するため、「Swap スワップパーティション」の項目を選び、[Return]キーを押します。
スワップは、メモリが不足した際に、ハードディスクの一部を仮想メモリとして利用するための領域です。しかし、スワップ領域のアクセス速度はメモリに比べて非常に遅いので、可能であればメモリだけでシステムを動作させるのが理想的です。とはいえ、今回の対象であるPC-9801FAは、最大でも14MBのメモリしか搭載できないため、スワップを使用しないと、実質的にはほとんどのアプリケーションが動作しない可能性が高いです。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 39
作成したスワップ領域は、中段のリストに追加されます。スワップは通常のファイルシステムと異なり、ファイルシステムツリーに直接マウントするものではないため、「マウント位置」の項目には「swap」と表示されます。また、ファイルシステムの種類(Newfs)も「SWAP」となります。スワップ領域の容量が、設定した通りであることを確認して次に進みます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 40
次に、2台目のハードディスクを設定します。
今回は、このハードディスク全体を /usr に割り当てることにします。
新しい区画の容量を指定する際、システムが自動的に最大容量(セクタ数)を計算して表示してくれます。今回はこの容量を変更する必要がないため、そのまま[Return]キーを押して確定します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 41
作成した区画は、同様に中段のリストに追加されます。この時点で、作成した区画のマウント位置と容量が正しく設定されているか確認します。
今回は、/usr に4GBの容量を割り当てましたが、システムの用途によっては /var や /var/db、あるいは /usr/home により大きな容量を割り当てたいケースもあるかもしれません。また、3台目以降のハードディスクを追加する、もしくは1台目や2台目のハードディスクをさらに大容量のものにすることも可能です。ただし、PC-9801FAと日本テクサの55互換SCSIインターフェイスでは、これ以上の大容量は正常に利用できません。なお、PC-9821シリーズでは、さらに大きな容量を利用できる可能性があります。
設定が完了したら、[Q]キーを押して終了します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 42
「カスタムインストレーションオプションの選択」画面です。この画面では、インストールする内容を選択します。
ここで、「5 配布ファイル」を選択し、[Return]キーを押して進みます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 43
portsコレクションをインストールするかどうかを選択します。portsツリーは、ソフトウェアのインストールや管理に便利なものですが、その分、数百MB以上のストレージ容量を消費します。さらに、非常に古いバージョンのFreeBSD、特に今回使用しているFreeBSD 4.11のような約20年前のバージョンでは、最新のportsツリーに対応できないため、インストールしても十分に活用できない可能性があります。例えば、古いportsでは、ソースファイルの入手が難しく、ビルド環境が揃わないケースも少なくありません。そのため、今回は[No]を選択し、[Return]キーを押して進めるのが適切でしょう。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 44
配布ファイルの選択画面では、ユーザーがインストールに必要な構成ファイルセットを選ぶことができます。
中段に表示されているリストから、これから使用するシステムに適した構成を選びます。リストには「4 開発者」から「A 最小構成」までの複数の項目があり、その中から自分の環境や目的に最も合った項目を選択して、[Return]キーを押します。
次に、「B カスタム」の行を選択し、再度[Return]キーを押します。これにより、さらに細かいインストール内容をカスタマイズすることが可能です。
古いFreeBSDに慣れている場合は最初から「B カスタム」で選択しても良いでしょう。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 45
インストールするパッケージの内、FreeBSD(98)では必ず確認したい項目があります。インストール項目として「98bin」に「[X]」が付いていることを確認します。「98bin」は、PC-98のための基本的なバイナリを含んでいるため、必須項目です。
リスト内には他にも多くの項目がありますが、それぞれ必要に応じてチェックを入れることができます。リストが長い場合、スクロールダウンして目的の項目を探します。(次)

30年前のPC-9801を蘇らせる - FreeBSDインストール編 46
もしPC-98シリーズ用のカーネルをビルドする場合には、「98src」にもチェックが入っていることを確認しましょう。
さらに、X-WindowシステムであるXFree86を必要とする場合は、「XFree86」にも「[X]」が付いているか確認しておきます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 47
リストの一番上まで戻ります。そして、「X 終了」の行を選択し、[Tab]キーを押して画面下部の「OK」ボタンにフォーカスを移し、[Return]キーを押して次に進みます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 48
「カスタムインストレーションオプションの選択」画面です。ここで、インストール元のメディアを指定します。
「6 メディア」の行を選択し、[Return]キーを押します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 49
今回は、BlueSCSI用に作成したSDカードに書き込まれたCDイメージを使用するため、[1 CD/DVD]を選択し、[Return]キーを押します。これにより、CDイメージをインストール元として使用します。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 50
「カスタムインストレーションオプションの選択」画面に戻ります。
これまで指定した設定を適用し、インストールを開始します。
「7 コミット」の行を選択し、[Return]キーを押すことでインストールプロセスを進めます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 51
インストール前の最終確認画面が表示されます。ここまでの指定に問題がなければ、[Yes]を選択し、[Return]キーを押してインストールを実行します。もし設定を変更したい場合は、[No]を選択して前の画面に戻り、再度設定を確認・修正することができます。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 52
インストールが開始されると、ハードディスクにファイルシステムが作成されます。PC-9801FAと日本テクサのSCSI-IF、そしてBlueSCSIの組み合わせでは、ディスク容量によって異なりますが、10〜20分ほどかかる場合があります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 53
インストールメディアからファイルが転送されます。ファイルは圧縮されているため、転送中に解凍処理が行われ、処理速度が低いPC-9801FAではファイル転送に1〜2時間ほどかかることもあります。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 54
ファイルの転送が完了すると、「FreeBSD設定メニュー」が表示されます。この時点でFreeBSDのインストール自体は終了てしますが、まだ初期設定が完了していないため、すぐにはシステムを使用することができません。このままインストーラーを終了せさずに、引き続き、必要な初期設定を行うためにインストール後の作業を進める必要があります。

次回はFreeBSDの初期設定です。

関連記事:

30年前のPC-9801を実用を目指して蘇らせる - FreeBSDインストール準備編

30年前のPC-9801を実用を目指して蘇らせる - FreeBSDインストール準備編

PC-9801は30年前に主にMS-DOSというOSで使用されていました。このMS-DOSはシングルユーザー・シングルタスクのOSであり、動作できるアプリケーションも、基本的には640KBのメモリに制限されていました。当時のコンピュータ環境は今と比べると非常に限られていましたが、それでもユーザーたちはPC-9801を駆使してさまざまな作業を行っていました。
その頃、IBM PS/2やPC/AT互換機向けに、フリーのBSD系UNIXである386BSDが登場し始めました。386BSDは、最初の段階でいくつかのライセンス問題を抱えていましたが、それらの問題が整理され、後にFreeBSDとして正式にリリースされることになりました。

PC-9801用にも、一部の熱心なパワーユーザーによって386BSD(98)やFreeBSD(98)が移植されました。この成果により、FreeBSD 5.4以降(実質5.0以降?)は正式なFreeBSDの公式アーキテクチャの1つ(FreeBSD/pc98)として認められることとなりました。このPC98向けの移植作業は最終的にはFreeBSD 8.4R(2013年)相当のバージョンまで続きました。

386BSD, FreeBSD(98)はインテル80386以上のCPUを搭載したモデルで利用できます。PC-9801シリーズでは、1988年には80386プロセッサを搭載したモデルであるPC-9801RAが発売されました。その後の80386、80486、Pentium、さらにはそれらの互換CPUを搭載したモデルにおいてもFreeBSD(98)は動作するようです。しかしながら、FreeBSD(98) 5.0以降のバージョンについては、おそらくPC-9821シリーズの一部のモデルでしか動作しないと考えられます。(これはあくまで推測であり、断定的な情報ではありません)。

「がとらぼ」の人はFreeBSD 8.4Rから順にバージョンを遡ってインストールフロッピーディスクを使ってPC-9801FAでインストールを試みましたが、5.0〜8.4のバージョンでは、インストーラーのカーネルが起動するものの、途中でリセットがかかってしまったり、SCSIインターフェースが正しく認識されないといった問題が発生し、結局インストールを完了することができませんでした。

2024年11月21日追記:
5.2.1はインストーラーで再起動することなく、ミニマム構成でインストールする限りでは正常にインストール可能です。ただし、インストール後の動作は重くやや不安定です。インストール時またはインストール後に少し大きなパッケージをインストールしようとすると展開に半日/1日のような長い時間がかかりハングアップします。実用的とはいえないでしょう。これは、PC-9801FAの最大メモリ容量が14MBという少なさが影響しているかもしれませんし、5.xに入っているSCSIドライバが55互換のカードを完全にサポートしていないのかもしれません。

そこでインストーラーが動作した最も新しいバージョンFreeBSD(98) 4.11をインストールすることにしました。
FreeBSD 4.11Rは2005年にリリースされたバージョンであり、約20年前のものです。そのため、さまざまな点で現代のシステムと比べると非常に古いものであり、特にインターネットに接続して使用する際には注意が必要です。セキュリティ上の問題があるため、インターネットに接続する環境での使用は避けた方が良いでしょう。

FreeBSD(98), FreeBSD/pc98のインストールに使うフロッピーディスクについて

PC-98シリーズは、CDドライブから直接起動することができないため、OSのインストール手順が少し特殊です。基本的には、最初にフロッピーディスクを使用してシステムを起動させ、その後インストールの途中でCD-ROMや他の大容量メディアやネットワークから必要なファイルを転送する形で進行します。

PC-98シリーズの中でも、MateやFellowシリーズ以前のモデルに搭載されているフロッピーディスクドライブは、5.25インチ1.2MB (2HC)や3.5インチ1.23MB (2HD)など、いくつかの異なる規格が存在します。この点に関しては、PC/AT互換機やPS/2などで一般的に使用される3.5インチ1.44MB (2HD)との違いに注意が必要です。日本国内では「2HD」と呼ばれるフォーマットは、海外とは異なる仕様を指しているのです。
また、3.5インチの1.2MB(2HC)フォーマットは、東芝のDynabookなど一部の日本国内のパソコンで利用されていましたが、約1.2MBという容量はほぼ似ているもののPC-98シリーズの2HDとはフォーマットが異なるためフロッピーディスクの取り扱いには慎重さが求められました。PC-98では2HCの読み書きができるもののDynabookではPC-98の2HDを扱えなかったからです。
5.25インチの2HCフォーマットと3.5インチの2HCフォーマットは、セクタ長やセクタ数、トラック数が同一であるため、両者は同じフォーマットと見なすことができます。この3.5インチの2HCフォーマットも、PC-9801シリーズでは問題なく使用することができます。(ここまで、2DDについては省略しています)

さて、ここで何が重要かというと、FreeBSD(98), FreeBSD/pc98のインストール用メディアには、1.44MBと1.2MBの2種類のイメージファイルが提供されている点です。旧PC-98シリーズに対応する1.2MBのイメージファイルは、2HC用のフォーマットを対象としています。5.25インチのフロッピーディスクを使う場合は特に問題ありませんが、3.5インチフロッピーディスクを使用する場合は、フロッピーディスクのフォーマットに注意が必要です。というのも、PC-98で通常のフォーマットを行うと、3.5インチフロッピーディスクは2HDフォーマット(1.23MB)になってしまいます。もしその状態で2HC用のイメージをフロッピーディスクに書き込むと、読み取りエラーが発生し、FreeBSD(98), FreeBSD/pc98のインストーラーが正しく起動しないという問題が起こります。
そのため、必ず2HCフォーマットを行ってから、イメージファイルを書き込む必要があります。

PC-98のMS-DOSで3.5インチフロッピーディスクを2HCフォーマットする場合

A:¥> FORMAT B: /5   B:が3.5インチフロッピーディスクドライブの場合

PC/AT互換機のLinuxで3.5インチフロッピーディスクを2HCフォーマットする場合

$ sudo apt install ufiformat    ufiformatのインストール
$ sudo ufiformat /dev/sda -f 1200

USB接続の3モード対応フロッピーディスクドライブを利用する場合、デバイスは一般的に /dev/sda として認識されます。2HCフォーマットを指定するオプションは -f 1200 であり、これは1.2MBの2HCフォーマットを指します。ちなみに、通常のPC-98用の1.2MB(HD)フォーマットを指定する場合は -f 1232 というオプションを使用します。一方、PC/AT互換機やPS/2で利用される3.5インチ1.44MBの2HDフォーマットは -f 1440 というオプションで指定します。

次に、フロッピーディスクにFreeBSD(98)のイメージファイルを書き込む手順です。
FreeBSD(98)のディストリビューションには、floppy98 というディレクトリが含まれており、その中に必要なイメージファイルが格納されています。バージョンによって異なるものの、たとえばFreeBSD(98) 4.11Rのインストールには、kern.flp と mfsroot.flp の2つのイメージファイルを使用します。

一方、FreeBSD(98) 5.0R以降では、ファイル名に「small」という文字列が含まれるイメージファイルが2HC用です。ファイルサイズを確認し、1.4MiBならばDOS/V(2HD)フォーマット、1.2MiBであれば2HCフォーマットと判断することもできます。
さらに、FreeBSD(98) 5.0R以降のインストールでは、boot, kernel, mfsroot の3種類のイメージファイルを使用します。場合によっては、kernel ファイルが2つ必要になることもありますので、これらのイメージファイルの数に応じたフロッピーディスクを用意します。

Windowsで3.5インチフロッピーディスクを2HCフォーマットする場合

Windows 10 1607 (Anniversary Update) 以降のバージョンでは、2HCフォーマット機能が無効化されています。これは、古いPC98シリーズ用の1.23MB (2HD)フォーマットも同様で、Windowsフォーマット機能ではフォーマットを行うことはできません。しかし、サードパーティ製の対応アプリケーションを使用すれば、引き続き2HCやPC98用のフォーマットを行うことは可能なようです。つまり、Windows標準のフォーマット機能では対応できない古いフォーマットでも、適切なソフトウェアを導入することで可能になる余地があります。

PC/AT互換機のLinuxでフロッピーディスクにイメージファイルを書き込む場合

$ sudo dd if=./kern.flp of=/dev/sda

USB接続の3モード対応フロッピーディスクドライブを使用することで、特定のフロッピーディスクにイメージファイルを書き込むことが可能です。例えば、カレントディレクトリにある「kern.flp」というイメージファイルを書き込む場合、./kern.flp のような相対path付きで指定することができます。
なお、フロッピーディスクのイメージをフロッピーディスクに書き込む際にはフォーマット形式を指定する必要はありません。

FreeBSD(98)の5.0Rより前のバージョンは、昔からある有名な日本のFTPサイトに置いてあることが多いです。

参照: http://ftp.jaist.ac.jp/pub/FreeBSD-PC98/tars/

30年前のPC-9801を蘇らせる - FreeBSDインストール準備編 1
取得したFreeBSD(98) 4.11Rのファイルの中身はこのようになっています。

FreeBSDのディスクイメージの準備

FreeBSD(98), FreeBSD/pc98のCD-ROMイメージはFreeBSD 5.0以降では用意されています。

参照: http://ftp-archive.freebsd.org/mirror/FreeBSD-Archive/old-releases/pc98/ISO-IMAGES/

FreeBSD(98)のバージョン5.0R以前では、配布されているFreeBSD(98)のファイルとは別に、同じバージョンのFreeBSD i386用のISOイメージファイルが必要です。i386用のISOファイルは、FreeBSD公式サイトで配布されているものの他に、Walnut Creek(現在はiXsystems)のようなサードパーティから出版されたものでも問題ありません。ただし、FreeBSD(98)とi386用のISOファイルのバージョンは必ず揃える必要があります。バージョンが異なる場合、システムは正常に動作しない可能性がありますので、注意が必要です。
参照: http://ftp-archive.freebsd.org/mirror/FreeBSD-Archive/old-releases/i386/ISO-IMAGES/
複数枚構成のCDが提供されている場合は、FreeBSD(98)のインストールに必要なのは、Disc 1だけです。

取得したi386用のCDのISOイメージを編集します。
まず、事前に取得しておいたFreeBSD(98)のファイルを展開し、それらすべてのファイルをi386用CDのISOイメージ内に追加します。この作業は、WindowsまたはLinuxの環境で行えますが、それぞれのOSに応じた手順が必要です。

Windows環境では、ISOファイルを編集するために、ISO編集アプリケーションを使用します。ISO編集アプリを使って、i386用のISOファイルを開き、そこにFreeBSD(98)の展開したファイルをドラッグ&ドロップで追加します。その後、変更を保存すればISOファイルが完成します。

Linux環境の場合は、コマンドラインを使用して作業を進めることが一般的です。まず、i386用のISOファイルを任意のディレクトリに展開します。その後、展開したFreeBSD(98)のファイルを同じディレクトリに追加します。最後に、mkisofsなどのツールを使って、新しいISOイメージを作成します。(次)

$ mkisofs -r -J -o CD3_freebsd411.iso ./FreeBSD4.11R

この作業によって「CD3_freebsd411.iso」という名前のISOファイルが生成されます。
mkisofsの引数の内、./FreeBSD4.11R というのはカレントディレクトリにあるFreeBSD4.11Rというディレクトリです。このディレクトリには、i386用のISOファイルの内容と、FreeBSD(98)のファイルがすべて含まれているものとします。

30年前のPC-9801を蘇らせる - FreeBSDインストール準備編 2
作成したISOファイルの中身はこのようになります。赤枠部分がFreeBSD(98)のファイル群です。

ハードディスクイメージの作成

前回の記事でも触れたように、SCSIハードディスクの入手が非常に難しい現状があります。特に、古いPC98の環境で動作するSCSIハードディスクは、市場での入手が困難です。そこで、物理的なSCSIハードディスクの代わりに、BlueSCSIというデバイスを使用してSDカードを仮想ハードディスクとして利用することにしました。このBlueSCSIは、SCSIインターフェースをエミュレートし、SDカードをハードディスクとして認識させることができる非常に便利なデバイスです。

30年前のPC-9801を蘇らせる - FreeBSDインストール準備編 3
前回作成した1GBのハードディスクイメージについて説明します。このディスクイメージは、MS-DOS環境では902MBとして認識されました。MS-DOSが認識できるハードディスクの最大容量はFAT16であれば約4GBであり、それを超えるサイズのハードディスクはMS-DOSでは認識されないという制約があります。そのため、4GBを超えるディスクイメージを作成すると、MS-DOSにインストールできなくなります。
しかし、PC-9801FA + 日本テクサEZPHA-FA02(SCSI-IF) + BlueSCSI + MS-DOSの組み合わせでは1GBのイメージファイルを作成して902MBまで認識させることができたのが最大で、これ以上では容量が極端に小さく認識されるか、または認識できないハードディスクとして取り扱われます。
前回の作業では、1GBのハードディスクイメージファイルを作成し、そのうち64MBをMS-DOS用に割り当て、残りの領域(960MB)をすべてFreeBSD用に確保する予定でした。

しかし、960MBという限られた領域でFreeBSDを運用するのは非常に窮屈です。そこで、今回、新たに1GBのハードディスクイメージに加え、もう1つ4GBのハードディスクイメージを作成することにしました。この構成によって、MS-DOS用には128MB、FreeBSDのルートファイルシステム用には639MB、そして256MBをスワップ領域に割り当てることにしました。これにより、FreeBSDがより快適に動作する環境を整えられると考えています。

PC98エミュレータである「Neko Project 21/W」を使用して、前回と同じハードディスクジオメトリで1GBのイメージファイルを作成しました。下記の画像はその際の設定画面です。ディスクジオメトリは重要で、適切に設定しないとOSが正常に動作しない可能性があります。
PC98エミュレータNeko Project 21/Wで作成する1GBのイメージファイルは画像のとおり前回と同じハードディスクジオメトリです。

30年前のPC-9801を蘇らせる - FreeBSDインストール準備編 4
新しく4GBのハードディスクイメージを作成しました。ディスクジオメトリは画像のとおりです。このサイズは、前述のPC-9801FA〜MS-DOSの組み合わせでは正しく認識することができませんが、FreeBSDでは認識できます。FreeBSD専用のディスクとして使用する予定です。

30年前のPC-9801を蘇らせる - FreeBSDインストール準備編 5
SDカードに書き込んだハードディスクイメージファイル2つと、作成したISOファイルです。
前回の記事でBlueSCSIについて触れましたが、BlueSCSIではイメージファイルのファイル名に特定の意味があります。このファイル名によって、SCSIデバイスが正しく識別されます。たとえば、ファイル名の文字列「HD1」はSCSI-ID1のハードディスク、「HD2」はSCSI-ID2のハードディスク、そして「CD3」はSCSI-ID3のCDドライブとしてBlueSCSIに認識されます。また、ファイル名に含まれる「512」という数字は、論理セクタサイズが512バイトであることを示しています。このセクタサイズはイメージファイルを作成するときに指定する重要なパラメータです。(セクタサイズ512バイトは固定にすることが望ましいです) さらに、ファイル名に「1GB」「4GB」「freebsd411」といった文字列が含まれていますが、これらはただのメモで、特に実際の設定や動作には影響しません。

bluescsi.iniは前回の記事と同じです。
[SCSI]
System="Generic"
Quirks=0
EnableSCSI2=0
MaxSyncSpeed=0
SectorsPerTrack=64
HeadsPerCylinder=8

ハードディスクのパーティションについてです。1GBのハードディスクには、MS-DOS用に128MBの領域を割り当て、FreeBSDのルートディレクトリ ( / ) 用に639MB、さらにスワップ領域として256MBを設定します。4GBのハードディスクには、全体をFreeBSDの /usr ディレクトリ用に割り当てる予定です。これにより、効率的にディスクの容量を使用しつつ、各OSの動作に必要な領域を確保しています。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 6
次に、ハードディスクのイメージファイルを書き込んだSDカード((microSD)をBlueSCSIに挿し込み、PC-9801FAの実機を起動します。電源をオンにすると、SCSIインターフェイスが正しく認識された状態が画面に表示されます。SCSI-ID1とSCSI-ID2にハードディスク (HD)、SCSI-ID3にCDドライブが認識されているため、予定通りです。

30年前のPC-9801を蘇らせる - FreeBSDインストール編 7
MS-DOSのインストールについては前回の記事で説明しているため、ここでは割愛します。
MS-DOSのインストールが完了した後、システムを再起動すると、最初にSCSIの認識状態が表示されます。その後、「固定ディスク起動メニュープログラム」が表示されます。このメニュープログラムは、通常、ハードディスクが1台しか接続されておらず、MS-DOSが唯一のインストールOSである場合は表示されませんが、複数のハードディスクが接続されているとMS-DOSのみがインストールされている場合でも表示されます。このメニューは、デフォルトの設定では起動したいOSを手動で選択する必要がありますが、設定を変更することで、メニューをスキップし、MS-DOSや他のOSを自動で起動させることも可能です。

今回は準備だけで終わります。次回はいよいよFreeBSDのインストールです。

関連記事:
Up