Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 May 1998 15:45:31 -0500 (CDT)
From:      Richard Wackerbarth <rkw@dataplex.net>
To:        Eivind Eklund <eivind@yes.no>
Cc:        current@FreeBSD.ORG
Subject:   Re: How about /usr/ports/kernel ?
Message-ID:  <l03130309b195d4c6fd5b@[208.2.87.10]>
In-Reply-To: <19980530182913.04478@follo.net>
References:  <199805301346.PAA29505@labinfo.iet.unipi.it>; from Luigi Rizzo on Sat, May 30, 1998 at 03:46:04PM %2B0200 <199805301346.PAA29505@labinfo.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
At 4:29 PM -0000 5/30/98, Eivind Eklund wrote:

>My own view of this is that config(8) should scan for
>	../../*/conf/files.FreeBSD
>	../../*/conf/options.FreeBSD
>	../../*/conf/files.FreeBSD.<architecture>
>	../../*/conf/options.FreeBSD.<architecture>
>add concatenate this with the appropriate files.
>
>This would allow us to add a new subsystem (like i4b) by just adding a
>new subdir to the kernel.
>
>For some ports we would of course need to add extra kernel hooks, but
>this at least solve the easy cases.
>
>What do people think?

My first observation is that, other than being more dynamic, and a higher
desire for individual customization, the binary file generated for
"/kernel" is not fundamentally different from the one created for "/bin/cat"
or "/usr/sbin/ctm". Each of them has its own variances on the theme of
source -> itermediate -> result translation. For example, they use different
linker stratgies. If we rearrange our viewpoint a bit, "config" is similar
to "yacc" and is a tool (which needs to be up-to-date) which converts a source
file (eg., "GENERIC") into some "C" files. These files are subsequently
transformed, under the direction of "make", into intermediate object files
and finally a loadable result.

A single "user" may wish to have a number of different kernels built.
He could do this by adding an appropriate (trivial) directory, Makefile,
and additional/overriding files to describe his variation.
Particular subprojects could, to a large extent, co-exist in the same (master)
source tree. They would simply be invoked as needed by the kernel configuration
and/or Makefiles. Unused sections would simply be ignored.
A user would add appropriate directories to src/sys/compile.1386 for the
kernels that he wishes to build. He would not explicitly run "config"
because that would be an automatic part of the "make" structure.

Richard Wackerbarth



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?l03130309b195d4c6fd5b>