EOTA を Bochs-2.0.x で動作させる方法

2003/6/5 作成
2004/3/16 文末修正
NAKANISHI Shin (snakani at users.sourceforge.jp)

 この文章では、フリーの PC エミュレーター Bochs の Version 2.0.x 上で EOTA を動かしたときに発生する不都合を回避する方法について簡単に説明します。


目次:


1. 発生する不都合の内容

 フロッピーイメージからの起動時に停止します。それと、ハードディスクイメージからの起動時にフロッピーイメージへのアクセスができません。この二つのトラブルを以下の手順を踏んでバイナリを作成することによって回避できます。


2. 必要なファイル

 EOTA のソースアーカイブと、honma 氏提供の Bochs2.0.x 用のパッチを入手します。


3. 手順

 EOTA のソースアーカイブを展開してパッチを当てます。

$ tar xvzf eota.0.3.5.tar.gz
$ cd eota
$ patch -p1 < ../eota.0.3.4-bochs2.patch

 さらに eota/kernel/BTRON/device/fd765a/Makefile ファイルの 6 行目の行頭のコメントアウトの `#' を外して DEBUG を有効にします。

$ cd kernel/BTRON/device/fd765a
$ vi Makefile
# -DFDDEBUG	... FDC のデバッグ用マクロ
#DEBUG= -DFDDEBUG
IDENT=-DTIMER_TEST -DI386 -DIBMPC $(DEBUG)
# -DFDDEBUG	... FDC のデバッグ用マクロ
DEBUG= -DFDDEBUG
IDENT=-DTIMER_TEST -DI386 -DIBMPC $(DEBUG)
にします。この変更を省略すると、私の手元の環境ではうまく動作しませんでした。

 続いて eota/sfsboot ディレクトリに移動し、make をします。

$ cd ../../../../sfsboot
$ make

 続いて eota/kernel/BTRON/make に移動して make をします。

$ cd ../kernel/BTRON/make
$ make

 これで eota/sfsboot/2nd 以下と eota/kernel/BTRON/make 以下にブート部と、カーネルができます。続いて eota/kernel/POSIX/mkfs の mk_sfsboot.sh を実行すれば、ブート部とカーネルその他必要最小限がインストールされた sfsboot.bin ができます。このフロッピーイメージを指定すれば起動できます。

$ cd ../../POSIX/mkfs
$ make
$ ./mk_sfsboot.sh

 以下は確認です。

$ ls
Makefile      mk_img.sh      mkfs.c  mksfs        sfsck.c   statfs.o
init.fm       mk_sfsboot.sh  mkfs.h  sfsboot.bin  statfs
mk_hdboot.sh  mkfd.sh        mkfs.o  sfsck        statfs.c
$ ./statfs sfsboot.bin dir /
  5  40777      0000    0000    .               160 bytes
  5  40777      0000    0000    ..              160 bytes
  2  40777      0000    0000    lost+found      40 bytes
  2  40777      0000    0000    system          120 bytes
  2  40777      0000    0000    dev             380 bytes
  1  100666     0000    0000    init.fm         128 bytes
  1  100777     0000    0000    test            8152 bytes
  1  100777     0000    0000    psauxtst2       9437 bytes

 ハードディスクから起動する場合には eota/kernel/BTRON/make 以下の btron を EOTA の ハードディスクイメージ上に /system/btron386 としてインストールします。


2003/6/4 作成
2004/3/16 文末修正
NAKANISHI Shin (snakani at users.sourceforge.jp)

[目次へ][戻る]