Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2005 16:17:53 +0200
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        regnans@gmail.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Configuration of current kernel
Message-ID:  <20050310141753.GA55092@orion.daedalusnetworks.priv>
In-Reply-To: <68b3483d050310012555c067f@mail.gmail.com>
References:  <68b3483d050310012555c067f@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
# Redirected to freebsd-questions, from freebsd-newbies.
# Please do NOT post technical questions to the freebsd-newbies list.
# Followups set to freebsd-questions.

On 2005-03-10 10:25, h p <regnans@gmail.com> wrote:
> I'd like to recompile my kernel for disk encryption support (options
> GEOM_BDE). I am right now running an out-of-the-box 5.3-RELEASE
> kernel.
>
> I noticed that some kernel modules I use are missing in the GENERIC
> kernel configuration file (such as ext2fs and snd_emu10k1).

The GENERIC kernel is just what the name suggests: a generic kernel
configuration.  It's also the one that is distributed with the FreeBSD
release CD-ROMs as the default kernel.

You can always add whatever you want to a custom kernel configuration
file, say LOCAL, and use the kernel built from that config file.

> I am worrying that these features will not work if I install a new
> kernel.  Of course, I could just try and restore the old kernel, if
> not.  With Linux, there is a solution to get the current kernel
> configuration (in /proc/config.gz). Is there such a thing under
> FreeBSD?

The kernel installation process, if you follow the instructions from
/usr/src/UPDATING or the Handbook, should be:

	# cd /usr/src
	# make KERNCONF=LOCAL installkernel

This will keep a backup of the GENERIC kernel in:

	/boot/kernel.old

You can also make a backup copy of the GENERIC kernel, if you want to
keep it safe from continuous "installkernel" runs, by manually copying
/boot/kernel to /boot/kernel.GENERIC right after FreeBSD has been
installed:

	# cd /boot
	# cp -Rp kernel kernel.GENERIC

Then, if anything does wrong, you can always interrupt the boot loader
before a broken kernel boots and boot into kernel.GENERIC.  This is as
easy as hitting ESC or any key that is not ENTER, and writing at the
OK prompt of the loader:

	OK unload
	OK boot kernel.GENERIC

> I admit I haven't yet quite understood how the kernel recompilation
> works. How do I configure features as a module?

Anything that is not compiled in the kernel by the kernel config file
is built as a module and installed as a *.ko file in /boot/kernel.

> Also, there are some features, which don't seem to be documented...
> at least not in the NOTES file.

You're looking at the wrong NOTES file.  There are two NOTES files on
any given architecture that FreeBSD supports:

  1) The architecture-independent NOTES file, listing options common
to all the possible architectures: /usr/src/sys/conf/NOTES.

  2) The architecture-dependent NOTES in /usr/src/sys/ARCH/conf/NOTES,
where ARCH is one of: i386, sparc64, amd64, alpha, powerpc, etc.

> ext2fs is an example. Is there a comprehensive list anywhere?

The two NOTES files (architecture independent and architecture
dependent) should be all you need.

- Giorgos



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