Revamp the synopsis, and flesh out the "Why build a custom kernel?" section.

This commit is contained in:
Nik Clayton 2001-08-02 00:47:33 +00:00
parent 43796b8868
commit c3f5ae8e0b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=10131

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.53 2001/07/20 21:44:45 chern Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.54 2001/07/30 17:18:52 murray Exp $
-->
<chapter id="kernelconfig">
@ -18,16 +18,67 @@
<secondary>building a custom kernel</secondary>
</indexterm>
<para>The following chapter of the handbook covers everything you will
need to know in order to build a custom kernel. If you are
wondering what the benefits of a custom kernel are, or would like to
know how to configure, compile, and install a custom kernel, this
chapter is for you.</para>
<para>The kernel is the core of the FreeBSD operating system. It is
responsible for managing memory, enforcing security controls,
networking, disk access, and much more. While more and more of FreeBSD
becomes dynamically configurable it is still occasionally necessary to
reconfigure and recompile your kernel.</para>
<para>After reading this chapter you will know:</para>
<itemizedlist>
<listitem>
<para>Why you might need to build a custom kernel</para>
</listitem>
<listitem>
<para>How to write a kernel configuration file, or alter an existing
configuration file</para>
</listitem>
<listitem>
<para>How to use the kernel configuration file to create and build a
new kernel</para>
</listitem>
<listitem>
<para>How to install the new kernel</para>
</listitem>
<listitem>
<para>How to create any entries in <filename>/dev</filename> that may
be required</para>
</listitem>
<listitem>
<para>How to troubleshoot if things go wrong</para>
</listitem>
</itemizedlist>
</sect1>
<sect1>
<title>Why Build a Custom Kernel?</title>
<para>Traditionally FreeBSD has had what is called a
<quote>monolithic</quote> kernel. This means that the kernel was one
large program, supported a fixed list of devices, and if you wanted to
change the kernel's behaviour then you had to compile a new kernel, and
then reboot your computer with the new kernel.</para>
<para>Today, FreeBSD is rapidly moving to a model where much of the
kernel's functionality is contained in modules which can be dynamically
loaded and unloaded from the kernel as necessary. This allows the
kernel to adapt to new hardware suddenly becoming available (such as
PCMCIA cards in a laptop), or for new functionality to be bought in to
the kernel that was not necessary when the kernel was originally
compiled. Colloquially these are called KLDs.</para>
<para>Despite this, it is still necessary to carry out some static kernel
configuration. In some cases this is because the functionality is so
tied to the kernel that it can not be made dynamically loadable. In
others it may simply be because no one has yet taken the time to write a
dynamic loadable kernel module for that functionality yet.</para>
<para>Building a custom kernel is one of the most important rites of
passage nearly every Unix user must endure. This process, while
time consuming, will provide many benefits to your FreeBSD system.