Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Nov 1995 07:59:29 +0800 (WST)
From:      Peter Wemm <peter@jhome.DIALix.COM>
To:        "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
Cc:        davidg@Root.COM, guido@gvr.win.tue.nl, CVS-commiters@freefall.freebsd.org, cvs-usrsbin@freefall.freebsd.org
Subject:   Re: cvs commit: src/usr.sbin/syslogd syslogd.c
Message-ID:  <Pine.BSF.3.91.951121074351.17368B-100000@jhome.DIALix.COM>
In-Reply-To: <199511202237.OAA23395@GndRsh.aac.dev.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 20 Nov 1995, Rodney W. Grimes wrote:
> > >>    The sysctl crap in the Makefile is bogus and should be removed. My kernel
> > >> is often not called "/kernel" and pretending that it was is wrong. The bootfile
> > >> name should be read-only and the Makefile should not be messing with it.
> > >> 
> > >
> > >I still dont like the fact that installing a new kernel with make install
> > >can make all kinds of programs useless. Perhaps a better way of
> > >doing things is first check if /kernel is the kernel being used. If so, and
> > >if it is moved to kernel.old, sysctl should be called according to me.
> > 
> >    And if I do 2 make installs before rebooting?
> 
> Enhance my last patch to test if sysctl kern.bootfile==/kernel.old and if
> it does output a warning and probably set kern.bootfile to null since you
> don't have a valid copy of the current kernel anyplace but in memory.
> 
> [Hummmm.. would /dev/kmem work???.  I think not since the a.out header is
> missing :-(]

How's this for a hack alternative....
1: stop modifying kern.bootfile; and 
2: hack nlist() so that if the nlist'ed pathname is the same as 
kern.bootfile, then use the /var/db/kvm_kernel.db database; and
3: dump the 4.3-net2 symorder program, as now the kernel nlisting is done 
via the efficient DB file.
We can then do anything to the /kernel* files and nothing will be 
affected as all the run-time stuff will come from the kvm_mkdb database.

The only problem is that I suspect this is going to make DavidG's 
fingernails curl.. :-)

I guess the other solution would be to modify everything important to use 
-lkvm and kvm_nlist().  Hmm.. ".. if the opened kernel matches the booted 
kernel, then the DB file is used..."  I wonder how this changing of 
kernel bootfile is affecting the kvm library?

> Or perhaps enhance the rename to use /kernel.N, N being a number, simply
> move it to one higher than the highest existing file.

Hmm.  Another thought...
if [ `sysctl kern.bootfile` == /kernel ]; then
  mv /kernel /kernel.old
  sysctl -w kern.bootfile=/kernel.old
fi
install -c .. kernel /kernel

Simply dont save non-booted kernels.. 

> Anyway, this is not rocket science, it can be fixed to do the right things
> rather trivially.

Yeah, Fun fun fun!  And there's probably a hundred ways to do it, and 
probably none of them would be agreeable to everybody...

Cheers,
-Peter

> -- 
> Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
> Accurate Automation Company                 Reliable computers for FreeBSD
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.951121074351.17368B-100000>