kernel.old not used any longer?

Steve Ames steve at energistic.com
Tue Apr 19 09:52:31 PDT 2005


On Tue, Apr 19, 2005 at 06:29:03PM +0200, Marc Olzheim wrote:
> cd /usr/obj/usr/src/sys/<kernname> ; make -n install gives me:
> ...
> thiskernel=`sysctl -n kern.bootfile` ;  if [ "`dirname "$thiskernel"`"
> != /boot/kernel ] ; then  chflags -R noschg /boot/kernel ;  rm -rf
> /boot/kernel ;  else  if [ -d /boot/kernel.old ] ; then  chflags -R
> noschg /boot/kernel.old ;  rm -rf /boot/kernel.old ;  fi ;  mv
> /boot/kernel /boot/kernel.old ;  sysctl
> kern.bootfile=/boot/kernel.old/"`basename "$thiskernel"`" ;  fi
> ...
> 
> 
> What so you get ?

Hrm. Almost the same as you. On mine that first comparison is actually
"!= //boot/kernel". Likely because I have "DESTDIR?=/" in /etc/make.conf.

Hrm. Suddenly all makes sense. I defined DESTDIR so that 'make world'
would continue to work normally (instead of doing buildworld/installworld)
and that probably happened around August '04.

So I guess if I get rid of DESTDIR and start doing buildworld/installworld
then I get kernel.old functionality again... however this tastes like a
bug to me. Perhaps that comparison should be:

"!= ${DESTIR}/boot/kernel" ??

-Steve


More information about the freebsd-current mailing list