Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jun 2001 00:18:10 +0300
From:      Peter Pentchev <roam@orbitel.bg>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Valentin Nechayev <netch@iv.nn.kiev.ua>, John Baldwin <jhb@FreeBSD.ORG>, hackers@FreeBSD.ORG
Subject:   Re: Two Junior Kernel Hacker tasks..
Message-ID:  <20010624001810.C564@ringworld.oblivion.bg>
In-Reply-To: <3B350439.31AC9991@mindspring.com>; from tlambert2@mindspring.com on Sat, Jun 23, 2001 at 02:03:53PM -0700
References:  <XFMail.010622105201.jhb@FreeBSD.org> <20010623081844.B982@iv.nn.kiev.ua> <3B34ECB7.CF7F4047@mindspring.com> <20010623225526.A564@ringworld.oblivion.bg> <3B350439.31AC9991@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 23, 2001 at 02:03:53PM -0700, Terry Lambert wrote:
> Peter Pentchev wrote:
> > Terry, this is simply not true.  Even in -stable, config(8)
> > is smart enough to try reading the opt_*.h files, and not
> > change them if they already contain the values it is about
> > to write there.
> 
> Rerunning config and make depend always result in more
> things being recompiled for me, than just me typing
> "make".

Running 'make buildkernel' results in nothing at all recompiled
for me (please read the whole of my message this time).

> The "buildkernel" target also can not handle all of the
> intricacies of all the parameters that you might want to
> pass to "config": things are lost.

If it's just parameters you want to pass, then use the CONFIG_ARGS
make env variable.

> It's not a reasonable workaround to the problem under
> discussion (building multiple kernels for multiple
> architectures using one tree).

For multiple architectures, no, it is not - but that was
the whole point of half this thread, wasn't it?  Making
the kernel build directories arch-specific..

> Example:
> 
> All my PPC based NetBSD systems run different kernel
> configurations, specific to the machine (not processor)
> architecture.  But everything other than the kernel and
> modules should be shared, since all the systems kernels
> present the same ABI to user space.  Rebuilding everything
> is not a reasonable option.

So mount your /usr/obj accordingly - NFS mount of the whole,
a local fs (or maybe even a nullfs, but I won't go into that)
mount of the kernel-specific subdirs.  Then, use buildkernel.

> > [root@ringworld:v1 /usr/src]# LANG=C ls -lt /usr/obj/usr/src/sys/RINGWORLD/opt_*.h | head -2
> > -rw-r--r--  1 root  wheel    0 Jun 11 23:35 /usr/obj/usr/src/sys/RINGWORLD/opt_aac.h
> > -rw-r--r--  1 root  wheel    0 Jun 11 23:35 /usr/obj/usr/src/sys/RINGWORLD/opt_wavelan.h
> > [root@ringworld:v1 /usr/src]#
> > 
> > As you can see, the two most recent files date back to June 11th...
> 
> Next time, include the other things like param.c
> and so on, created by config.
> 
> I want to avoid _all_ unnecessary rebuilds.

Uh.. excuse me?  Did you read two lines further, where I pasted
an ls of the *same* directory, and the two *most recent* files?
Only the .depend file had a modification time two minutes ago,
the kernel itself was the next file in the list, and it had
a mtime of several hours earlier.  Not param.c, not vers.c,
nothing had beed changed by the buildkernel target.

> (Technically, the vers.c rebuild is unnecessary, too,
> since nothing is supposed to have changes, so vers.c
> should not have been rewritten -- but that's another
> discussion... 8-)).

Look again.  It was not rewritten.

G'luck,
Peter

-- 
If I had finished this sentence,

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?20010624001810.C564>