Chapter 9. Building and Installing a FreeBSD Kernel

Table of Contents
9.1. Building a Kernel the Traditional Way
9.2. Building a Kernel the New Way

Being a kernel developer requires understanding of the kernel build process. To debug the FreeBSD kernel it is required to be able to build one. There are two known ways to do so:


It is supposed that the reader of this chapter is familiar with the information described in the Building and Installing a Custom Kernel chapter of the FreeBSD Handbook. If this is not the case, please read through the above mentioned chapter to understand how the build process works.

9.1. Building a Kernel the Traditional Way

Up to version 4.X of FreeBSD this was the recommended way to build a new kernel. It can still be used on newer versions (instead of the buildkernel target of the toplevel /usr/src/ makefiles). Building the kernel this way may be useful when working on the kernel code and it may actually be faster than the New procedure when only a single option or two were tweaked in the kernel configuration file. On the other hand, it might lead to unexpected kernel build breakage when used by beginners on newer versions of FreeBSD.

  1. Run config(8) to generate the kernel source code:

    # /usr/sbin/config MYKERNEL
  2. Change into the build directory. config(8) will print the name of this directory after being run as above.

    # cd ../compile/MYKERNEL
  3. Compile the kernel:

    # make depend
    # make
  4. Install the new kernel:

    # make install

All FreeBSD documents are available for download at

Questions that are not answered by the documentation may be sent to <>.
Send questions about this document to <>.