FreeBSD-CURRENT をインストールしてみる

ESXi 上で FreeBSD が動いているんで、いっちょ 8-CURRENT を試してみるかってことで、7.2-RELEASE からアップグレードしてみることにした。
まずは、セットアップした仮想環境をコピーして、新しいVMを作って、IPアドレスとかをちょこっと直してから、cvsup でソースを入れ替え。いつものように、buildworld→buildkernel→reboot してみると……ありゃ、zfs が internal error: out of memory だと?
割り当てメモリを増やすとかしてみてもだめだったんで、色々調べてみると、


#3 FreeBSD 7から8へ上げるZFS使いは気を付けろ

FreeBSD 7.1から8-currentに上げてみた時に気づいた事を列挙.

1. カーネルをmake installkernelしてから再起動すると,zfsコマンドが「internal error: out of memory」と言って使えない.
→新しいカーネルで古いzfs/zpoolコマンドは使えない.マウントする時は「mount -t zfs tank/usr /usr」のように,mountコマンドを使うこと.新しいzfsコマンドをインストールしたら,そのzfsコマンドが使える.

2. make installworldすると,libc.so.7をインストールする時にchflags関係のエラーで失敗する.
→ZPOOLとZFSをアップグレードしないと,chflags関係のコマンドが失敗するのが原因. make installworldする際に「make NO_FSCHG=true installworld」とすること.一旦ZPOOL/ZFSをアップグレードすれば,その後は普通にmake installworldしてよい.もしlibc.so.7が存在しない状態になったら,/rescue/ 以下にあるcpコマンドを使って/usr/obj 以下からコピーする.

ということらしい。

ということで、single user モードで起動して、mount コマンドでマウントしてから作業を続けたら、ちゃんとセットアップできたみたい。