エミュレータ環境でのRedHat 2.0

Red Hat Linux 2.0Windows 95とほぼ同じ時期(1995年後半)にリリースされました。
そのRed Hat Linux 2.0(RedHat 2.0)の長期保存化の一環としてQEMU環境でRed Hat Linux 2.0を実行させてみました。
RedHat 2.0のエミュレータ環境での再インストールは手間暇が掛るため実HDDをそのままQEMUで利用する方式を採用しました。
※ディスクカットイメージの作成・利用についても触れています。
またネットワークドライバもそのまま利用できるようにします。

今回使用したQEMUの実行環境は以下の通りです。
・CPU:Core 2 Duo E6600 (2.4GHz)
・メモリ:3GB
・OS:Ubuntu 8.04.1
・QEMU:Ubuntu付属QEMU 0.9.1
ここでは実機で使用していたRedHat 2.0のHDDをQEMU環境で直接利用して実行する手順を簡単に紹介します。

  1. 実機上のRedHat 2.0環境
    以前RedHat 2.0を60GBのHDDの持つマシンに再インストールした時点の環境です。
    ・CPU:Intel Celeron 266MHz
    ・メモリ:256MB
    ・LANカード:NE2000(ISA)互換カード(I/Oポート=0x340, IRQ=4)
    ・HDD構成(IDEタイプ)
    ・RedHat 2.0起動方法:RedHat 2.0起動ディスク(FD)利用
    [補足]
    下記はUbuntuマシンにRedHat 2.0のHDD(IDE)をSATA変換アダプタ経由でスレーブ接続した状態でのfdisk表示内容です。
    # fdisk -lu /dev/sdb
    
    Disk /dev/sdb: 60.0 GB, 60022480896 bytes
    240 heads, 63 sectors/track, 7753 cylinders, total 117231408 sectors
    Units = セクタ数 of 1 * 512 = 512 bytes
    Disk identifier: 0x00000000
    
    デバイス Boot      Start         End      Blocks   Id  System
    /dev/sdb1              63     3281039     1640488+  83  Linux
    /dev/sdb2         3281040     4339439      529200   82  Linux swap / Solaris
    /dev/sdb3         4339440     7620479     1640520   83  Linux
    

  2. 仮想マシン環境でのRedHat 2.0実行手順概略
    ここではRedHat 2.0の物理ディスクをそのままQEMU環境で使用することを前提とします。
    (1)RedHat 2.0の物理ディスクのスレーブ接続(/dev/sdb扱い)
    (2)RedHat 2.0起動ディスク(FD)のイメージファイルの作成
    (3)RedHat 2.0の起動とネットワーク設定情報の変更
    (4)RedHat 2.0の利用

  3. RedHat 2.0の物理ディスクのスレーブ接続(/dev/sdb扱い)
    Ubuntuマシン(HDDは/dev/sda)にRedHat 2.0のHDD(IDE)をSATA変換アダプタ経由でスレーブ接続します。
    RedHat 2.0のHDDは/dev/sdbとして認識されます。

  4. RedHat 2.0起動ディスク(FD)のイメージファイルの作成
    QEMU環境の場合、RedHat 2.0の実際の起動ディスク(物理FD)からブートできない場合があります。
    ※「Boot from Floppy failed: could not read the boot disk」エラーの発生。
    そこで以下のコマンドで起動ディスク(FD)のイメージファイルを作成します。
    # dd if=/dev/fd0 of=rh20hda1boot.img

  5. RedHat 2.0の起動とネットワーク設定情報の変更
  6. RedHat 2.0の利用

  7. Linuxでのディスクカットイメージの作成と利用
    今回使用した物理HDDの容量は60GBです。
    OS保存のためにこの物理HDDを60GBのまま保管しておくのは得策ではありません。
    そこでこの物理HDDの先頭4GB分だけ切り取った部分(ディスクカットイメージ)を仮想ディスクイメージとして残すことにしました。
    具体的にはddコマンドで/dev/sdbの先頭4GB分を/guest2/qemurh204gbcut-flat.imgとして作成しました。
    次に物理HDDの代りに/guest2/qemurh204gbcut-flat.imgを使用してRedHat 2.0を起動してみました。
    起動コマンドは以下の通りです。
    qemu -no-kqemu -M isapc -m 256 -hda /guest2/qemurh204gbcut-flat.img \
    -net nic,model=ne2k_isa -net tap,ifname=tap0,script=/etc/myqemu-ifup \
    -std-vga -fda rh20hda1boot.img -boot a
    ここでも「-std-vga」は必ず指定します(省略するとQEMU起動直後にQEMUコンソールが出て停止します)。

    ネットワークも問題なく利用でき、ホストOSからそのRedHat 2.0にtelnet接続することもできました。
    ディスクカットイメージ利用の場合、RedHat 2.0はその仮想ディスクのヘッド数を求めることはできなくなります。



    仮想ディスクイメージとしてのディスクカットイメージ(/guest2/qemurh204gbcut-flat.img)はホストOSからマウントしてアクセスできます。
    通常の仮想ディスクイメージをループバックマウントする要領と全く同じです。
    # mount -o loop,offset=32256 /guest2/qemurh204gbcut-flat.img /mnt

  8. Windowsでのディスクカットイメージの利用
    Linux側で作成したディスクカットイメージ(4GB)と起動ディスクイメージファイルをQEMU on Windows (ver 0.9.1)環境で利用してみました。