| 1 |
<!-- retain these comments for translator revision tracking --> |
<!-- retain these comments for translator revision tracking --> |
| 2 |
<!-- original version: 23678 untranslated --> |
<!-- original version: 23678 --> |
| 3 |
|
|
| 4 |
<sect1 id="kernel-baking"><title>Compiling a New Kernel</title> |
<sect1 id="kernel-baking"><title>Einen neuen Kernel kompilieren</title> |
| 5 |
<para> |
<para> |
| 6 |
|
|
| 7 |
Why would someone want to compile a new kernel? It is often not |
Warum sollte jemand einen neuen Kernel kompilieren wollen? |
| 8 |
necessary since the default kernel shipped with Debian handles most |
Es ist oft nicht nötig, da der Standardkernel in Debian die meisten |
| 9 |
configurations. However, it is useful to compile a new kernel in order |
Konfigurationen bedient. Allerdings kann es unter folgenden Umständen nützlich |
| 10 |
to: |
sein, einen neuen Kernel zu kompilieren: |
| 11 |
|
|
| 12 |
<itemizedlist> |
<itemizedlist> |
| 13 |
<listitem><para> |
<listitem><para> |
| 14 |
|
|
| 15 |
handle special hardware needs, or hardware conflicts with the pre-supplied |
spezielle Hardwareanforderungen bewältigen oder Hardwarekonflikte mit den |
| 16 |
kernels |
vorkompilierten Kernels |
| 17 |
|
|
| 18 |
</para></listitem> |
</para></listitem> |
| 19 |
<listitem><para> |
<listitem><para> |
| 20 |
|
|
| 21 |
handle hardware or options not included in the stock kernel, such as |
Hardware oder zusätzliche Optionen unterstützen, die im Standardkernel nicht |
| 22 |
APM or SMP |
enthalten sind, wie z.B. APM oder SMP |
| 23 |
|
|
| 24 |
</para></listitem> |
</para></listitem> |
| 25 |
|
|
| 26 |
<listitem arch="i386"><para> |
<listitem arch="i386"><para> |
| 27 |
|
|
| 28 |
The compact and idepci flavors don't come with sound. Although |
Die »compact«- und »idepci«-Varianten haben keine Soundunterstützung. |
| 29 |
the vanilla kernel does, it might not work for other reasons. |
Der »vanilla«-Kernel hat Sound, aber er könnte aus anderen Gründen |
| 30 |
|
trotzdem nicht funktionieren. |
| 31 |
|
|
| 32 |
</para></listitem> |
</para></listitem> |
| 33 |
<listitem><para> |
<listitem><para> |
| 34 |
|
|
| 35 |
optimize the kernel by removing useless drivers to speed up boot |
den Kernel optimieren durch Entfernen von nicht benötigten Treibern, |
| 36 |
time |
um die Bootzeit zu verkürzen |
| 37 |
|
|
| 38 |
</para></listitem> |
</para></listitem> |
| 39 |
<listitem><para> |
<listitem><para> |
| 40 |
|
|
| 41 |
use options of the kernel which are not supported by the default |
Optionen des Kernels nutzen, die vom Standardkernel nicht unterstützt werden |
| 42 |
kernel (such as network firewalling) |
(wie z.B. Netzwerk-Firewall) |
| 43 |
|
|
| 44 |
</para></listitem> |
</para></listitem> |
| 45 |
<listitem><para> |
<listitem><para> |
| 46 |
|
|
| 47 |
run an updated or development kernel |
einen aktualisierten oder Entwicklungskernel verwenden |
| 48 |
|
|
| 49 |
</para></listitem> |
</para></listitem> |
| 50 |
<listitem><para> |
<listitem><para> |
| 51 |
|
|
| 52 |
impress your friends, try new things |
seine Freunde beeindrucken, neue Sachen ausprobieren |
| 53 |
|
|
| 54 |
</para></listitem> |
</para></listitem> |
| 55 |
</itemizedlist> |
</itemizedlist> |
| 56 |
|
|
| 57 |
</para> |
</para> |
| 58 |
|
|
| 59 |
<sect2><title>Kernel Image Management</title> |
<sect2><title>Kernel-Image-Management</title> |
| 60 |
<para> |
<para> |
| 61 |
|
|
| 62 |
Don't be afraid to try compiling the kernel. It's fun and profitable. |
Sie brauchen keine Angst davor zu haben, auszuprobieren, einen eigenen Kernel |
| 63 |
|
zu kompilieren. Es macht Spaß und ist profitabel. |
| 64 |
|
|
| 65 |
</para><para> |
</para><para> |
| 66 |
|
|
| 67 |
To compile a kernel the Debian way, you need some packages: |
Um auf die debiansche Art einen Kernel zu kompilieren, benötigen |
| 68 |
<classname>kernel-package</classname>, |
Sie ein paar Pakete: <classname>kernel-package</classname>, |
| 69 |
<classname>kernel-source-&kernelversion;</classname> (the most recent version |
<classname>kernel-source-&kernelversion;</classname> (dies war die neueste Version |
| 70 |
at the time of this writing), <classname>fakeroot</classname> and a |
zum Zeitpunkt, als dies geschrieben wurde), <classname>fakeroot</classname> |
| 71 |
few others which are probably already installed (see |
und ein paar weitere, die vielleicht schon installiert sind |
| 72 |
<filename>/usr/share/doc/kernel-package/README.gz</filename> for the |
(<filename>/usr/share/doc/kernel-package/README.gz</filename> enthält die |
| 73 |
complete list). |
komplette Liste). |
| 74 |
|
|
| 75 |
</para><para> |
</para><para> |
| 76 |
|
|
| 77 |
This method will make a .deb of your kernel source, and, if you have |
Diese Methode erstellt ein .deb-Paket aus den Kernelquellen und falls |
| 78 |
non-standard modules, make a synchronized dependent .deb of those |
Sie Nicht-Standard-Module verwenden auch ein synchrones .deb für diese |
| 79 |
too. It's a better way to manage kernel images; |
Module. Es ist ein besserer Weg, um die Kernel-Images zu verwalten |
| 80 |
<filename>/boot</filename> will hold the kernel, the System.map, and a |
(verglichen mit der Nicht-Debian-Methode, einen Kernel zu erzeugen); |
| 81 |
log of the active config file for the build. |
<filename>/boot</filename> enthält den Kernel, die dazugehörige |
| 82 |
|
System.map und ein Log der aktiven Konfigurationsdatei für den Bau des |
| 83 |
|
Kernels. |
| 84 |
|
|
| 85 |
</para><para> |
</para><para> |
| 86 |
|
|
| 87 |
Note that you don't <emphasis>have</emphasis> to compile your kernel |
Beachten Sie, dass Sie Ihren Kernel nicht auf Debian-Art kompilieren |
| 88 |
the ``Debian way''; but we find that using the packaging system to |
<emphasis>müssen</emphasis>, aber wir meinen, dass es erheblich sicherer |
| 89 |
manage your kernel is actually safer and easier. In fact, you can get |
und einfacher ist, das Paketsystem zur Verwaltung der Kernel zu verwenden. |
| 90 |
your kernel sources right from Linus instead of |
Sie können auch Ihre Kernelquellen direkt von Linus beziehen statt aus |
| 91 |
<classname>kernel-source-&kernelversion;</classname>, yet still use the |
dem <classname>kernel-source-&kernelversion;</classname>-Paket, aber |
| 92 |
<classname>kernel-package</classname> compilation method. |
trotzdem die <classname>kernel-package</classname>-Methode zum |
| 93 |
|
Kompilieren nutzen. |
| 94 |
|
|
| 95 |
</para><para> |
</para><para> |
| 96 |
|
|
| 97 |
Note that you'll find complete documentation on using |
Sie finden eine komplette Dokumentation zur Nutzung von |
| 98 |
<classname>kernel-package</classname> under |
<classname>kernel-package</classname> unter |
| 99 |
<filename>/usr/share/doc/kernel-package</filename>. This section just |
<filename>/usr/share/doc/kernel-package</filename>. Dieses Kapitel gibt |
| 100 |
contains a brief tutorial. |
nur eine kurze Einführung. |
| 101 |
|
|
| 102 |
</para><para> |
</para><para> |
| 103 |
|
|
| 104 |
Hereafter, we'll assume your kernel source will be located in |
Wir gehen hier davon aus, dass sich Ihre Kernelquellen in |
| 105 |
<filename>/usr/local/src</filename> and that your kernel version is |
<filename>/usr/local/src</filename> befinden und dass Ihre Kernelversion |
| 106 |
&kernelversion;. As root, create a directory under |
&kernelversion; ist. Erzeugen Sie als root ein Verzeichnis in |
| 107 |
<filename>/usr/local/src</filename> and change the owner of that |
<filename>/usr/local/src</filename> und ändern Sie den Eigentümer des |
| 108 |
directory to your normal non-root account. As your normal non-root |
Verzeichnisses auf Ihren normalen Nicht-Root-Benutzernamen. |
| 109 |
account, change your directory to where you want to unpack the kernel |
Wechseln Sie als normaler Nicht-Root-Benutzer in das Verzeichnis, |
| 110 |
sources (<userinput>cd /usr/local/src</userinput>), extract the kernel |
wo Sie die Kernelquellen auspacken möchten |
| 111 |
sources (<userinput>tar xjf |
(<userinput>cd /usr/local/src</userinput>), extrahieren Sie die Kernelquellen |
| 112 |
/usr/src/kernel-source-&kernelversion;.tar.bz2</userinput>), change your |
(<userinput>tar xjf /usr/src/kernel-source-&kernelversion;.tar.bz2</userinput>) |
| 113 |
directory to it (<userinput>cd |
und wechseln Sie in das entstandene Verzeichnis |
| 114 |
kernel-source-&kernelversion;/</userinput>). |
(<userinput>cd kernel-source-&kernelversion;/</userinput>). |
| 115 |
|
|
| 116 |
</para><para> |
</para><para> |
| 117 |
|
|
| 118 |
Now, you can configure your kernel. Run <userinput>make |
Sie können jetzt Ihren Kernel konfigurieren. Führen Sie <userinput>make |
| 119 |
xconfig</userinput> if X11 is installed, configured and being run, |
xconfig</userinput> aus, wenn X11 installiert ist, konfiguriert ist und läuft, |
| 120 |
<userinput>make menuconfig</userinput> otherwise (you'll need |
andernfalls nehmen Sie <userinput>make menuconfig</userinput> (hierzu muss |
| 121 |
<classname>ncurses-dev</classname> installed). Take the time to read |
das <classname>ncurses-dev</classname>-Paket installiert sein). Nehmen Sie sich |
| 122 |
the online help and choose carefully. When in doubt, it is typically |
die Zeit, die Onlinehilfe zu lesen und wählen Sie sorgfältig die Optionen aus. |
| 123 |
better to include the device driver (the software which manages |
Wenn Sie Zweifel haben, ist es typischerweise besser, den zweifelhaften |
| 124 |
hardware peripherals, such as Ethernet cards, SCSI controllers, and so |
Gerätetreiber mit in den Kernel zu integrieren (ein Gerätetreiber ist ein |
| 125 |
on) you are unsure about. Be careful: other options, not related to a |
Stück Software, das Hardware-Peripherie verwaltet, wie z.B. Ethernetkarten, |
| 126 |
specific hardware, should be left at the default value if you do not |
SCSI-Controller und so weiter). Seien Sie vorsichtig: andere Optionen, die nicht |
| 127 |
understand them. Do not forget to select ``Kernel module loader'' in |
zu einer bestimmten Hardwarekomponente gehören, sollten Sie auf dem Standardwert |
| 128 |
``Loadable module support'' (it is not selected by default). If not |
belassen, wenn Sie sie nicht verstehen. Vergessen Sie nicht, den |
| 129 |
included, your Debian installation will experience problems. |
``Kernel module loader'' unter ``Loadable module support'' zu aktivieren |
| 130 |
|
(diese Option ist standardmäßig nicht aktiv). Tun Sie dies nicht, wird |
| 131 |
|
Ihr Debian-System Probleme machen. |
| 132 |
|
|
| 133 |
</para><para> |
</para><para> |
| 134 |
|
|
| 135 |
Clean the source tree and reset the <classname>kernel-package</classname> |
Säubern Sie den Kernelquellen-Baum und setzen Sie die |
| 136 |
parameters. To do that, do <userinput>make-kpkg clean</userinput>. |
<classname>kernel-package</classname>-Parameter zurück. Dies erledigen Sie mit |
| 137 |
|
<userinput>make-kpkg clean</userinput>. |
| 138 |
|
|
| 139 |
</para><para> |
</para><para> |
| 140 |
|
|
| 141 |
Now, compile the kernel: |
Kompilieren Sie jetzt den Kernel mit: |
| 142 |
<userinput>fakeroot make-kpkg --revision=custom.1.0 kernel_image</userinput>. |
<userinput>fakeroot make-kpkg --revision=custom.1.0 kernel_image</userinput>. |
| 143 |
The version number of ``1.0'' can be changed at will; this is just a |
Die Versionsnummer ``1.0'' können Sie nach Belieben ändern. Sie wird nur |
| 144 |
version number that you will use to track your kernel builds. |
von Ihnen selbst verwendet, um Ihre verschiedenen Kernel zu verwalten. |
| 145 |
Likewise, you can put any word you like in place of ``custom'' (e.g., |
Ebenso können Sie jedes andere Wort statt ``custom'' verwenden (z.B. den |
| 146 |
a host name). Kernel compilation may take quite a while, depending on |
Namen des Rechners). Die Kernelkompilierung könnte eine Weile dauern, |
| 147 |
the power of your machine. |
abhängig von der Leistungsfähigkeit Ihres Rechners. |
| 148 |
|
|
| 149 |
</para><para condition="supports-pcmcia"> |
</para><para condition="supports-pcmcia"> |
| 150 |
|
|
| 151 |
If you require PCMCIA support, you'll also need to install the |
Wenn Sie PCMCIA-Support benötigen, müssen Sie ebenfalls das |
| 152 |
<classname>pcmcia-source</classname> package. Unpack the gzipped tar file |
<classname>pcmcia-source</classname>-Paket installieren. Entpacken Sie die |
| 153 |
as root in the directory <filename>/usr/src</filename> (it's important that |
gzip-tar-Datei als root in das Verzeichnis <filename>/usr/src</filename> |
| 154 |
modules are found where they are expected to be found, namely, |
(es ist wichtig, dass die Module dort gefunden werden, wo sie gesucht werden, |
| 155 |
<filename>/usr/src/modules</filename>). Then, as root, do <userinput>make-kpkg |
nämlich in <filename>/usr/src/modules</filename>). Führen Sie dann als root |
| 156 |
modules_image</userinput>. |
<userinput>make-kpkg modules_image</userinput> aus. |
| 157 |
|
|
| 158 |
</para><para> |
</para><para> |
| 159 |
|
|
| 160 |
Once the compilation is complete, you can install your custom kernel |
Sobald die Kompilierung beendet ist, können Sie Ihren eigenen Kernel wie |
| 161 |
like any package. As root, do <userinput>dpkg -i |
ein Paket installieren. Tippen Sie als root <userinput>dpkg -i |
| 162 |
../kernel-image-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput>. |
../kernel-image-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput> |
| 163 |
The <replaceable>subarchitecture</replaceable> part is an optional |
ein. Der Teil <replaceable>subarchitecture</replaceable> im Dateinamen ist eine |
| 164 |
sub-architecture, |
optionale Unterarchitektur, <phrase arch="i386"> wie z.B. ``i586'', </phrase> |
| 165 |
<phrase arch="i386"> such as ``i586'', </phrase> |
abhängig davon, welche Kerneloptionen Sie gesetzt haben. |
| 166 |
depending on what kernel options you set. |
<userinput>dpkg -i kernel-image...</userinput> installiert den Kernel |
| 167 |
<userinput>dpkg -i kernel-image...</userinput> will install the |
zusammen mit ein paar anderen dazugehörigen Dateien. Zum Beispiel wird |
| 168 |
kernel, along with some other nice supporting files. For instance, |
die <filename>System.map</filename> korrekt installiert |
| 169 |
the <filename>System.map</filename> will be properly installed |
(dies ist nützlich für die Fehlersuche bei Kernelproblemen) und |
| 170 |
(helpful for debugging kernel problems), and |
<filename>/boot/config-&kernelversion;</filename> wird installiert, |
| 171 |
<filename>/boot/config-&kernelversion;</filename> will be installed, |
sie enthält Ihre aktuelle Konfiguration. Ihr neues |
| 172 |
containing your current configuration set. Your new |
<classname>kernel-image-&kernelversion;</classname>-Paket ist ebenfalls |
| 173 |
<classname>kernel-image-&kernelversion;</classname> package is also clever |
clever genug, automatisch eine Aktualisierung Ihres Bootloaders zu starten, |
| 174 |
enough to automatically use your platform's boot-loader to run an |
die es Ihnen erlaubt, den neuen Kernel zu booten, ohne den Bootloader |
| 175 |
update on the booting, allowing you to boot without re-running the |
neu konfigurieren zu müssen. Wenn Sie auch ein Modul-Paket erzeugt |
| 176 |
boot loader. If you have created a modules package, e.g., if you have |
haben, weil Sie z.B. PCMCIA benötigen, müssen Sie auch dieses Paket noch |
| 177 |
PCMCIA, you'll need to install that package as well. |
installieren. |
| 178 |
|
|
| 179 |
</para><para> |
</para><para> |
| 180 |
|
|
| 181 |
It is time to reboot the system: read carefully any warning that the |
Jetzt ist es Zeit, einen Systemneustart zu machen: lesen Sie aufmerksam |
| 182 |
above step may have produced, then <userinput>shutdown -r now</userinput>. |
alle Warnungen, die die vorherigen Schritte unter Umständen erzeugt haben |
| 183 |
|
und tippen dann <userinput>shutdown -r now</userinput> ein. |
| 184 |
|
|
| 185 |
</para><para> |
</para><para> |
| 186 |
|
|
| 187 |
For more information on <classname>kernel-package</classname>, read |
Mehr Informationen über <classname>kernel-package</classname> enthält |
| 188 |
the fine documentation in <filename>/usr/share/doc/kernel-package</filename>. |
die tolle Dokumentation in <filename>/usr/share/doc/kernel-package</filename>. |
| 189 |
|
|
| 190 |
</para> |
</para> |
| 191 |
</sect2> |
</sect2> |