ttt

getttyent

Windows上でQEMUを使ってFreeBSDを動かす

2005-06-15 22:47:31 | デジタル・インターネット

QEMUというフリーのエミュレータを使って、Windows上でFreeBSDを動かしてみました。けっこうすんなりと動きます。速度も、速くはないけど、遅すぎはしない、という程度です。実用性があるのか?というと、個人的には、んん~?と疑問がありますが、まあおもしろいので、いいんじゃないでしょうか。

今日は、とりあえず、FreeBSDをインストールするまでです。

■QEMUをダウンロード&インストールする

QEMU on Windows
からqemu-0.7.0-windows.zipをダウンロードしました。

インストールは、zipファイルを展開するだけでOKです。
ちょっとだけ、気になった点があります。

  • WindowsXPのあるPCにて。バージョン0.7.0が、起動したとたん固まる?、ウィンドウの枠が描画されるけど、中身が描画されない。回避方法わからず。
  • 同じPCにて。バージョン0.6.1を使って、ゲストOSとしてFreeBSDを動かしていると、負荷が高くなったとき、QEMUが異常終了することがたびたびあった。HTT(ハイパースレッディング)をdisableしたところ、なんとなくましになった感じ。

ディスクイメージファイルを作成する

ディスクイメージファイルというのは、QEMUがエミュレートするパソコンにとっての、ハードディスクとして使われるものです。qemu-img.exeというコマンドを使って作成するのですが、これは、コマンドプロンプト上で実行します。

スタートメニューの[ファイル名を指定して実行]を選択し、「cmd」と入力し、コマンドプロンプトを実行し、qemuを展開したディレクトリへ移動します。ここでは、「C:\pub\qemu」としています。

イメージファイルの名前はfreebsd.img、サイズは4Gバイトとします。

C:\pub\qemu>qemu-img create -f qcow freebsd.img 4G
Formating 'freebsd.img', fmt=qcow, size=4194304 kB

qcow形式のイメージなので、いきなり4GBのファイルが作られるわけではありません。詳しくは、3.6.1 ディスクイメージの作成のクイックスタートを参照してください。

C:\pub\qemu>dir freebsd.img
ドライブ C のボリューム ラベルは XXXXXXX です
ボリューム シリアル番号は AAAA-BBBB です

C:\pub\qemu のディレクトリ

2005/06/15  21:22               16,432 freebsd.img
               1 個のファイル              16,432 バイト
               0 個のディレクトリ   3,620,438,016 バイトの空き領域

■FreeBSDのインストール用CDイメージファイルを入手する

このへんから、ダウンロードできます。

ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/
    5.4/5.4-RELEASE-i386-disc1.iso

これ1つだけでかまいません。ダウンロードしたら、QEMUをインストール(展開)したディレクトリに置いておきます。

QEMUを実行する
もともとある、qemu-win.batをベースにして、以下のような内容でqemu-freebsd.batという名前のバッチファイルを作成します。

REM Start qemu on windows.
@ECHO OFF

START qemu.exe -L . -m 128 -hda freebsd.img -enable-audio -localtime -cdrom 5.4-RELEASE-i386-disc1.iso -boot d

CLS
EXIT

意味は以下のとおり。

  • ハードディスクのイメージファイルを指定
  • CD-ROMのイメージファイルを指定
  • ブートドライブをD(CD-ROM)に指定

qemu-freebsd.batを実行すると、さささーと起動して、しばらくすると、FreeBSDのインストーラが起動します。

あとは、普通と同じようにインストールできます。私は、いつもCustomでインストールしています(それ以外を選んだことがない)。

qemu01

partitionの設定
スライスの設定です。とりあえず、使える分、すべてFreeBSDに割り当てます。たったの4Gバイトですから。

qemu02

Labelの設定
FreeBSDのパーティションは、swapとルートの2つだけでいいでしょう。ルートパーティションはSoft Updateがデフォルトでは無効にされているので、有効にしておきます。

qemu05

Distribution
そんなにたくさんいれる必要はありません。Customにして、base、dict、doc、games、info、manくらいあればいいでしょう。使わないのは、いれなくていいです。perlなんかも、あとで、最新のものをpackageからインストールすればいいでしょう。
X Window System(Xorg)はインストールしません。QEMUのなかで動かしても、苦痛でしょうから。あとで、CygwinのXサーバをインストールして使ったほうがましだと思います。Xorg関係の必要なものは(libraryとclientくらいか?)、あとで、packageで最新のものをインストールします。

Media
とうぜんCD-ROMを選びます。選択肢はCD/DVDです。

Commit
ディスクが初期化され(イメージファイルのディスクですよ)、ファイルのコピーがはじまります。エミュレータなので、ちょっと時間がかかります。
qemu13

ファイルのコピーが終わったら、最後の設定作業を行います。

Root Password
一応設定します。

User Management
普段ログインするユーザーを登録しておきます。
qemu18

Console
  Keymap
    Japanese 106など、適宜、設定しておきます。

Timezone
Is this machine's CMOS clock set to UTC?にはNoとする。
Asia、Japanを選ぶ。JSTでOK。

Mouse
Enable
動作確認。QEMUのウィンドウ内をクリックすると、キーボードとマウスがQEMUの管理下にはいります(とられてしまう)。QEMUの中で、マウスポインタが動くのを確認してください。
CtrlキーとAltキーの両方を押すと、マウスポインタがQEMUの外へでられるようになります。

この、QEMUに、キーボードとマウスをゆだねたり、とりもどしたりする方法を、ちゃんと覚えておいてください。

Network
  Interfaces
    QEMUがイーサネットインターフェイスをエミュレートします。ed0というインターフェイスとしてみえます。適当に設定しちゃいましょう。

Networkingを選択。
Interfacesを選択。
ed0を選択。
IPv6うんぬんはNoでよい。
DHCPうんぬんはYesを選択。QEMUがDHCPサーバもやってくれているのです。
数秒するとこんな画面になるので、HostとDomainを適当に決める。

qemu31

ほかには、sshdを有効にしておく。あとで、Windows上から、puttyなどのSSHクライアントを使ってログインできるようにするためです。

Startup
とくになし。デフォルトでOK。


Exit Installをえらんでおしまいです。

しばらくすると、再起動がはじまります。しばらくだまりこんだあと、急に、またCD-ROMから起動してインストーラが動き出してしまうので、インストーラが起動している途中で、QEMUを終了させます。×ボタンをクリック。

■FreeBSDを起動する

qemu-freebsd.bat中の、qemuを実行する部分を、以下のように書き換えます。

START qemu.exe -L . -m 128 -hda freebsd.img -enable-audio -localtime

qemu-freebsd.batを実行します。おお~こんな感じに。

qemu40

きた、きた。

qemu41
インストール直後の1回目だけ、こんなのがでるので、てきとうにキーボードをたたいて、Enterキーを押します。
qemu411

loginプロンプト、でます。

ネットワーク環境や、インストール時の設定によっては、ここまでたどりつかずに、途中で、だんまりになってしまうことがあるかもしれません。どう も、DNSの名前引きでひっかかっているらしいです。とりあえず、Ctrlキーを押しながらCキーを押し(Ctrl+C)、中断させて、次にすすませてく ださい。resolv.confを修正して、ネームサーバーを使わないようにしてしまいます。もっとも、DHCPを使っていると、毎回 resolv.confが作り直されてしまいます。/etc/以下のどこかのシェルスクリプトファイルを書き換えると、resolv.confを作るのを やめさせることができます(あんまり、いい方法じゃない。だれか美しい方法を教えて)。

qemu42

loginできます。
qemu43


今日はここまで。shutdown -p nowしておしまいにする。
qemu44

ほったらかしておくと、またブートしてしまうので、QEMUを終了させる。

■用語

  • ホストOS ・・・ QEMUが動いているOS。ここでは、Windowsが、ホストOSになる
  • ゲストOS ・・・ QEMUの中で動いているOS。ここでは、FreeBSDが、ゲストOSになる

■あとがき

QEMUが、けっこうおもしろいので、いろいろなネタを書き足していっています。
とりあえず、ココにまとめました。

そのあとも、どんどん追加しています。まとめ第2弾をいつかつくりますが、それまでは、左のgoogleで検索してください。


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。