<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!--
     The FreeBSD Documentation Project
     The FreeBSD German Documentation Project

     $FreeBSD$
     $FreeBSDde: de-docproj/books/developers-handbook/kernelbuild/chapter.sgml,v 1.5 2009/02/21 19:22:07 jkois Exp $
     basiert auf: 1.3
-->

<chapter id="kernelbuild">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Johann</firstname>
	<surname>Kois</surname>
	<contrib>Übersetzt von </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Einen &os;-Kernel bauen und installieren</title>

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

  <itemizedlist>
    <listitem>
      <para>Den <quote>traditionellen</quote> Weg</para>
    </listitem>

    <listitem>
      <para>Den <quote>neuen</quote> Weg</para>
    </listitem>
  </itemizedlist>

  <note>
    <para>Die folgenden Ausführungen setzen voraus, dass Sie
      den Abschnitt <ulink
      url="../handbook/kernelconfig-building.html">
      Erstellen und Installation eines angepassten Kernels</ulink> des
      FreeBSD-Handbuchs gelesen haben und daher wissen, wie man einen
      FreeBSD-Kernel baut.</para>
  </note>

  <sect1 id="kernelbuild-traditional">
    <title>Einen Kernel auf die <quote>traditionelle</quote> Art und
      Weise bauen</title>

    <para>Bis &os;&nbsp;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
      <quote>buildkernel</quote> der Makefiles im Verzeichnis
      <filename class="directory">/usr/src/</filename> 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 <quote>neue</quote> Weg.
      Andererseits kann es aber auch zu unerwarteten Fehlern beim
      Bau des Kernels kommen, wenn Sie Ihren Kernel unter aktuellen
      &os;-Versionen auf diese Art und Weise bauen.</para>

    <procedure>
      <step>
	<para>Erzeugen Sie den Kernel-Quellcode mit
	  &man.config.8;:</para>

	<screen>&prompt.root; <userinput>/usr/sbin/config <replaceable>MYKERNEL</replaceable></userinput></screen>
      </step>

      <step>
	<para>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.</para>

	<screen>&prompt.root; <userinput>cd ../compile/<replaceable>MYKERNEL</replaceable></userinput></screen>
      </step>

      <step>
	<para>Kompilieren Sie den neuen Kernel:</para>

	<screen>&prompt.root; <userinput>make depend</userinput>
&prompt.root; <userinput>make</userinput></screen>
      </step>

      <step>
	<para>Installieren Sie den neuen Kernel:</para>

	<screen>&prompt.root; <userinput>make install</userinput></screen>
      </step>
    </procedure>
  </sect1>

  <sect1 id="kernelbuild-new">
    <title>Einen Kernel auf die <quote>neue</quote> Art und Weise
      bauen</title>

    <para>Dieser Weg wird für alle aktuellen &os;-Versionen
      empfohlen. Lesen Sie bitte den Abschnitt <ulink
      url="../handbook/kernelconfig-building.html">Erstellen und
      Installation eines angepassten Kernels</ulink> des
      &os;-Handbuchs, wenn Sie Ihren Kernel auf diese Art und Weise
      bauen wollen.</para>
  </sect1>
</chapter>