FreeBSD 5.5 on windows

Last Update: 2007/05/03
For FreeBSD 5.5+windows XP


VMware Player+QEMU+FreeBSD5.5

無料のVMware PlayerとQEMUを使いwindodws上でFreeBSDを試してみようという試み。
ネットワークに接続されていることが前提です。
すべて無料のものを使う。

VMware Playerを使うことのメリットとデメリット
[メリット]
無料で仮想OSとして別のOSが扱える 。

[デメリット]
他のFreeBSDができるcygwinとかと比べるとアプリケーションがメモリを喰う(= そこそこのスペックが必要)
インストールすると目に見えない形でサービスが働く
スタート→ファイル名を指定して実行→msconfig →サービスタブ→Micosoft以外のサービスをすべて隠す。
01.jpg

VMware Virtula Mount Manager
VMware NAT Service
VMware DHCP Service
VMware Authorization Service
この4つがVMware Playerをインストールすると追加される物である。

VMware PlayerとQEMUをインストールし仮想PCのDisckを作る

VMware Playerのダウンロード
http://www.vmware.com/download/player/
こっからダウンロードするんだけどなんか色々アンケートを取ってくる。
答えたくない人ようにアンケートに答えた先のURLも書いときます。
http://www.vmware.com/download/player/download.html

今回は執筆時の最新verの下記の物を使います。
http://download3.vmware.com/software/vmplayer/VMware-player-1.0.4-44386.exe

インストールの方法についてちまちま説明していると長くなるので個人的に気になった所だけ書きます。
02.jpg

Google searchbarをイントールするかどうか聞いてくる。デフォルトではチェックが入っています。
俺はイントールする気は無いのでチェックを外した。
03.jpg
アイコンの作成する場所について。俺はDesktopのみにした。

QEMUのダウンロードとイントール
QEMU on Windows
http://www.h7.dion.ne.jp/~qemu-win/index-ja.html
上記のサイトより下記の物をダウンロードする。
qemu-0.9.0-windows.zip
 展開したフォルダのqemu-img.exeをコマンドプロンプトで実行し、仮想PCのDiskを 作成します。
qemu-img create -f vmdk g:\wmware\freebsd5.5.vmdk 8G
赤字の部分は各人の環境に置いて変えること
今回のようにG:\wmwareに置こうとした場合事前にwmwareというフォルダを作っておかないとエラーになります。
今回はG:\wmwareというフォルダの中に8Gのfreebsd5.5.vmdkファイルを作った。
04.jpg

ちなみに余談だが、今回の場合仮想PCのDisckとして8G確保したがいっきにズドォーンと8Gとられるわけではなく
ディスクを使うごとにだんだん大きくなっていきます。後々設定を変更するのはメンドウなのでケチらずに多めに設定して下さい。
これは多少初歩的なコマンドプロンプトのコマンドが必要になるのでその辺は分からなかったら検索して調べること。

下記のように表示される場合は間違っているという意味なのでよく見直してください。
フォルダーが必要な場合フォルダーは作ってありますか?
ちゃんと上の書いた通りになっていますか?

qemu-img version 0.9.0, Copyright (c) 2004-2007 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility

Command syntax:
  create [-e] [-b base_image] [-f fmt] filename [size]
  commit [-f fmt] filename
  convert [-c] [-e] [-f fmt] filename [-O output_fmt] output_filename
  info [-f fmt] filename

Command parameters:
  'filename' is a disk image filename
  'base_image' is the read-only disk image which is used as base for a copy on
    write image; the copy on write image only stores the modified data
  'fmt' is the disk image format. It is guessed automatically in most cases
  'size' is the disk image size in kilobytes. Optional suffixes 'M' (megabyte)
    and 'G' (gigabyte) are supported
  'output_filename' is the destination disk image filename
  'output_fmt' is the destination format
  '-c' indicates that target image must be compressed (qcow format only)
  '-e' indicates that the target image must be encrypted (qcow format only)

Supported format: qcow2 vvfat vpc bochs dmg cloop vmdk qcow host_device raw


freebsd5.5.vmdkを置いた場所に設定ファイルであるfreebsd.vmdk を作ります。

config.version = "8"
virtualHW.version = "4"

uuid.action = "create"
checkpoint.vmState = "freebsd5.5.vmss"

displayName = "FreeBSD 5.5"
annotation = "freebsd5.5.vmss"
guestinfo.vmware.product.long = "FreeBSD 5.5"
guestinfo.vmware.product.url = ""

guestOS = "freebsd"
numvcpus = "1"
memsize = "128"
paevm = "FALSE"
sched.mem.pshare.enable = "TRUE"
MemAllowAutoScaleDown = "FALSE"

MemTrimRate = "-1"

nvram = "nvram"

mks.enable3d = "FALSE"
vmmouse.present = "TRUE"

tools.syncTime = "TRUE"
tools.remindInstall = "TRUE"

isolation.tools.hgfs.disable = "FALSE"
isolation.tools.dnd.disable = "FALSE"
isolation.tools.copy.enable = "TRUE"
isolation.tools.paste.enabled = "TRUE"
gui.restricted = "FALSE"

ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:d3:67:20"
ethernet0.generatedAddressOffset = "0"

usb.present = "TRUE"
usb.generic.autoconnect = "FALSE"

sound.present = "TRUE"
sound.virtualdev = "es1371"

ide0:0.present = "TRUE"
ide0:0.fileName = "freebsd5.5.vmdk"
ide0:0.deviceType = "disk"
ide0:0.mode = "persistent"
ide0:0.redo = ""
ide0:0.writeThrough = "TRUE"
ide0:0.startConnected = "TRUE"

ide0:1.present = "TRUE"
ide0:1.fileName = "G:\5.5-RELEASE-i386-disc1.iso"
ide0:1.deviceType = "cdrom-image"
ide0:1.autodetect = "FALSE"
ide0:1.startConnected = "TRUE"

赤文字で表示されているところは個人の環境によって変える所です。

#VMware Playerが使うメモリの量を決める
memsize = "128"
メモリが512Mほどしか無い場合には使うメモリサイズを128Mにしたほうがいいです。
俺のマシンは512Mしか無いので128Mにした。

#起動するDisck名の設定
ide0:0.fileName = "freebsd5.5.vmdk"
さっきのコマンドプロントでファイル名を変えた場合にはココも変える。

#VMware Playerに表示される名前の設定
displayName = "FreeBSD 5.5"
05.jpg

#InstallするISOの場所のフルパス
ide1:0.fileName = "G:\5.5-RELEASE-i386-disc1.iso"
今回はFreeBSD5.5をInstallする。
5.5-RELEASE-i386-disc1.isoは以下の所でダウロードすること
ftp://ftp.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/5.5/
36.jpg


[余談]
uuid.locationとuuid.biosを設定しているファイルが稀にあるがuuid.action = "create"と指定すれば初回起動時に自動的に作成されるので必要ない。
上記の以外の設定についてはhttp://slashdot.jp/~shesee/journal/や自分で検索して調べてください。
また、いくつかの質問に答えるだけでコンフィグファイルを自動生成してくれるVM Builderというサイトがあります。 

結構うまく起動しないという場合にはこのコンフィグレーションファイルと格闘して下さい。
上のコンフィグレーションファイルがあんなに長いのは自動作成ツールで吐いた奴を参考にしているからだったりする。

FreeBSD5.5のInstall

今回はCustomInstall方法を説明します。

ISOイメージを使う場合、plamo.vmxの次の部分を変更します。
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
と書かれている部分を変更します。ISOイメージのフルパスを指定。
ide1:0.fileName = "g:\5.5-RC1-i386-bootonly.iso"
ide1:0.deviceType = "cdrom-image"


freebsd5.5.vmxをダブルクリックして起動させる
37.jpg
そしたら、こんな画面になると思うのでこの時にEscを一回連打する。(決して連打してはいけない)

s_38.jpg
もし失敗してこんな真っ黒な画面になったら仮想PC内でCtrl+Alt+Insertキーを押して仮想PCを再起動させる

38.jpg
こんな風になると思います。起動する場所を聞かれているのでCD-ROM Driveを選択して[Enter]を押す。

うまく行くとCDからのBootを開始する。
06.jpg

s_44.jpg上の画面の次にこれがでる。FreeBSDのマスコットキャラのデーモン君を拝める。

07.jpg
この画面になったらCustomを選択する。
「↓」や「↑」キーで上下の項目の移動、Enterでその項目へ入る(=決定)

08.jpg

Partitionを選択
12.jpg

Cを押す。下の2つ画面がでるが両方とも[OK]を押す。
09.jpg 10.jpg

ここのPartitionの設定は終わったので「q」を押してFinishさせる。
11.jpg
Boot ManagerのInstallするかどうか聞かれる。
本来は他のOSと両立するDual Bootのために入れるだけでいいのだが
今回はこれを入れないと上手く起動してくれないので BootMgrをInstallする
BootMgrを選択して[OK]を押す

13.jpg

次にLabelを設定するためにLabelの項目に行く。
Labelの項目に行くとこんな感じになると思います。
14.jpg

Cを押す。
15.jpg
まず最初にSwapと言ってメモリが足りない場合に使うHDDの場所のサイズを決める。
これは先ほど設定したメモリ(リアルマシンだと物理メモリ)の2倍が望ましい。
#VMware Playerが使うメモリの量を決める
memsize = "128"
俺の場合は128Mに設定したいたので、今回はこれの2倍の256Mにした。
128x2=256
16.jpg
そしてSwapファイルとして使うように設定する。

17.jpg
こんな画面になっていればSwapの作成は成功です。

次にSwap以外のすべてのHDD領域をデータを置く場所にします。
Cを押す。
18.jpg
残っているHDDの領域をすべてデータを置く領域にする。

19.jpg

FS A File systemを選択。
20.jpg
/ (root)にする。
21.jpg
以下のようになれば成功です。
「q」を押してFinishする。

22.jpg
次にDistributionsと言ってInstallする物を決めます。

23.jpg
今回はDeveloperとKern-Developerを選択。SpaceかEnterで決定する。
[OK]を押してここの設定を終了する。
39.jpg
DeveloperとKern-Developerを選択するとその後にこんな画面が出ると思う。
これはportをInstallしますかって聞かれている。
portってのは簡単にソフトウエアーをInstallできる物で結構便利なので入れる。
[YES]を選択する。
DeveloperとKern-Developerを選択したら一番上のExitを選択してこの項目を終了する。

24.jpg
次にどいう方法でInstallかについて設定します。

25.jpg
今回はネットワーク(FTP経由)でInstallしないでCDからInstallするので一番上の
CD/DVD Install from a FreeBSD CD/DVDを選択する。

次は以下で設定した方法でInstallを開始するCommitを選択する。
34.jpg

35.jpg
マジでいいの?あんたのHDDのデータ全部消えちゃうよ!!
とか言ってくるけどためらわずに[YES]を選択する。

40.jpg
うまくいけばこのよになりInstallが始まります。
ちょっと長いので気長に待ちましょう。

Install後の設定をする

Install後これと同じことはRootで/stand/sysInstallでできます。
FreeBSD5.5だとここでKeymapでJapanese 106を選択しておかないと再起動後英語キボードだと勝手に思い込まれ直すのにかなり苦労します。
41.jpg
無事Installが終わると
他の項目を設定するとか聞いてくる
[YES]を選択する。

42.jpg
まず、Root Passwordを選択する。
RootといってさきほどInstallしたPC内ので最高権限を持つuserのパスワードを決めるのである。

43.jpg
2回同じパスワードを入力する。ちなみにパスワードを入力しても****みたいな文字は出ないので入力されなないと誤解しないように。

44.jpg
次はConsoleの設定をする。

45.jpg
Keymapを選択してキボードのタイプの設定をする。

46.jpg
ちょっと下にあるJapanes 106を選択する。それが終わったらExitを押してConsoleの設定を終わりにする。

47.jpg
次はTimeZoneの設定

48.jpg
UTC(世界協定時)にするか聞いてくる。[NO]を選択する。

49.jpg
50.jpg
AsiaのJapanを選択する。

51.jpg
もう一回本当にいいのか聞いてくるので[YES]を選択する。

これでInstall後の設定は終了したのでExit→Exit→Exit Installを選択してInstallを終了する。
s_52.jpg
s_53.jpg
s_54.jpg

55.jpg
マジでいいの?FDとかCD/DVDあるなら抜いといてねとか言ってくる。
[YES]を選択する。
リアルマシンならこの時にFDとかCDを抜くのだが今回は必要ない。(なんというか付けたままでも問題が無いし・・・

56.jpg
再起動するとこんな感じ。F1を押せばFreeBSDが起動します。ほっておいても勝手に起動するけど。

57.jpg
ドライバとかの読み込みが完了してlogin画面になった所。
え!?あの味気のない画面はInstallの時だけなかったのかって?
FreeBSDの場合だとInstall後も味気ないですよ。多分あなたがX-window sytemとか入れない限りこの白と黒の画面は変わらないと思います。

rootloginするには以下を入力
login: root
passwd:先ほど設定したRoot passwd

Host名とかの設定(つまるところネットワーク設定)

前の項目で力いれまくって書いたので疲れました。この項目からは必要なことだけ書きます。(=手抜き
rootでloginして
# /stand/sysInstall
#はRootで実行するという意味なので打つ必要はない。
Confirure →Networking → Interfaces
27.jpg

28.jpg
IPv6にするか? しねぇ〜 なので[NO]を選択

29.jpg
DHCPを使いますか? これを使うと後の設定が多少楽になるので[YES] を選択

58.jpg
Bridgedでなっていればこんな画面になると思う。
(今回作成した設定ファイルを使えばデフォルトでbridgeのはずですが、うっかり押してしまいやすい位置にボタンがあるので要注意です)
といってもIPv4 GatewayとName serverは今回の場合はルータになるので各個人の家によって違うし
IPv4 Addressは今回はたまたま192.168.1.7が空いていたからDHCPがそれを指定だけで大して参考にならないと思った。

とりあえず参考までにNATとHost onlyの場合の画面をおいて置きます。
s_30.jpg←NAT s_59.jpg←Host only
左がNAT 右がHost onlyで接続した場合

59.jpg
Host名はbsdという名前にしたそれ以外はデフォルトを使用した。

[Tab]をつかって項目の移動
[OK]を押して設定完了。あとはExitとかを押してこのこいつを終了させる。
60.jpg

この画面になったら、
#shutdown -h now
を入力して再起動させる。

61.jpg
こうなれば成功と。