FreeBSD のインストール CD は4000円程度で売られている。 また、雑誌のオマケや初心者向けガイド本などに添付されているものを使うこともできる。 しかし、FreeBSD はオープンソースであり、すべてのファイルはインターネット上で公開されている。 CD-R を所有している人なら誰でも、必要なファイルをダウンロードしてインストール CD を作ることができる。 CD が市販され、店頭に並ぶのを待つまでもなく、インストール CD を手にいれることができるのである。
このようなインストール CD を作成するには、いくつかの問題をクリアしなければならない。 第一にどうやって焼くかという問題。 最近の CD-R ドライブは価格も下がって入手しやすいが、多くは Windows 用にできていて、FreeBSD マシンでは使いづらい面がある。 そこでここでは、CD イメージファイルを作成して Windows マシンで焼く手順を紹介する。 FreeBSD などから直接焼く方法については、他ページなどを参考にしてほしい。
第二の問題はフォーマットだ。 CD の物理フォーマットには様々な種類があるが、基本的に Unix のファイルシステムに適合したフォーマットで焼かなければならない。 これは Windows のロングファイル名などとは異なるフォーマットなので、 うっかり Windows フォーマットで焼いてしまうとファイル名が変わってしまったり、 まったく読めなかったりする。 ここでは、Unix フォーマットに準じた CD イメージの作成方法と、チェックについても説明する。
インストール CD 作成に必要なファイルは、しかるべき ftp サイトで公開されている。 たとえば ftp.freebsd.org のようなオフィシャルサイトや、そのミラーサイトなどだ。 自分の環境に合わせて、もっとも便利なサイトを選んでほしい。 必要なファイルのほとんどは、/pub/FreeBSD/releases/i386/3.3-RELEASE にある。 リストを示そう。
-rw-r--r-- 1 root wheel 9604 Sep 16 11:00 ABOUT.TXT -rw-r--r-- 1 root wheel 3071 Oct 2 06:45 ERRATA.TXT -rw-r--r-- 1 root wheel 26308 Sep 16 11:00 HARDWARE.TXT -rw-r--r-- 1 root wheel 24538 Sep 16 11:00 INSTALL.TXT -rw-r--r-- 1 root wheel 4736 Sep 16 11:00 LAYOUT.TXT -rw-r--r-- 1 root wheel 3713 Sep 16 11:00 README.TXT -rw-r--r-- 1 root wheel 23696 Sep 16 11:00 RELNOTES.TXT -rw-r--r-- 1 root wheel 16811 Sep 16 11:00 TROUBLE.TXT -rw-r--r-- 1 root wheel 7887 Sep 16 11:00 UPGRADE.TXT drwxr-xr-x 4 root wheel 1024 Sep 17 20:09 XF86335 drwxr-xr-x 2 root wheel 2048 Sep 18 15:27 bin drwxr-xr-x 2 root wheel 512 Sep 17 21:06 catpages -rw-r--r-- 1 root wheel 25 Sep 16 10:31 cdrom.inf drwxr-xr-x 2 root wheel 512 Sep 17 21:07 compat1x drwxr-xr-x 2 root wheel 512 Sep 17 21:08 compat20 drwxr-xr-x 2 root wheel 512 Sep 17 21:09 compat21 drwxr-xr-x 2 root wheel 512 Sep 17 21:12 compat22 drwxr-xr-x 2 root wheel 512 Sep 18 15:10 des drwxr-xr-x 2 root wheel 512 Sep 17 21:21 dict drwxr-xr-x 2 root wheel 1024 Sep 17 21:34 doc drwxr-xr-x 3 root wheel 512 Sep 17 21:48 floppies drwxr-xr-x 2 root wheel 512 Sep 17 22:05 games drwxr-xr-x 2 root wheel 512 Sep 17 22:09 info drwxr-xr-x 2 root wheel 1024 Sep 17 22:19 manpages lrwxrwxrwx 1 root wheel 40 Sep 17 22:19 packages -> ../../../ports/i386/pa ckages-3.3-release drwxr-xr-x 2 root wheel 512 Sep 17 22:33 ports drwxr-xr-x 2 root wheel 512 Sep 17 22:37 proflibs drwxr-xr-x 2 root wheel 4608 Sep 18 00:19 src lrwxrwxrwx 1 root wheel 14 Sep 18 00:19 tools -> ../../../tools
これらのファイルを、ディレクトリ構造を保持したままダウンロードしなければならない。 自分の環境に合わせて、なんとかダウンロードすること。
CD イメージファイルを作成するには、mkisofs コマンドを使う。 これは ports にも入っている便利なプログラムだ。 特別にカスタマイズの必要はないので、ports でさっさとインストールすればよい。 mkisofs は、様々なタイプの CD イメージを作成することができるが、 ここでは特に Unix フォーマットに限定した使い方を説明する。
mkisofs の基本的な形式は次の通りだ。
mkisofs -o outfile directory
-o オプションに続けて指定した outfile が、出力結果を収めたイメージファイルとなる。
directory は、CD に焼いたときのルートディレクトリとなるべきディレクトリを指定する。
他のオプションは次のようなものがある。
mkisofs には、他にもたくさんのオプションが用意されているので、自分で調べてみてほしい。 RockRidge フォーマットは Windows でも読めるので、下手な Joliet フォーマットよりずっと汎用性のある CD が焼ける… かもしれない。 FreeBSD のインストール CD を焼く場合なら、次のように指定する。 ここでは、カレントディレクトリにある 3.3-RELEASE ディレクトリに、先ほどダウンロードしてきたファイルがすべて格納されていると仮定する。
# mkisofs -a -b floppies/boot.flp -d -D -N -r -V 'FREEBSD3.3R' -o fbsd33r.iso 3.3-RELEASE
-b で指定するファイルは、3.3-RELEASE ディレクトリからの相対パスであることを忘れないこと。 見つからないとエラーになる。 もし異常がなければ、30秒ほどでイメージファイルが生成されるはずだ。
FreeBSD では、できあがった CD イメージを仮想デバイスとしてマウントすることができる。 vnconfig コマンドを使えばよい。 vnconfig を使うにはカーネルのコンフィギュレーションで vn デバイスを使えるようにしておかなければならない。 具体的には、コンフィギュレーションファイルに次の行を追加し、カーネルをリコンフィグする。
pseudo-device vn 4
vn デバイスが使える状態にしたら、次の手順でイメージファイルをマウントする。
これで /cdrom にアクセスすると、イメージファイルを CD に焼いた場合と同じ環境でアクセスできるようになる。 ファイルを切り放す手順は次の通りだ。
# umount /dev/vn0 # vnconfig -u /dev/vn0
最初に述べたが、最近は Windows でお手軽に焼く環境が整っているので、そちらを利用するとよい。 イメージファイルからの焼き込み機能は、どんなにショボいソフトでもあるはずなので、それを使って焼くようにする。
FreeBSD.org はオフィシャルの CD イメージファイルも配布している。 このファイルは 650MB もあって大変なサイズだが、mkisofs を使ってどうのこうのとやる手間が省ける利点もある。 ftp.freebsd.org または適当なミラーサイトから、次のパス名でアクセスできるはずだ。
現時点では、3.3-RELEASE の CD イメージはリリースされていない。 理由はよく知らない。
/pub/FreeBSD/development/3.2-express/CD-image.iso
以上の手順でブート可能な CD を作成できるわけだが、一部のマシンでは CD-ROM ドライブからのブート機能を備えていないものもある。 そういうときは、ブート FD を別に作成し、そこからブートしなければならない。 その種のブート FD 作成方法は、しかるべき書籍を当たれば載っていると思うので、ここでは省略する。