Virtual PC 2004に、いつものように、FreeBSDをインストールしてみました。
Virtual PC 2004のインストールから、仮想マシン(バーチャルマシン)のセットアップまでは、こちらを参考にしてください。
■ FreeBSD 6.1-STABLE snapshots 200607
STABLEというのは、単語の意味としては「安定している」ってことなんですが、ここでは、ブランチ、つまりソフトウェア開発の系統につけられた、単なる名前のことで、別にこのOSの動作は安定していますよ、という意味ではありません。FreeBSDのブランチには、大きく分けて2つあります。活発に開発作業が進められていて新機能が次々に実装されていく「CURRENT」と、CURRRENTにて完成度が十分高まったと思われる機能が採用されていく、リリースバージョン(6.1-RELEASEなど)用に開発作業が進められていく「STABLE」です。どちらも、日々刻々とソースコードの変更が行われていくものなので、バージョン番号で特定はできなくて、何日の何時ころチェックアウトしたソースからビルドしたか、でバージョンを区別したりします。
リリースは、何ヶ月かに1度くらいの割合でしか行われないので、新しいハードウェアへの対応や、新機能の追加、不具合の修正が、STABLEやCURRENTの側で行われていたとしても、リリースバージョンがでるまでの期間待たされてしまう、というのももどかしいです。そのためか、最近では、「snapshots」というものがFTPサイトにアップロードされるようになっています。
たとえば、先週末あたりから、2006年7月のsnapshotsがダウンロードできるようになっています。たとえばこのへんから:
ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/200607/
ダウンロードできるのは、CD-ROMのイメージファイルになっています。
バージョン6系統の「6.1-STABLE」、バージョン7となる予定の「7.0-CURRENT」があります。また、Pentium4やAthlonなどのi386アーキテクチャ以外にも、amd64(x86_64とかとも呼ばれる)やsparc64、ia64(見たことないよ・・・)などもあります。
ただ、これは、十分な動作検証が行われた上でリリースされたものではないと思われるので、不具合がある可能性もあります。でも、これまでの経験では、STABLEブランチの場合、CVSUPで任意のタイミングでチェックアウトしたものを使って、それほど痛い目にあったこともないので、たいていはRELEASEはインストールせずに、その時点で最新のSTABLEをインストールしています。
今回は、Virtual PC 2004に、現時点で最新の、2006年7月のsnapshotsをインストールしてみました。
● CD-ROMイメージファイルのダウンロード
たとえば、このあたりから、ISO形式のCD-ROMイメージファイルをダウンロードできます。
ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/200607/6.1-STABLE-200607-i386-disc1.iso
サイズは約404MBあります。disc1のほうだけあれば最低限のインストールはできますので、disc2はいりません。
ファイルサイズの小さいbootonlyのほうを使っても、インストーラは起動します。そのため、ネットワークからファイルをダウンロードしながらインストールできそうなんですが、あいにくFTPサーバのほうに、ネットワークインストール用ファイルがおかれていないようで、やってみても「Can't find the `6.1-STABLE-200607' distribution on this FTP server」と言われてしまい、インストールできませんでした。RELEASEバージョンならbootonlyだけでネットワークインストールができるんですけどねぇ。
■ インストール
まずは、Virtual PC 2004で、仮想マシン(バーチャルマシン)を実行します。仮想マシンをセットアップするまでの話はこちら。
Virtual PC コンソールで、仮想マシンを選んでから、[起動]ボタンをクリックします。
ちなみに、仮想マシンが実行中の間は、Virtual PC コンソールの四角い絵の部分に、仮想マシンの画面が縮小表示されます。
BIOSの初期化画面などが表示されます。
しかし、すぐに、
Reboot and Select proper Boot device
or Insert Boot Media in selected Boot Device
と表示されます。これは、まだなにもOSをインストールしていないためで、起動するOSがねーよ、といってるわけです。
先ほどダウンロードしたISO形式のCD-ROMイメージファイルを使って、仮想マシンを起動させるようにします。CD-Rを焼く必要はありません。
[CD]メニューの[ISOイメージをキャプチャ]を選び、ダウンロードしたファイル6.1-STABLE-200607-i386-disc1.isoを指定します。ちなみに[物理ドライブの使用]を選べば、パソコンについているCD-ROMドライブがそのまま利用されるようになるので、本物のCD-ROMをドライブに入れて、そのCD-ROMで仮想マシンを起動させることができます。
そして、仮想マシンのウィンドウで、Enterキーなど何かのキーを押すか、または[操作]メニューの[リセット]を選ぶかすれば、CD-ROMから仮想マシンが起動します。
FreeBSDのブート時のメニューが表示されます。
まず、Country Selectionという画面になります。
Japanは、ずっと上の方の110番にありました(6.1-RELEASEのときは108番だったような?)。上向きの矢印のキーや、PageUpキーでスクロールして、「110 Japan」を選択してから、Enterキーを押します。
キーボードの配列を選びます。日本語キーボードを使っているなら、「Japanese 106」を選びます。
sysinstallを使って、OSを新規インストールしていきます。FreeBSDのインストール方法は、もう何年も前からほとんど変わっていないので、1度でもやったことがある人は、ぜんぜん楽勝でしょう。仮想マシンにインストールするのなら、失敗しても、何度でも気軽にやりなおせます(仮想マシンを消して、新しい仮想マシンを作ればいいのでね)。
ちなみに、FreeBSDをインストールする話は、これまで何度もやってて、探してみたら、こんなにありました。でも新規にインストールするのは、久しぶりかな?
私のいつもやり方は、まず、「Custom」を選択します。
次に「Partition」を選びます。
FDISK Partition Editorという画面になるので、ここでディスクのパーティション(FreeBSDだとスライスと呼ぶこともある)を設定します。
[C]キー(Create Slice)を押して、FreeBSDに割り当てるパーティションサイズを指定します。仮想マシンで、わざわざ1台のディスクをパーティションで分割して、複数のOSをインストールする必要もないので(複数のOSを使いたいのなら、仮想マシンを複数用意すればよい)、ディスクの全領域をFreeBSDに割り当てることにして、最初に表示されていた数字のままで、そのまま[Enter]キーを押して[OK]とします。
パーティションのタイプを指定します。これも、最初に表示されていた「165」のままにします。
↑↓のカーソルキーで、今作成したパーティション(Descにfreebsdと表示されている行)を選んでから、[S]キーを押して、Set Bootableにします。右端のFlagsの列に、Aと表示されます。
[Q]キーで終了します。
すると、Boot Managerをインストールするかと聞かれてきます。これは、複数のOSをインストールしない場合は無くてもかまわないので、インストールしないことにして、「Standard」を選びます。
実はこれまで私はいつも「None」を選んでいたのですが、今回の場合、なぜか「None」を選ぶと、FreeBSDインストール終了後、リセットしてもぜんぜんFreeBSDが起動してくれませんでした。FreeBSDのインストーラの仕様が変わったのかもしれませんし、そもそもVirtual PCで新規作成した仮想ディスクには、MBRにブートローダのコードが記録されていない、とかいうことかもしれません。
パーティションの設定が終わったので、今度は「Label」を選びます。
FreeBSD Disklabel Editorという画面になります。ここは、FreeBSDの中でのパーティションの設定を行います。
とりあえずですが、スワップパーティションに512MBを割り当て、残り全部をルート(/)パーティションとすることにしました。サイズ計算が面倒なので、先にスワップから割り当てます。
- 「Disk: ad0」の行が青く表示された選択状態になっているときに、「C」キーを押します。
- パーティションのサイズを指定します。最初に表示されていた数字を消して、「512M」と入力します。
- パーティションのタイプを指定します。スワップパーティションにするために、「Swap」を選びます。
- 先ほどと同様に、「Disk: ad0」の行が青く表示された選択状態になっているときに、「C」キーを押します。
- パーティションのサイズを指定します。残り領域すべてを割り当てるために、最初に表示されていた数字のままで、Enterキーを押します。
- パーティションのタイプを指定します。今度は「FS」を選びます。
- マウント先を指定します。ルートパーティションなので「/」と入力します。
- ルートパーティションに対して、SoftUpdatesを有効にします。↑↓のカーソルキーで「ad0s1a /」の行が青く表示された選択状態にしておいてから、「S」キーを押します。「UFS2」という表示が「UFS2+S」へ変化します。
以上で、こんな感じになります。確認したら、「Q」キーを押します。
以上で、FreeBSDパーティションの設定は完了です。
今度は、インストールするものを選びます。「Distributions」を選んだあと、↓カーソルキーで一番下へ移動してから、「Custom」を選択します。ユーザーのタイプにあわせて、あらかじめレシピが用意されているのですが、いったい何が入るのかじっくり見ていくのがめんどくさいので、私は、いつもCustomにして、自分で選ぶようにしています。
カーソルキーでインストールしたいものの行を選択してから、スペースキーを押して、Xマークをつけていきます。
私の場合はいつも、base、dict、doc、games、info、manをインストールします。さらに、最近のFreeBSDでは、kernelsも必ずインストールしなければなりません。CPUが1個の場合用のカーネルと、複数個用のカーネル(SMPカーネル)の、どちらかをインストールするか、選べるようになっています。
kernelsを選ぶと、別画面が表示されるので、そこで、「GENERIC」を選びます(厳密にいえば、これはユニ(単一)プロセッサ用のGENERICカーネルで、もう1つは、SMP用のGENERICカーネルなので、どっちもGENERICといやぁGENERICなんですね)。
ちなみに、両方ともインストールすると、/boot/kernel/* にSMPカーネルがインストールされ、/boot/GENERIC/*がプロセッサ1個の場合用のカーネルがインストールされていました。普通にブートすると、SMPカーネルのほうがブートします。ブート時のメニューでどのカーネルから起動するかを選んだりする機能は、今のところ見当たりませんでしたが、コマンドラインで操作するモードに抜けたあと、unload、boot /boot/GENERIC/kernelとかやれば、ブートするカーネルを切り替えられます。
インストールするものは、こんな感じになりました。ちなみに、OSをインストールしたあとからでも、sysinstallコマンドを実行すれば、追加でインストールできます。
「Media」を選びます。CDからインストールするので、「CD/DVD」をインストールします。前述のように、snapshot版の場合、現時点では、FTPサイトでファイルが配布されていないため、FTPインストールはできませんでした。
以上で、FreeBSDをインストールするためのオプション指定はすべておしまいです。「Commit」を選んで、実際にインストール作業を開始してもいいよ、とインストーラに指示します。
本当にインストールを開始していいのか、確認メッセージが表示されるので、[Yes]を選びます。
あとは、勝手にインストール作業が行われていくので、画面を眺めているだけです。
ファイルシステムが作成されたり・・・
ファイルがハードディスクにコピーされたり・・・
しばらくしてファイルのコピーが終わると、さらに設定作業を行うか聞かれます。インストール後の設定を行うために、[Yes]を選びます。ちなみに、今ここでしか設定できないわけではなくて、インストールしたOSで起動したあとでも、そのOS上でsysinstallコマンドを実行して「Configure」を選べば、同じことができます。
なにはともあれ、「Root Password」を選んで、rootアカウントのパスワードを設定します。
登録したいパスワードを、2回、入力します。
rootアカウント以外の、通常利用するためのアカウントを登録します。「User Management」を選びます。そして「User」を選びます。
こんな感じで、新規登録するユーザーアカウントの情報を設定します。
登録完了後は、Exitを選んで、ユーザー登録の画面を終了します。
「Time Zone」を選びます。パソコン内蔵の時計の時刻がUTC(Coordinated Universal TIme。協定世界時という、世界で標準の時刻のこと。グリニッジ標準時=GMTとだいたい同じ。ところでなんでCUTじゃないんだろう?別の意味のCUTがすでにあるのかな)にあわせられていますか?と聞かれているのですが、普通は、そうはなっていなくて、国ごと地域ごとの時刻にあわせられています。なので、[No]を選びます。
「Asia」を選びます。
「Japan」を選びます。
それってJST?って聞いてくるので[Yes]を選びます。JSTは、Japan Standard Timeの略で、日本標準時のことです。JSTは、UTCよりも9時間すすんでいます。
ネットワークの設定をします。「Networking」を選びます。
「Interfaces」を選択した状態で、スペースキーを押します。
Virtual PCでエミュレーションされるNIC(ネットワーク・インターフェイス・カード。イーサネットなどのこと)は、「de0」になるようです。というわけで、de0を選択します。
IPv6 configurationする?と聞かれるので、「No」と答えます(笑)。
DHCPで設定する?と聞かれます。
DHCPサーバがある環境では、「Yes」と答えるといいかもしれません。
デフォルトの設定では、Virtual PCでエミュレートされるNICは、ブリッジ接続になっています。つまり、ホストOSが走っているパソコンが接続しているのと同じネットワークに、そのまま接続される感じになっていて、NATにはなっていません。Virtual PCでNATを試したことはないのですが、Virtual PCコンソールで[設定]ボタンを押して、「ネットワーク」を選択し、右の「アダプタ」のところのリストボックスを見ると、一応、NATが選べるようにはなっています。
ホスト名、ドメイン名、IPアドレスなどを指定します。
次は、Mailサーバの設定などをしてみますか。「Mail」を選択します。
最近はセキュリティ対策をきちんとしろ!とうるさく言われるようになっていて、使ってもいないネットワークサービスは起動しないようにすべき、とされています。このFreeBSDで、LANやインターネットからメールを受信する必要がない場合、「Sendmail local」を選びます。このようにしても、一応sendmailは実行されます。ただし、ネットワーク側からのメール送信を受け付けなくなり、ローカルホスト内で送信されるメールのみ、受信されます。
すべての設定作業がすんだら、「Exit」を何度か選び、sysinstallの最上位のメニュー画面まで戻ります。そして、「Exit Install」を選びます。
終了確認メッセージが表示されます。再起動するのでCDを抜きなさいと言われるています。
Virtual PCの仮想マシンでCD(といっても仮想的なCD)を取り出すには、[CD]メニューの中にある[○○○○○を開放する]を選びます。
これで、インストール作業はおしまい。
Virtual PCの仮想マシンで、FreeBSDが起動中・・・
■ 2006年8月2日追記
なかなか時間がとれなくて、ほとんどVirtual PC上のFreeBSDは動かしていないのですが、時間が狂いまくりますね。VMware PlayerでFreeBSD 6を動かしたときのように、少し設定を加えてみたりしましたが、一向に改善されません。
昔、Virtual PCでFreeBSDを動かしたときは、たしかFreeBSDのバージョンが5.xだったはずなので、今でも、5.5-RELEASEとか5-STABLEなら、時計まわりは大丈夫かもしれません。
最近FreeBSDのstableとかcurrentのメーリングリストを流し読みしたときに、VMwareなどの仮想マシンではないのですが、やっぱりcalcru: runtime went backwards問題がでてました。
あれれ、6.1のtodoリストにもあがってますね。
http://www.freebsd.org/releases/6.1R/todo.html
ということは、FreeBSD6のカーネルの問題か。