---
title: Kapitel 9. Einen FreeBSD-Kernel bauen und installieren
prev: books/developers-handbook/partiii
next: books/developers-handbook/kerneldebug
showBookMenu: true
weight: 12
params:
  path: "/books/developers-handbook/kernelbuild/"
---

[[kernelbuild]]
= Einen FreeBSD-Kernel bauen und installieren
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumoffset: 9
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/developers-handbook/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

Ein Kernelentwickler muss wissen, wie der Bau eines angepassten Kernels funktioniert, da das Debuggen des FreeBSD-Kernels nur durch den Bau eines neuen Kernels möglich ist. Es gibt zwei Wege, einen angepassten Kernel zu bauen:

* Den "traditionellen" Weg
* Den "neuen" Weg

[NOTE]
====
Die folgenden Ausführungen setzen voraus, dass Sie den Abschnitt extref:{handbook}kernelconfig/[Erstellen und Installation eines angepassten Kernels, kernelconfig-building] des FreeBSD-Handbuchs gelesen haben und daher wissen, wie man einen FreeBSD-Kernel baut.
====

[[kernelbuild-traditional]]
== Einen Kernel auf die "traditionelle" Art und Weise bauen

Bis FreeBSD 4.X wurde dieser Weg zum Bau eines angepassten Kernels empfohlen. Sie können Ihren Kernel nach wie vor auf diese Art und Weise bauen (anstatt das Target "buildkernel" der Makefiles im Verzeichnis [.filename]#/usr/src/# zu verwenden). Dies kann beispielsweise sinnvoll sein, wenn Sie am Kernel-Quellcode arbeiten. Haben Sie nur ein oder zwei Optionen der Kernelkonfigurationsdatei geändert, ist dieser Weg in der Regel schneller als der "neue" Weg. Andererseits kann es aber auch zu unerwarteten Fehlern beim Bau des Kernels kommen, wenn Sie Ihren Kernel unter aktuellen FreeBSD-Versionen auf diese Art und Weise bauen.

[.procedure]
====
. Erzeugen Sie den Kernel-Quellcode mit man:config[8]:
+
[source,shell]
....
# /usr/sbin/config MYKERNEL
....
+
. Wechseln Sie in das Build-Verzeichnis. man:config[8] gibt den Namen dieses Verzeichnisses aus, wenn die Erzeugung des Kernel-Quellcodes im vorherigen Schritt erfolgreich abgeschlossen wurde.
+
[source,shell]
....
# cd ../compile/MYKERNEL
....
+
. Kompilieren Sie den neuen Kernel:
+
[source,shell]
....
# make depend
# make
....
+
. Installieren Sie den neuen Kernel:
+
[source,shell]
....
# make install
....
====

[[kernelbuild-new]]
== Einen Kernel auf die "neue" Art und Weise bauen

Dieser Weg wird für alle aktuellen FreeBSD-Versionen empfohlen. Lesen Sie bitte den Abschnitt extref:{handbook}kernelconfig/[Erstellen und Installation eines angepassten Kernels, kernelconfig-building] des FreeBSD-Handbuchs, wenn Sie Ihren Kernel auf diese Art und Weise bauen wollen.
