Kernel build numbers and kernel-building methods

2000-07-16 Thread William Denton

After all the recent chat following that heads-up about how to build a
world, I gave it a shot and rebuilt my system, gave the buildkernel and
installkernel a KERNEL=MYCROFT setting, and adjusted /boot/loader.conf so
it'd load /MYCROFT.  All went well, but I noticed that the kernel build
number reported by uname had changed.  It said "FreeBSD 4.0-STABLE #0,"
while the number had been above 0 before.  I rebuilt the system today and
it stayed at 0, but then I recompiled the kernel alone (the old way) and
now it says "FreeBSD 4.1-RC #6."

Does compiling a kernel with make buildkernel not increment this
number?  If not, shouldn't it?  

Bill
-- 
William Denton : Toronto, Canada : http://www.miskatonic.org/ : Caveat lector.



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message



Re: Kernel build numbers and kernel-building methods

2000-07-16 Thread Stephen Montgomery-Smith

William Denton wrote:
 
 After all the recent chat following that heads-up about how to build a
 world, I gave it a shot and rebuilt my system, gave the buildkernel and
 installkernel a KERNEL=MYCROFT setting, and adjusted /boot/loader.conf so
 it'd load /MYCROFT.  All went well, but I noticed that the kernel build
 number reported by uname had changed.  It said "FreeBSD 4.0-STABLE #0,"
 while the number had been above 0 before.  I rebuilt the system today and
 it stayed at 0, but then I recompiled the kernel alone (the old way) and
 now it says "FreeBSD 4.1-RC #6."
 
 Does compiling a kernel with make buildkernel not increment this
 number?  If not, shouldn't it?
 

The way I see it, the version number is created by a little script
/sys/conf/newvers.sh which figures out the version from a file called
make-directory/version, where make-directory is the directory in
which you are making the kernel.  So for example, version might 
contain the number '6', in which case your kernel build is 6.  
(And then after the build, version will contain '7' - if version
does not exist, it takes this number to be '0'.)

Now when you do the make buildkernel, make-directory is
/usr/obj/usr/src/sys/XXX
where XXX is the name of your kernel.  This directory will be
completely deleted before any make (unless you use the -DNOCLEAN
option), so you will always have a build number 0.

When you do the /usr/sbin/config stuff, make-directory is
/sys/compile/XXX
This will pick up the version that you had left over from your
previous build.  (But if you do /usr/sbin/config -r then this
directory is deleted, so your build goes back to 0).


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message