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 [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message