Hatena::ブログ(Diary)

七誌の開発日記(旧) このページをアンテナに追加 RSSフィード Twitter

新ブログ Twitter OneDrive Wiki

2010-06-09

[]QEMUでNT4/MIPS

【追記】以前は2種類のQEMUを使い分ける複雑な手順を掲載していましたが、パッチによって0.13.0だけですべての作業が行えるようになったため、説明を修正しました。

Windows上のQEMUに、MIPS用のWindows NT 4.0 Workstationをインストールして動かしてみました。色々とハマりどころがあるので、手順をまとめておきます。

以下を参考にしました。

  1. MIPS!, Got it working!
  2. Installing Windows NT 4.0 on Qemu(MIPS)

準備

上記の参考1から setup.zipダウンロードします。

以下からMIPS用の qemu-0.13.0 をダウンロードして展開します。NT4/MIPSが動くようにRTCやFDCにパッチを当てています。パッチビルドの詳細については後でまとめます。

setup.zipから NTPROM.RAW を取り出して、名前を mipsel_bios.bin に変更して、qemuを展開したフォルダに入れます。

ディスクイメージの作成

Windows 7以降ではVHDがマウントできるため、ディスクイメージとして容量固定のVHDをお勧めします。VHDVirtual PCWindows 7の管理ツールで作成できます。

Windows 7でのVHD作成方法
  1. スタート→コンピュータを右クリック→管理
  2. 「コンピュータの管理」が表示されるので、左のツリーから「ディスクの管理」を選択
  3. 中央上欄のパーティション一覧を適当にクリック
    ※一度フォーカスを移さないとメニューが選択できないため
  4. 操作→VHDの作成
  5. 容量固定で512MB〜1GB程度のサイズで作成
  6. ディスク一覧に出てくるので右クリック→VHDの切断
    ※アタッチされたままだとアプリから操作できないため
QEMU付属ツールでの作成方法

Windows 7以外での方法として、QEMU付属ツールで1GB固定サイズのイメージを作成する方法を示します。

qemu-img create hda.img 1G

QEMUからの脱出方法

QEMUの画面をクリックするとマウスポインタが吸い込まれます。QEMUのウィンドウキャプションにも書いてありますが、[Alt]+[Ctrl]で抜けることができます。キーボードだけの操作ならマウスポインタを吸い込ませなくても可能です。

ファームウェアの初期設定

以下の引数qemuを起動します。ディスクイメージやISOのファイル名は適宜修正してください。なお、上で配布している qemu-0.13.0 のアーカイブには、このコマンドを起動するためのバッチファイル(run-nt4mips.bat)が同梱されています。

qemu-system-mips64el -M magnum -localtime -L . -net nic -net user -hda hda.vhd -cdrom NTWKS40J1.ISO

f:id:n7shi:20100609190326p:image:medium

NVRAMの警告が出ますが、何かキーを押して先に進みます。

f:id:n7shi:20100609190324p:image:medium

ファームウェアのメニューが出ます。

f:id:n7shi:20100609190322p:image:medium

初期設定を行います。カーソルキーと[Enter]で選択します。キャンセルは[Esc]です。

  • Run setup
    • Initialize system
      • Set default configuration
        • 解像度を選択します。
          ※NT 4では任意の解像度が選べますが、NT 3.5では1280×1024でないとうまくいかないようです。
        • それ以外はデフォルトのままで結構です。
      • Set ethernet address
        • ゼロだとネットワークがエラーになるため、適当な値を入力します。

以上の設定が完了して[Esc]でメニューを抜けると、解像度を変更した場合は再起動が掛かります。

ブートパーティションの作成

ファームウェアのトップメニューからCD内のarcinstを実行します。

  • Run a program
    • cd:\mips\arcinst
      ※US配列での入力となります。日本語キーボードを使っているときは、コロンは[Shift]+[;]、バックスラッシュ(円マーク)は ] で入力します。
      • Configure Partitions
        • Create System Partition

ブートローダを置くFATパーティションを作成します。NT本体もFATに置く場合は最大サイズで作成します。NT本体をNTFSインストールする場合は、後でNTのインストール中にパーティションを作成するため、ブートローダを入れるFATは最低限の1MBのサイズでも大丈夫です。

ブートデバイスの指定

ハードディスクからのブートを指定します。

  • Run setup
    • Initialize system

インストール(初回再起動まで)

ファームウェアからインストーラを起動します。

  • Run a program
    • cd:\mips\setupldr
      ※US配列での入力となります。日本語キーボードを使っているときは、コロンは[Shift]+[;]、バックスラッシュ(円マーク)は ] で入力します。

起動中に以下の画面で固まることがよくあります。これはインストール時だけでなく、インストール後にも発生します。

f:id:n7shi:20100609190321p:image:medium

10秒以上待っても先に進まないようであれば、QEMUを強制終了(ウィンドウを[×]ボタンで閉じる)してください。再度QEMUを起動させて、setupldrの起動からやり直してください。何度もやっていると先に進みます。ファームウェアの設定はnvramというファイルに保存されて引き継がれるため、再設定する必要はありません。

無事にインストーラが起動すれば以下の画面が表示されます。これ以降はx86へのインストールと同じです。

f:id:n7shi:20100609190320p:image:medium

パーティションの選択画面で「未使用の領域」を選択してNTFSでフォーマットしてください。CドライブをNTFSにすることはできません。

再起動を促す画面になったら、再起動してください。

f:id:n7shi:20100609190319p:image:medium

インストール(2回目再起動まで)

再起動すると、ファームウェアのメニューにNTが追加されているので、それを起動してください。

f:id:n7shi:20100609190317p:image:medium

先ほどと同じ場面で起動中に固まることがありますが、その場合はすぐに強制終了して再起動してください。何度もやっていれば先に進みます。

f:id:n7shi:20100609190321p:image:medium

ネットワークの設定では検索して出てきたNICを追加して、DHCPを使用してください。QEMU独自のNATに隔離された環境となります。

再起動を促す画面になったら、再起動してください。

f:id:n7shi:20100609190306p:image:medium

以上でインストールは終了です。

ログオン

再起動するとログオン画面まで進みます。

f:id:n7shi:20100609190259p:image:medium

[Ctrl]+[Alt]+[Delete]を押してもホストのWindowsに取られるため入力できません。

[Ctrl]+[Alt]+[3]を押してmonitor consoleに入り、以下のコマンドを入力します。

sendkey ctrl-alt-delete

f:id:n7shi:20100609190539p:image:medium

[Ctrl]+[Alt]+[1]を押すと元の画面に戻ります。ユーザー入力画面になっているはずです。

f:id:n7shi:20100609190538p:image:medium

ログオンすればNT4/MIPSの世界が広がっています!

f:id:n7shi:20100609190537p:image:medium

ネットワーク

前述のようにNATで隔離された環境からネットワークを使用することができます。

FTP

NATは外部からのアクセスをルーティングしないため、FTPのアクティブモードは使用できません。パッシブモードで使用してください。

NT4付属のFTPコマンドはパッシブモードに対応していないため、別のFTPクライアントが必要となります。NT4/MIPSでは16bitのx86コードが動くため、Windows 3.1用のFTPソフトが使用できます。たとえば以下には3.1用のWS_FTPが残っています。

共有フォルダへのアクセス

NATで隔離されているため、ワークグループ内のマシンを名前解決することができません。IPアドレスを指定すればアクセスできます。NTドメインについては未確認です。

ネットワークがうまくいかない場合は、QEMUを終了させた状態で、VHDをマウントしてファイルをやり取りすることもできます。インストールされているMIPSバイナリを抜き出して調査するにはこの方法がお勧めです。

IE2

IE2がバンドルされています。Yahooを開いてみましたが文字化けしました。エンコーディングを指定できないようです。

f:id:n7shi:20100609190536p:image:medium

Googleは延々とリロードを繰り返して開きませんでした。F5攻撃と同様なため試さないでください。

IE2はHTTP/1.0しかサポートしていないため、バーチャルホストには接続できません。URLが合っているのに404になる場合は、ホストがバーチャルだと思われます。

IE1.5J

NT4の2枚目のCDには日本語版IE1.5が入っています。インストールしてYahooを開いてみましたが文字化けしました。レンダリング能力はIE2以下で、エンコーディングの指定もできないため、ほとんど使い物になりません。

IE2もIE1.5Jも使い物にならないため、Windows 3.1用のNetscapeインストールした方が良いと思います。以下では32bitのNetscapeを動かす方法が紹介されていますが、Win32 x86 Emulation on RISC は既に入手不可能なので、残念ながら試すことができません。

【余談】この記事によればAlpha用の Win32 x86 Emulation on RISC が存在するようですが、これは有名な FX!32 とは別物のようです。性能の比較など詳しいことは不明です。

最後に

インストールレポートは以上です。

癖があってなかなかうまくいかなかったため、まとめるのに時間が掛かってしまいました。何度もインストールしましたが、ディスクアクセスはそれほど重くないという印象です。

昔から使っているWindows環境でMIPSの調査ができるという意味で、私にとっては面白い環境です。

EgtraEgtra 2011/11/21 00:04 NT 3.5のインストールは、以下のウェブページを参考にしました。
http://www.betaarchive.com/forum/viewtopic.php?f=6&t=11627
次の2点を注意したら、インストールに成功しました。
1. 掲示板コメントの中に、「インストール中は解像度1280×1024でないとうまくいなない」という投稿があった。
2. そこからリンクの張られている動画 (YouTube) 内では、ブートローダとWindowsをインストールするパーティションを分けていない。
どっちか片方だけで十分なのか両方とも必要なのか今度試してみます。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/n7shi/20100609/1276087586