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は修正対象と認識してくれないようだ。
本日、FreeBSDにSecurity 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