2010年1月11日月曜日

メインフレームエミュレータでLinuxを動かす(5)

さて、引き続きHerculesエミュレータを動作させるための設定です。

4. hercules.cnfの設定
HerculesエミュレータにエミュレートさせるCPUアーキテクチャ(S/370, S/390, z/Architectureなど)の種類、(エミュレータに割り当てる)メモリ容量、エミュレートするDASDやネットワークアダプタ等の各種デバイス等の構成情報は、hercules.cnf(名前は変更可能)というファイルに格納されます。Herculesのソースのルートディレクトリにhercules.cnfという名前の雛形がありますので、これに変更を加えます(ファイル名は変更しません)。 変更点はわずかで、
  1. Herculesエミュレータに割り当てるメモリのサイズを64MBから256MBに変更
  2. 今回は使用しないメインフレームデバイスを無効化
  3. 今回使用するデバイス、DASDとCTCI(ネットワークアダプタ、のようなもの)を追加
の3点のみです。使用しないデバイスはhercules.cnfファイルの該当デバイスの行頭に"#"を挿入することで、無効化することができます。 今回使用するhercules.cnfと雛形とのdiffをとったものは以下のようになりました(../hercules-3.06/hercules.cnfの方が雛形ファイルです)。
$ diff hercules.cnf ../hercules-3.06/hercules.cnf
27c27
<   MAINSIZE  256                 # Main storage size in megabytes
---
>   MAINSIZE  64                  # Main storage size in megabytes
98,102c98,102
< # 0009    3215-C  / noprompt
< # 000C    3505    ./util/zzsacard.bin
< # 000D    3525    punch00d.txt ascii
< # 000E    1403    print00e.txt crlf
< # 001F    3270
---
>   0009    3215-C  / noprompt
>   000C    3505    ./util/zzsacard.bin
>   000D    3525    punch00d.txt ascii
>   000E    1403    print00e.txt crlf
>   001F    3270
106,107c106
<   0120    3390    DASD01
<   0420.2  CTCI    192.168.200.1 192.168.200.2
---
> # 0120    3380    mvsv5r.120
CTCI(Point-to-Point)の両端のIPアドレスは、本家の"TCP/IP networking with Hercules"で使用されているものをそのまま使用しています。

5. CentOS v4.7 for s390インストールイメージの準備
CentOS v4.7 for s390のインストーラー(これもLinuxを使用しているわけですが)が格納されたインストールイメージをwww.centos.orgのミラーサイトからダウンロードします。インストールイメージは、以下の5つのファイルで構成されています。
  1. generic.ins
  2. generic.prm
  3. initrd.img
  4. initrd.size
  5. kernel.img
2010/01現在、"generic.ins"はhttp://ftp.riken.jp/Linux/centos/4.7/os/s390から、その他の4つのファイルはhttp://ftp.riken.jp/Linux/centos/4.7/os/s390/imagesからダウンロードできます。

これで、Herculesエミュレータ上でCentOS v4.7のインストーラーを起動するための部品はすべて揃いました。 今回は herculesユーザーのホームディレクトリに、一つディレクトリ(今回はcentos_v47_s390)を作って、そこにHerculesエミュレータおよびCentOSインストーラーの起動に必要なファイルを入れておくことにします。ディレクトリの中身は以下のようになりました(generic.prm, initrd.img, initrd.size, kernel.imgの4つは、サブディレクトリimages内に置きます)。

$ ls -lR
.:
total 2782456
-rw-r----- 1 hercules hercules 2846431232 Jan 11 03:08 DASD01
-rw-rw-r-- 1 hercules hercules        142 Jan  9 23:51 generic.ins
-rw-rw-r-- 1 hercules hercules       5669 Jan 11 03:09 hercules.cnf
drwxrwxr-x 2 hercules hercules       4096 Jan  9 23:53 images

./images:
total 10780
-rw-rw-r-- 1 hercules hercules      44 Jan  9 23:52 generic.prm
-rw-rw-r-- 1 hercules hercules 8227210 Jan  9 23:52 initrd.img
-rw-rw-r-- 1 hercules hercules       8 Jan  9 23:52 initrd.size
-rw-rw-r-- 1 hercules hercules 2784644 Jan  9 23:52 kernel.img

Herculesエミュレータを起動するには、このディレクトリにcdして、以下を実行します。
$ hercules -f hercules.cnf

Herculesエミュレータが起動すると以下の以下のような画面が表示されます。



また、トンネリングデバイス(/dev/net/tun), DASDが正しくHerculesエミュレータに認識されれば、上の画面の赤枠内のような表示が確認できます。


次回はいよいよCentOSのインストールを行います。

0 件のコメント:

コメントを投稿