BeOS R4.5 on Notebook PC

注意: 本稿の内容はすでに古くなっています。 最近の情報についてはノートPCでBeOS R5を参照してください。

最終更新: 2000.2.3


BeOS R4/4.5をThinkPad 535にインストールしてみました。 他機種でのインストールや活用のヒントも記しておきます。


ハードウェア仕様

ThinkPad 535 (2606-MF9)

3年程前のマシンです。もうだいぶ時代遅れになってしまいました。

CPU
Intel Pentium 133MHz
チップセット
Intel 82437MX(430MX)/82371FB(PIIX)
メモリ
主記憶8MB〜40MB、2次キャッシュなし
ビデオ
Trident Cyber 9320、VRAM 1MB、640×480×1700万色・800×600×65536色・1024×768×256色(外部ディスプレイ使用時)
HDD
1GB
PCカード
16ビットPCカードスロット2基、 Cirrus Logic PD6729(i82365SL/ExCA互換)使用
電源管理
APM 1.2
その他デバイス
外部インタフェース

当方ではメモリを40MBに増設、HDDを4GB(IBM DTCA-24090)に換装して使用中です。


インストール

内蔵CD-ROMドライブを持たないノートPCでは、そのままではインストールすることができません。 ノートPCでのインストールの選択肢は以下のようになります。 なお、基本的にFDDが必須です。

	内蔵CD-ROMドライブがあるか?
	N│   │Y
	 │   └──→普通にインストール
	 ↓
	外づけ(PCカード接続)のATAPI CD-ROMドライブがあるか?
	N│   │Y
	 ↓   └──→ATA PCカードドライバを使う(R4.5のみ)
	 │
	DOS/Windowsで使える外づけCD-ROMドライブがあり、HDDに余裕があるか?
	N│   │Y
	 │   └──→BeWriteを使う
	 ↓
	デスクトップPCがあるか?
	Y│   │N
	 │   └──→残念です
	 │
	LANまたはリムーバブルメディアでデータ交換できるか?
	N│   │Y
	 │   └──→BeWriteを使う
	 │
	ノートを分解してもかまわないか?
	N│   │Y
	 │   └──→ノートのHDDをデスクトップに移植してインストール
	 │
	 └──────→残念です

以下、順に解説します。

ATA PCカードドライバを使う

R4.5では、インストールフロッピーの構造が変更になり、 ユーザーレベルでもデバイスドライバなどを比較的容易に追加できるようになりました。 また、IDEのデバイスドライバ階層も整備され、 標準以外のIDEコントローラドライバを開発しやすくなりました。 そこで、ATA PCカードドライバを開発し、 ATAPI CD-ROMドライブからのインストールが可能になりました。 この方法では、最初にインストールフロッピーを作るだけで、 デスクトップ機での通常のインストールとほぼ同様にインストールできます。 ここではその方法を簡単に紹介します。 詳しくはドライバのドキュメントを参照してください。

  1. インストールフロッピーを作る

    ドライバを組み込んだインストールフロッピーを作る必要があります。 BeOSやLinux、*BSDではmkflp.shを実行します。 Windows 95/98/NTではMKFLP.BATを実行します。

  2. インストールする

    CD-ROMドライブを接続し、作成したインストールフロッピーで起動します。 やがてCD-ROMが回転し、Installerが起動するはずです。

機種によってはCD-ROMが認識されないなどの不具合があるかもしれません。 うまくいかないときは、BIOS設定でシリアルポート・パラレルポート・赤外線ポートなどを殺してIRQを空けてみてください。 動作・不動作にかかわらずご報告をお寄せください。

BeWriteを使う

BeOSのインストールCDの中身は、他のOSのように圧縮されておらず、 あたかも「CD-ROMにBeOSをインストールした」かのような状態 (いわゆるLive File System)になっています (/etc/installなど部分的な違いはありますが)。 したがって、このイメージをそのままHDDにベタコピーすれば、 一応起動することができます。

DOS/Windows環境でこれを行うツールとしてBeWriteを公開しています。 BeWrite 2.00は、以下のいずれかのハードがあれば利用可能です。

ここでは簡単に紹介します。詳しい手順はBeWriteのドキュメントを参照してください。

  1. インストール先BFSパーティションを確保
  2. BeWriteを使ってインストールCDをBFSパーティションにコピー

    ノート用CD-ROMドライブがない場合は、直接コピーできませんので、 デスクトップ機などでイメージファイルを作ってノートに転送します。

  3. インストールフロッピーで起動

    この段階ではまだBFSパーティションから直接起動できないので、 インストールフロッピーを入れて起動します。 うまくいけばHDDを起動ボリュームとしてBeOSが起動するはずです。 空き容量があまりないので、スワップファイルが作れないと文句を言われますが、とりあえず無視します。 起動したらmakebootable(R4では/boot/optional/experimental/makebootable)を使ってBFSパーティションを起動可能にします。 また、複数のOSがある場合は適当なブートセレクター(BeOSブートマネージャーなど)をインストールします。

  4. 本インストール

    一応起動するようになりましたが、この状態では空き容量が少ないので、 スワップも作られませんし、今一つ実用に向きません。 そこで、DriveSetupで充分な容量のBFSパーティションを別途確保し、 今動いているBFSパーティションからそちらにInstallerでインストールし直します。 インストールが済んだら元のBFSパーティションは削除してかまいません。

この方法はInstallerによる通常のインストール手順を経ないため、 インストールの完全性については保証できませんが、 すでに多くの実績があるので基本的に問題ないと思います。

なお、とくにノートPCでは、R4.5はR4への上書きでなくクリーンインストールの方がよいと言われています。 しかし、ThinkPad 535の場合、R4.5をBeWriteでクリーンインストールすると、 フロッピーで起動する分には問題ないが、HDDから起動するとキーボードとトラックポイントが効かないという問題が出るようです。 いったんR4をインストールしてR4.5を上書きすれば大丈夫です。

ちなみに、BeOSのCDは以下のような構成になっています。 1つのセッションに複数のトラックがあるという、 CD-ROMとしては珍しい構成なので、 環境によってはCD-ROMの読み出しができないおそれもあります。

セッショントラックファイルシステム内容
11Joliet+HFSハイブリッドWindows/MacOS用ツール
2BFS(リトルエンディアン)x86版インストール元
3BFS(ビッグエンディアン)PowerPC版インストール元

HDDの移植

原始的ですが確実な方法です。 メーカー保証が切れることも含め、すべて自己責任で行ってください。

R4のインストール時は、ご多聞にもれず、HDDをデスクトップ機に移植しました。 デスクトップ機にすでにBeOSがインストールしてある場合、 CDからではなくデスクトップ機のBFSボリュームからインストールすることができます。 この場合、/boot/homeディレクトリなどもコピーされるので、 各種設定が移行できて便利なのですが、 インストール元の/boot/homeの内容が/boot/Your_Old_Be_Files_Are_Hereに移動されてしまうので注意が必要です。

(参考)LAN経由のインストール

何か高級に聞こえますが、WindowsやUNIXでいう「ネットワークインストール」のようなまっとうな方法ではありません。 デスクトップ機でBFSパーティションのイメージファイルを作り、 LAN経由でノートに転送してベタ書きするという方法です。 手順が複雑なこと、イメージファイルを作るためディスク容量を食うこと、 BFSパーティションにベタ書きするためにノート側でUNIXを使う必要があることなど、 手軽な方法とはいいがたいものです。

かつてはHDD移植以外にはこの方法しかありませんでしたが、 現在ではBeWriteやATAカードドライバを使ってより容易にインストールすることができます。 とくに、BeWrite 2.00ではこの方法と原理的に同じことがより手軽に行えるようになったので、 現在ではこの方法を用いる必要はほとんどありません。 ここでは参考のため概要を紹介するにとどめます。

なお、以下UNIXとは、ノートでLANカードを使えるUNIX、具体的にはLinuxやFreeBSDを指します。 操作例はFreeBSDのものです。

基本的な方法

  1. ノートで希望の容量のBFSパーティションを確保します。
  2. デスクトップにBeOSをインストールします。 ノートのBFSパーティションよりわずかに小さくします。
  3. BeOSのネットワークの設定をします。
  4. デスクトップでBFSパーティションをファイル化します。
    $ dd if=/dev/disk/ide/ata/0/master/0/0_1 of=beos.img
    
  5. ノートでUNIXを起動し、ネットワークの設定をします。
  6. FTPでデスクトップに接続し、イメージファイルをBFSパーティションに書き込みます。
    ftp> bin
    ftp> get beos.img /dev/rwd0s2
    
  7. インストールフロッピーで起動します。 必要ならBeOSブートマネージャをインストールします。

なお、ファイル化せずにデバイスファイルを直接FTPでgetすることはできません (これができるとディスクを余分に食わなくてすむのですが…)。

Be, Inc.のエンジニア推奨:-)の方法

Software Design誌1999年8月号のコラムで紹介された方法を元にしています。 空のイメージファイルをmkbfsしてマウントするという通好みな方法です。

  1. ノートで希望の容量のBFSパーティションを確保します。
  2. デスクトップでBeOSを起動します。
  3. BeOSのネットワークの設定をします。
  4. デスクトップでノートのBFSパーティションよりわずかに小さいBFSイメージファイルを作り、 BeOSのファイルをコピーします。 イメージファイルはどこに作ってもかまいません。FATパーティション内でもOKです。
    $ dd if=/dev/zero of=beos.img bs=1k count=1m
    $ mkbfs beos.img
    $ mkdir /mnt
    $ mount beos.img /mnt
    $ cp -a /boot/beos /mnt
    $ mimeset -f /mnt
    $ unmount /mnt
    
  5. ノートでUNIXを起動し、ネットワークの設定をします。
  6. FTPでデスクトップに接続し、イメージファイルをBFSパーティションに書き込みます。
    ftp> bin
    ftp> get beos.img /dev/rwd0s2
    
  7. インストールフロッピーで起動します。 デスクトップ機を参考にして、/boot下の足りないディレクトリを適宜構築します。 必要ならBeOSブートマネージャをインストールします。

デバイスの動作状況

ここではR4/4.5におけるThinkPad 535の各デバイスの動作状況について述べます。 なお、ATA PCカードドライバを使うと、BeOS R4.5 デモCDを起動することが可能ですので、 インストールする前に動作状況をチェックできます。

ビデオ
そのままではセーフモード(640×480グレースケール)でしか使えませんが、 R4用Trident Cyberドライバが公開され、 800×600ハイカラーが映るようになりました。
640×480グレースケール画面の例
使用前
800×600ハイカラー画面の例
使用後
Mwaveサウンド
Sound Blasterエミュレーションについては、 あらかじめSound Blaster 1.0のドライバを組み込んでおき、 DOSなどでMwaveを初期化した後起動すれば使えるはずです。 ただし、このドライバはR4に対応していないため、現状では使えません。 また、このエミュレーションは「DOSゲーム用」と銘打っているとおり、 Sound Blaster 2.0(8ビットモノラルPCM・ミキサーなし)相当ですので、性能的には今一つです (内蔵スピーカーで使う分には充分な気もしますが)。 Mwave本来のサウンド機能(16ビットステレオPCMやMIDIシンセサイザ)は、 例によって使えません。 どうしても高音質なサウンドがほしいという向きは、 MwaveをES1688に換装するという荒技を使って ドライバを待つ(あるいは書く)ほうが、まだしも見込みがあるでしょう。
Mwaveモデム
これも例によって使えません。
PCカード
R4ではPCカードがサポートされていなかったので、 モデムカードとEthernetカードのイネーブラーを制作して利用していました。 R4.5ではLinux pcmcia-csベースのPCカードサポートが標準で提供され、 モデム(シリアル)カードとNE2000互換Ethernetカードが使えるようになりました。
省電力機能など
LCDタイマーやHDDタイマーは効きますが、サスペンド・ハイバネーションなどは使えません。 なお、機種によってはシャットダウンやリブートがうまくいかないことがあるそうですが、535に関しては問題ありません。 APMドライバを導入すると、電源オフ・電源状況取得などが可能になります。
シリアルポート
ThinkPad機能設定で有効にしておけば使えます。その際、COM1にするとよいでしょう。 BeOSではCOM1にシリアル端末をつないでカーネルデバッグ端末として使うことができるからです。
赤外線ポート
ThinkPad機能設定で有効にしておけば、 Preferences | Devicesで"Communication Device"として認識されます。 ハード的なインタフェースはシリアルポート(UART)互換なので、COM2(serial2)として使用できます。 ただし、半二重のため、実際にシリアルポート用のアプリケーションを使って大量の通信を行うのは困難です。
パラレルポート
ThinkPad機能設定で有効にしておけば使えると思いますが確認はしていません。 モードをECPにするとR4では認識しません。 また、EPPの場合はI/Oポート0x3BCは選べません。
キーボード・トラックポイント
使えます。ただしFnキーはscreen expansion(Fn+F8)と音量調節(Fn+PgUp/PgDn)・輝度調節(Fn+Home/End)のみ機能します。 外づけPS/2マウスも使えますが、トラックポイントとは分解能がかなり異なります。
FDD
使えます(1.2MBは無理です)。

ハードウェアの設定例

なるべく標準的な(デフォルトの)設定にしてあります。 ユーザーズガイドpp.215〜218および付録D参照。

ThinkPad機能設定

Mwaveモデムは使えないので殺しておきます。

ps2 dsp enable / address 4e30 / irq 10 / dma 7
ps2 sb enable / address 220 / dma 1 / irq 5
ps2 parallel enable / address 2
ps2 imodem disable
ps2 ir enable /address 2
ps2 sera enable / address 1

システム資源使用状況

IRQ

3	赤外線
4	シリアル
5	Sound Blaster
7	パラレル
9	空き
10	(Mwave DSP)
11	空き
15	(セカンダリIDE)

DMAチャネル

0	空き
1	(Sound Blasterエミュレーション)
3	(ECPパラレル)
5	空き
6	空き
7	(Mwave DSP)

通信・データ交換手段

外部との通信やデータ交換に使える可能性のあるデバイスについて、いろいろ考察してみました。

Ethernetカード
R4.5でNE2000互換Ethernetカードが使えるなら、これがベストの手段です。 ダイヤルアップルーターなどを使うか、 UNIXマシンに接続してIPマスカレードやNATを経由すれば、 インターネット接続にもさほど不自由しません。
モデムカード
単独でインターネットに接続する場合、 R4.5ではモデムカードを利用することができます。 また、機種によっては内蔵モデムが使える場合があります。
シリアル
インターネット接続に際して上記のような手段が利用できない場合は、 シリアルポートに外づけモデムまたはTAをつなぐことになります。
ATAカード
R4.5では、ATA PCカードドライバにより、 ATAPI CD-ROMドライブからのインストールだけでなく、 制限つきですがATAカードが使えるようになり、 デジタルカメラのメモリカード(コンパクトフラッシュ・スマートメディアなど)の読み書きも可能となりました。 デジカメについてはR4.5のCameraアプリケーションによってケーブル接続も可能ですが、 対応機種や転送速度の点で難があるので、 やはりメモリカードを直接読み書きしたいものです。
フロッピー
いうまでもなく最も基本的なデータ交換手段ですが、容量が少ないのが難点です。
USB
R4.5ではUSBのサポートが開始されました。 現状ではキーボード・マウス・プリンタのみのサポートですが、 今後対応デバイスの増加を期待したいところです。 また、USBバスモジュールやusb_rawドライバのAPIが整備されれば、 ドライバやアプリケーションで独自の通信を行うことも可能となるでしょう。
赤外線?
ドライバ次第ですが、赤外線ポートもpeer-to-peerの通信手段としてシリアルと同じように使える可能性があります。 特にIrDA-SIR 1.0の赤外線ポートはシリアルポート互換になっており、 既存のシリアルポート用のアプリケーションが使えます。 しかし、そのままでは半二重なので、全二重を前提としているシリアルポート用アプリケーション、 特にファイル転送やPPPなどの激しいトラフィックには耐えられないでしょう。 実際に他のシステムと通信するためには、 IrLAP/IrLMPなどのプロトコルの実装が必要になるため、 実用への道は険しいかもしれません(Linuxでは頑張っているようです)。
パラレル?
パラレルも有望なデバイスです。 現状ではパラレルポート用zipドライブのドライバがあるのみですが、 利用法としては、InterLinkやRDISKのようなものや、 PLIP・EasyHardなどのSCSIアダプタ・Ethernetアダプタなどいろいろ考えられます。

リンク集


Copyright (C) 1999 ITO Takayuki, All rights reserved.

伊藤隆幸のホームページ