svn commit: r325097 - head

Devin Teske devin at shxd.cx
Sun Oct 29 11:26:07 UTC 2017


Can you describe said shooting of foot? Because...

+ I still build my kernels that way, because...
+ config can be given -C to retain the *entire* config file in the kernel, comments-and-all, because...
+ There has traditionally been no knob that can be set during the kernel targets of the top-level Makefile that will enable "config -C" instead of just "config".

We use a version-controlled config file and want lines like "# $Smule: ... $" retained as well as include lines, etc so we can see hierarchical topology of the kernel config from a running system in the field simply by running "config -x $( sysctl -n kern.bootfile ) | less"

Thus, I wouldn't even call this a "FreeBSD 4.x [process] of bulding the kernel" but instead "an alternate proceaa of building kernel" and the people that use it know what they are doing and this there is no foot shooting.

NB: I actually use "config -C -g" for full disclosure.
-- 
Devin

> On Oct 29, 2017, at 1:25 AM, Eitan Adler <eadler at FreeBSD.org> wrote:
> 
> Author: eadler
> Date: Sun Oct 29 08:25:31 2017
> New Revision: 325097
> URL: https://svnweb.freebsd.org/changeset/base/325097
> 
> Log:
>  Update UPDATING
> 
>  - Remove FreeBSD 4.x of building the kernel.
>  While it might technically work, it is better to
>  document the 'correct' way than how to shoot oneself
>  in the foot
> 
>  - Remove reference to CVS -P for src.
> 
> Modified:
>  head/UPDATING
> 
> Modified: head/UPDATING
> ==============================================================================
> --- head/UPDATING    Sun Oct 29 08:17:03 2017    (r325096)
> +++ head/UPDATING    Sun Oct 29 08:25:31 2017    (r325097)
> @@ -1843,21 +1843,6 @@ COMMON ITEMS:
>    make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
>    nextboot -k testkernel
> 
> -    To just build a kernel when you know that it won't mess you up
> -    --------------------------------------------------------------
> -    This assumes you are already running a CURRENT system.  Replace
> -    ${arch} with the architecture of your machine (e.g. "i386",
> -    "arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc).
> -
> -    cd src/sys/${arch}/conf
> -    config KERNEL_NAME_HERE
> -    cd ../compile/KERNEL_NAME_HERE
> -    make depend
> -    make
> -    make install
> -
> -    If this fails, go to the "To build a kernel" section.
> -
>    To rebuild everything and install it on the current system.
>    -----------------------------------------------------------
>    # Note: sometimes if you are running current you gotta do more than
> @@ -1865,7 +1850,8 @@ COMMON ITEMS:
> 
>    <make sure you have good level 0 dumps>
>    make buildworld
> -    make kernel KERNCONF=YOUR_KERNEL_HERE
> +    make buildkernel KERNCONF=YOUR_KERNEL_HERE
> +    make installkernel KERNCONF=YOUR_KERNEL_HERE
>                            [1]
>    <reboot in single user>                [3]
>    mergemaster -Fp                    [5]
> @@ -1965,10 +1951,7 @@ COMMON ITEMS:
>    Make sure that you merge any new devices from GENERIC since the
>    last time you updated your kernel config file.
> 
> -    [9] When checking out sources, you must include the -P flag to have
> -    cvs prune empty directories.
> -
> -    If CPUTYPE is defined in your /etc/make.conf, make sure to use the
> +    [9] If CPUTYPE is defined in your /etc/make.conf, make sure to use the
>    "?=" instead of the "=" assignment operator, so that buildworld can
>    override the CPUTYPE if it needs to.
> 
> 



More information about the svn-src-all mailing list