目次

QEMUとは

VMWareみたいなエミュレータで、無料でそれなりに流通しているものなようです。 とは言え、2006-09-01時点でstableのバージョンが0.8台なので、 まだまだこれからのエミュレータのような気もします。

QEMU/NetBSD on Windows

ということで、早速いれてみようかと。NetBSDにした理由は単にisoイメージの サイズが小さいから(Linux/FreeBSDとかはCD1枚フルx何枚か)です。orz

QEMUの入手

下記の参考にあるQEMU on Windowsからwindows用のQEMUを入手します。

diskimageの作成

qemu-imgコマンドでQEMU上で動作させるOSが利用するための仮想ディスクの 領域(=ファイル)を確保します。
 qemu-img create -f qcow hda.qcow 1G

NetBSD iso imageの入手

いろんなところに落ちてます。ここでは ftp://ftp.ring.gr.jp/pub/NetBSD/NetBSD-3.0.1/iso から落としました。

install

QEmuLauncherの利用

直接qemu-img.exeやqemu.exeを使ってもいいが、バッチファイル起動になるので、 少々鬱陶しい。これを解消してくれるランチャーが存在する(=QEmuLuncher、 以下QEmuL)ので、こちらを利用した。

disk imgの作成

QEmuL同梱のQIe.exeで作成できる。formatはqemu-imgにあるfmtのメニューに 併せて5種類。qcowに対応する「QEMU」にした。

起動環境の設定

適当に設定して終わり。

起動

コンフィグ名をダブルクリックすれば、裏でcmd.comが上がり、更にQEMUのWindowが 表示される。

QEMU/network

謎の処理系SunOS 4.1.4 with Linuxさんの 解説サイトで十分ですが、自分ようのメモとしてtapの場合の手順をのこしておきます。

guest osとhost osの接続は以下の通りです。

 外界--[host os]---------[guest os]
                tap   eth(=NE2000互換)

  • 1. tapアクセスの許可
    • 通常、このドライバのr/w権限はrootだけですが、qemuは一般ユーザで使うので、owner以外も使えるようにしときます。660か666かは host osの用途次第でしょう。
  • 2. qemu-ifupファイルの作成
    • "Using TAP network interface"の節に書いてあるように、host os側には qemu起動時に /etc/qemu-ifup ファイルを元に通信用の論理i/fを作成します。この操作はroot権限が必要なので、sudoで通るように /etc/sudoersも変更します。

/etc/qemu-ifup

#!/bin/sh
sudo /sbin/ifconfig "$1" 192.168.1.10
# class Aはちと広いので 192.168.系にしときました。
/etc/sudoers
# Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL
# 爽やかに私が使っているユーザはwheelに所属させているので、こうしときました。
# rhel3のデフォsudoersではコメントアウトされて、上記の2行があるはずです。
  • 3.tapとnicを繋いでvlan
    • あとはguest osの方でnicを有効にして、適正なIPを振ればhost/guest間でIPによる通信が可能となります。qemu起動時のnetworkのoptionは -net nic,vlan=0 -nic tap,vlan=0 で okです。guest os起動後、nicのIPが設定できていなければ、192.168.1.0/24の適当なIPを振っておきましょう。外界と通信したい場合は、host osを適当に設定します。

参考

メモ


Last-modified: 2006-11-13 17:33:57