GENERIC kernelでもfreebsd-updateでupdateしてくれない件


8.0から8.0-p1のアップデートは、カーネルに修正が入らないので、そのままだとunameコマンドで両者の区別を出来ない。
/usr/src/sys/conf/newvers.shを見れば分かるが、それは面倒。
だからGENERICカーネルを再構築しておき、unameで8.0-p1と返してくれるようにしておいた。

しかし、新しいnewvers.shでカーネルを再構築するとハッシュ値も違ってしまうので、freebsd-updateは修正対象と認識してくれないようだ。

本日、FreeBSDSecurity Adisoryが出たので、さっそくfreebsd-updateして8.0-p2に上げてみたのだが、/boot/kernel配下のカーネルが対象になっていない。

$ uname -a
FreeBSD xxxx 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #2: Wed Dec  9 09:18:02
JST 2009     root@xxxx:/usr/obj/usr/src/sys/GENERIC  i386

$ freebsd-update fetch
<略>
The following files are affected by updates, but no changes have
been downloaded because the files have been modified locally:
/var/db/mergemaster.mtree

The following files will be updated as part of updating to 8.0-RELEASE-p2:
/boot/GENERIC/ip_mroute.ko
/boot/GENERIC/ip_mroute.ko.symbols
/boot/GENERIC/kernel
/boot/GENERIC/kernel.symbols
/boot/GENERIC/krpc.ko
/boot/GENERIC/krpc.ko.symbols
/boot/GENERIC/zfs.ko
/boot/GENERIC/zfs.ko.symbols
/boot/kernel.old/ip_mroute.ko
/boot/kernel.old/ip_mroute.ko.symbols
/boot/kernel.old/kernel
/boot/kernel.old/kernel.symbols
/boot/kernel.old/krpc.ko
/boot/kernel.old/krpc.ko.symbols
/boot/kernel.old/zfs.ko
/boot/kernel.old/zfs.ko.symbols
/lib/libzpool.so.2
<略>

ひとまず/boot/GENERICと/boot/kernelにコピーして再起動、unameで8.0-p2になっていることを確認した。
今後も念のため/boot/GENERICを置いとこうと思った。

$ uname -a
FreeBSD xxxx 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan  5 16:02:27
UTC 2010     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
 i386