Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Feb 2002 00:14:59 +0100 (CET)
From:      BOUWSMA Beery <freebsd-user@dcf77-zeit.netscum.dyndns.dk>
To:        freebsd-current@freebsd.org
Subject:   Re: MODULES_WITH_WORLD=true means no modules?
Message-ID:  <20020212021149.46B139F287@okeeffe.bestweb.net>

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

> > MODULES_WITH_WORLD=true # do not build modules when building kernel
>                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> ...you need to read the option you enabled?

Never mind, I figured out what happened, and will happen again in
the future, since this doesn't quite `optimize' things as I'd like

I had actually started writing to ask why /boot/kernel.old hadn't
been updated with my previous /boot/kernel, but then I figured it
out.  Since I had done two `installkernel's, I was using the kernel
image in /boot/kernel.old/ from the first installkernel, and a test
is made, so that if I'm using it, it doesn't get deleted.

Instead, what happened was that the existing /boot/kernel contents
were nuked.  This had been populated by kernel modules by the
installworld step that I did following the first installkernel.

So, when the above option is enabled, normally your previous
contents of /boot/kernel/ are moved to replace /boot/kernel.old/
by `installkernel' and the new contents of /boot/kernel/ are no
more than kernel alone -- look ma, no modules!

In order to get /boot/kernel/ populated with modules, either one
needs to installworld again, or use one of the targets to install
only modules, I guess.  Actually, on this machine, a complete
installworld probably takes less time than the present way to build
a fresh kernel and set of modules as the `buildkernel' step, which
I had hoped would be sped up.

What I had perhaps been thinking (if you could claim that I was in
fact thinking at all) was that the modules would be installed into
a location by `installworld' that would be independent of any
`build/installkernel's that would follow -- such as /boot/modules,
which appears in the sysctl kern.module_path under -current.

That way one could build new kernels from the same source, adding
or removing devices, only needing to update the modules as part of
the installworld when the source gets changed.  At least, that was
my goal in enabling this /etc/make.conf option, to speed up the
buildkernel/installkernel process by skipping module rebuilding
any time I swap in a different ethernet or sound card or find a new
spiffy kernel option to try out.

That's it in a nutshell.  FWIW, booting the new kernel just built
a few hours ago gives the following:
| CPU: Pentium/P54C (75.00-MHz 586-class CPU)
|   Origin = "GenuineIntel"  Id = 0x524  Stepping = 4
|   Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
= WARNING: Driver mistake: make_dev(perfmon) called before SI_SUB_DRIVERS
| real memory  = 41943040 (40960K bytes)


Once again, I fling off a message before engaging brane

barry bouwsma


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

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?20020212021149.46B139F287>