前書き
9.1-RELEASEにはVirtIO関連のカーネルモジュールは入っておらず、mfsBSDを使う場合にはMakefileをいじったりVirtIOのソースコードを組み込んだりしてからビルドする必要があります。
9-STABLEにはカーネルモジュールとして入っているので、mfsBSDを9-STABLEベースでビルドできたらいいなぁと思ったらわりとあっさり作れちゃったのでメモします。
材料
- 作業場となる稼働中のFreeBSD
- mfsBSDのソースコード
https://github.com/mmatuska/mfsbsd (Download ZIPからダウンロード) - FreeBSD 9-STABLEのスナップショットからbase.txzとkernel.txz
http://ftp2.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/9.1-STABLE/ (数日ごとに更新される様子。ftp.jp.freebsd.orgとかだとちょっと古い傾向があります)
手順
- まず、作業場となるFreeBSDにログインし、rootになります。
- svnupなどを使用して、9-STABLEのソースコードを最新の状態にします。
- 材料のmfsBSDのソースコードとFreeBSD 9-STABLEのスナップショットをダウンロードします。
- mfsBSDのソースコードを展開し、mfsBSDをビルドします。
# pwd
/root
# svnup stable ...(2)
# fetch https://github.com/mmatuska/mfsbsd/archive/master.zip
# mkdir snapshots
# cd snapshots
# fetch http://ftp2.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/9.1-STABLE/base.txz
# fetch http://ftp2.freebsd.org/pub/FreeBSD/snapshots/amd64/amd64/9.1-STABLE/kernel.txz ...(3)
# cd ..
# unzip master.zip
# cd mfsbsd-master
# make iso -DCUSTOM -DBUILDWORLD -DBUILDKERNEL -DSE -DROOTHACK BASE=/root/snapshots MAKEJOBS=3 ...(4)
(4)はbuildworldなどが実行されるためだいぶ時間がかかります。オプションはmfsBSDのBUILDとかMakefileとかを読んで適宜調整してください。ビルドが成功すれば /root/mfsbsd-master
に mfsbsd-se-9.1-STABLE-amd64.iso
というファイルが出来上がります。VirtIOが入っているのでKVMをベースにしているVPSなどでも役に立つんじゃないかと思います。