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 コマンドでマウントしてから作業を続けたら、ちゃんとセットアップできたみたい。