NetBSD 5.0

2009年4月29日にNetBSD 5.0 がリリースされた。

まずは、ソースツリーのアップデートを行う。

cvs update -PdAC -rnetbsd-5-0-RELEASE

5.0 から GENERIC カーネルが MP になった。

4.0.1 のときには、 MP のカーネルで LKM の PF を使う場合には
-D MULTIPLOCESSOR を指定して /usr/lkm/pf.o を作り直さないといけなく、
面倒なので PF はカーネルオプションの方で指定していた。

5.0 ではその必要がなく、GENERIC カーネルのままで MP も PF もいけるということだ。

とはいえ、PF 経由のリモートから作業している環境で、
ユーザーランドが 4.x のまま 5.0 のカーネルでリブートすると、
はまるのは必至なので、
まずは PF を組み込んだカーネルを作成する。

カーネルコンフィグ

include "arch/i386/conf/GENERIC"
pseudo-device   pf                      # PF packet filter
pseudo-device   pflog                   # PF log if

カーネルの作成~リブートまで

$ cd <srcdir>
$ ./build.sh -O <workdir> tools kernel=<kernel_conf_name>
$ cd <workdir>/sys/arch/i386/compile/<kernel_conf_name>
$ sudo make install
<reboot>
$ cd <srcdir>
$ ./build.sh -O <workdir> -U distribution
$ sudo ./build.sh -O <workdir> -U install=/
$ EDITOR=vi sudo etcupdate -al -s <srcdir>
$ sudo postinstall -s <srcdir> -d / fix obsolete
<reboot>