diff options
Diffstat (limited to 'de/post-install/kernel-baking.xml')
-rw-r--r-- | de/post-install/kernel-baking.xml | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/de/post-install/kernel-baking.xml b/de/post-install/kernel-baking.xml new file mode 100644 index 000000000..696b4edee --- /dev/null +++ b/de/post-install/kernel-baking.xml @@ -0,0 +1,191 @@ +<!-- retain these comments for translator revision tracking --> +<!-- original version: 28672 --> + + <sect1 id="kernel-baking"><title>Einen neuen Kernel kompilieren</title> +<para> + +Warum sollte jemand einen neuen, eigenen Kernel kompilieren wollen? +Es ist oft nicht nötig, da der Standardkernel in Debian die meisten +Konfigurationen bedient. Allerdings kann es unter folgenden Umständen nützlich +sein, einen neuen Kernel zu kompilieren: + +<itemizedlist> +<listitem><para> + +spezielle Hardwareanforderungen bewältigen oder Hardwarekonflikte mit den +vorkompilierten Kernel + +</para></listitem> +<listitem><para> + +Hardware oder zusätzliche Optionen unterstützen, die im Standardkernel nicht +enthalten sind, wie z.B. APM oder SMP + +</para></listitem> +<listitem><para> + +den Kernel optimieren durch Entfernen von nicht benötigten Treibern, +um die Bootzeit zu verkürzen + +</para></listitem> +<listitem><para> + +Optionen des Kernels nutzen, die vom Standardkernel nicht unterstützt werden, +wie z.B. Unterstützung für viel Arbeitsspeicher (high memory support) + +</para></listitem> +<listitem><para> + +einen aktualisierten oder Entwicklerkernel verwenden + +</para></listitem> +<listitem><para> + +seine Freunde beeindrucken, neue Sachen ausprobieren + +</para></listitem> +</itemizedlist> + +</para> + + <sect2><title>Kernel-Image-Verwaltung</title> +<para> + +Sie brauchen keine Angst davor zu haben, auszuprobieren, einen eigenen Kernel +zu kompilieren. Es macht Spaß und lohnt sich. + +</para><para> + +Um auf die debiansche Art einen Kernel zu kompilieren, benötigen +Sie ein paar Pakete: <classname>kernel-package</classname>, +<classname>kernel-source-&kernelversion;</classname> (dies war die neueste Version +zum Zeitpunkt, als dies geschrieben wurde), <classname>fakeroot</classname> +und ein paar weitere, die vielleicht schon installiert sind +(<filename>/usr/share/doc/kernel-package/README.gz</filename> enthält die +komplette Liste). + +</para><para> + +Diese Methode erstellt ein .deb-Paket aus den Kernelquellen und, falls +Sie Nicht-Standard-Module verwenden, auch ein synchrones abhängiges .deb für diese +Module. Es ist ein besserer Weg, um die Kernel-Images zu verwalten +(verglichen mit der Nicht-Debian-Methode, einen Kernel zu erzeugen); +<filename>/boot</filename> enthält den Kernel, die dazugehörige +System.map und ein Log der aktiven Konfigurationsdatei für den Bau des +Kernels. + +</para><para> + +Beachten Sie, dass Sie Ihren Kernel nicht auf <quote>Debian-Art</quote> kompilieren +<emphasis>müssen</emphasis>, aber wir meinen, dass es erheblich sicherer +und einfacher ist, das Paketsystem zur Verwaltung der Kernel zu verwenden. +Sie können auch Ihre Kernelquellen direkt von Linus beziehen statt aus +dem <classname>kernel-source-&kernelversion;</classname>-Paket, aber +trotzdem die <classname>kernel-package</classname>-Methode zum +Kompilieren nutzen. + +</para><para> + +Sie finden eine komplette Dokumentation zur Nutzung von +<classname>kernel-package</classname> unter +<filename>/usr/share/doc/kernel-package</filename>. Dieses Kapitel gibt +nur eine kurze Einführung. + +</para><para> + +Wir gehen hier davon aus, dass Sie freien Zugriff auf Ihren Rechner haben +und die Kernelquellen irgendwo in Ihr Home-Verzeichnis entpacken werden<footnote> + +<para> + +Es gibt auch andere Verzeichnisse, in die Sie die Kernelquellen entpacken und +wo Sie Ihren eigenen Kernel bauen können, aber dieses ist der einfachste Weg, +da er keine speziellen Berechtigungen erfordert. + +</para> + +</footnote>. Ebenso gehen wird davon aus, dass Ihre zu bauende Kernel-Version +&kernelversion; ist. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis +befinden, in das Sie die Kernelquellen entpacken möchten und extrahieren Sie +sie mittels <userinput>tar xjf /usr/src/kernel-source-&kernelversion;.tar.bz2</userinput>. +Wechseln Sie in das Verzeichnis <filename>kernel-source-&kernelversion;</filename>, +das erzeugt wurde. + +</para><para> + +Sie können jetzt Ihren Kernel konfigurieren. Führen Sie <userinput>make +xconfig</userinput> aus, wenn X11 installiert, konfiguriert und gestartet ist; +andernfalls nehmen Sie <userinput>make menuconfig</userinput> (hierzu muss +das Paket <classname>libncurses5-dev</classname> installiert sein). Nehmen Sie sich +die Zeit, die Onlinehilfe zu lesen, und wählen Sie sorgfältig die Optionen aus. +Wenn Sie Zweifel haben, ist es typischerweise besser, den zweifelhaften +Gerätetreiber mit in den Kernel zu integrieren (ein Gerätetreiber ist ein +Stück Software, das Hardware-Peripherie verwaltet, wie z.B. Ethernetkarten, +SCSI-Controller und so weiter). Seien Sie vorsichtig: andere Optionen, die nicht +zu einer bestimmten Hardwarekomponente gehören, sollten Sie auf dem Standardwert +belassen, wenn Sie sie nicht verstehen. Vergessen Sie nicht, den +<quote>Kernel module loader</quote> unter <quote>Loadable module support</quote> +zu aktivieren (diese Option ist standardmäßig nicht aktiv). Tun Sie dies nicht, wird +Ihr Debian-System Probleme machen. + +</para><para> + +Säubern Sie den Kernelquellen-Baum und setzen Sie die +<classname>kernel-package</classname>-Parameter zurück. Dies erledigen Sie mit +<userinput>make-kpkg clean</userinput>. + +</para><para> + +Kompilieren Sie jetzt den Kernel mit: +<userinput>fakeroot make-kpkg --revision=custom.1.0 kernel_image</userinput>. +Die Versionsnummer <quote>1.0</quote> können Sie nach Belieben ändern. Sie wird nur +von Ihnen selbst verwendet, um Ihre verschiedenen Kernel zu verwalten. +Ebenso können Sie jedes andere Wort statt <quote>custom</quote> verwenden (z.B. den +Host-Namen des Rechners). Die Kernelkompilierung könnte eine ganze Weile dauern, +abhängig von der Leistungsfähigkeit Ihres Rechners. + +</para><para condition="supports-pcmcia"> + +Wenn Sie PCMCIA-Support benötigen, müssen Sie ebenfalls das +<classname>pcmcia-source</classname>-Paket installieren. Entpacken Sie die +gzip-tar-Datei als root in das Verzeichnis <filename>/usr/src</filename> +(es ist wichtig, dass die Module dort gefunden werden, wo sie gesucht werden, +nämlich in <filename>/usr/src/modules</filename>). Führen Sie dann als root +<userinput>make-kpkg modules_image</userinput> aus. + +</para><para> + +Sobald die Kompilierung beendet ist, können Sie Ihren eigenen Kernel wie +ein Paket installieren. Tippen Sie als root <userinput>dpkg -i +../kernel-image-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput> +ein. Der Teil <replaceable>subarchitecture</replaceable> im Dateinamen ist eine +optionale Bezeichnung für die Unterarchitektur, <phrase arch="i386"> wie +z.B. <quote>i586</quote>, </phrase> +abhängig davon, welche Kerneloptionen Sie gesetzt haben. +<userinput>dpkg -i kernel-image...</userinput> installiert den Kernel +zusammen mit ein paar anderen dazugehörigen Dateien. Zum Beispiel wird +die <filename>System.map</filename> korrekt installiert +(dies ist nützlich für die Fehlersuche bei Kernelproblemen) und +<filename>/boot/config-&kernelversion;</filename> wird installiert, +sie enthält Ihre aktuelle Konfiguration. Ihr neues +<classname>kernel-image-&kernelversion;</classname>-Paket ist ebenfalls +clever genug, automatisch eine Aktualisierung Ihres Bootloaders zu starten, +die es Ihnen erlaubt, den neuen Kernel zu booten, ohne den Bootloader manuell +neu konfigurieren zu müssen. Wenn Sie auch ein Modul-Paket erzeugt +haben, weil Sie z.B. PCMCIA benötigen, müssen Sie auch dieses Paket noch +installieren. + +</para><para> + +Jetzt ist es Zeit, einen Systemneustart zu machen: lesen Sie aufmerksam +alle Warnungen, die die vorherigen Schritte unter Umständen erzeugt haben, +und tippen Sie dann <userinput>shutdown -r now</userinput> ein. + +</para><para> + +Mehr Informationen über <classname>kernel-package</classname> enthält +die tolle Dokumentation in <filename>/usr/share/doc/kernel-package</filename>. + +</para> + </sect2> + </sect1> |