Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Feb 2002 22:54:55 +0100 (CET)
From:      BOUWSMA Beery <freebsd-user@dcf77-zeit.netscum.dyndns.dk>
To:        hackers@freebsd.org
Cc:        "Simon 'corecode' Schubert" <corecode@corecode.ath.cx>, "Crist J. Clark" <cjclark@alum.mit.edu>
Subject:   Re: buildworld via ro mounted /usr/src
Message-ID:  <200202012154.g11Lst401366@beerswilling.netscum.dyndns.dk>
References:  <20020130170244.6f1cdf09.corecode@corecode.ath.cx> <200201310920.g0V9K1L00787@beerswilling.netscum.dyndns.dk> <20020131155234.F152@gohan.cjclark.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Mahlzeit!
%s wrote on %.3s, %lld Sep 1993

> > and build a kernel, and if you're trying to do that with a read-only
> > source, the default location for your kernel config file is within
> > that.  This is solved in -CURRENT and is trivial to patch -STABLE to

> Or you can just use the 'kernel,' 'buildkernel,' and 'installkernel'
> targets in the /usr/src Makefiles.

Erm...  now I'm confused.  I'm not sure what I should think that you
thought that I meant to say if I didn't mean what I meant or wasn't
clear in saying what I should have said but might not have.

The build procedure should be done as usual --
# make (env variables if not given in /etc/make.conf) -j4 buildworld
# make KERNCONF=FreeBEER KERNCONFDIR=/usr/local/etc/conf -j4 buildkernel
# make KERNCONF=FreeBEER KERNCONFDIR=/usr/local/etc/conf installkernel
and so on...

Our victim didn't say in his original message whether he is trying to
accomplish this read-only /usr/src build with -current or -stable.
With -current, the above commands work.  With -stable, only
# make KERNCONF=FreeBEER buildkernel
can be used, as far as I know.  I couldn't figure out how to place my
kernel configuration file anywhere outside /usr/src/sys/i386/conf/ .

Now, the way I see it, our victim has three options with -stable, which
I'm assuming he's using:
1)  On the central fileswerver, create config files in /usr/src/sys/i386/conf
(or alpha or wherever) for each unique machine to be built.
2)  On each machine, mount_unionfs some directory atop /usr/src/sys/ARCH/conf
and put that machine's kernel config file there, except that union mounts,
while it may work in this case, may not work reliably.  Heck, in this case
a mount_nullfs mount should be fine...
3)  On each machine, set aside a directory (like in /usr/local/etc/conf)
and customize the kernel config file there, but to the best of my
knowledge, in order to get -stable to *use* KERNCONF somewhere other
than /usr/src/sys/ARCH/conf, you need to borrow KERNCONFDIR from -current.
If not, I'd appreciate being corrected.

The question is whether the kernel config file should be local to each
machine, or if all should be collected on the central fileswerver, in
which case nothing unusual need be done.

Or did you mean something else entirely?


barry bouwsma


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




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