Connect with us

Wie man

So passen Sie Ihren Ubuntu-Kernel an

So passen Sie Ihren Ubuntu-Kernel an

Die Anpassung des Kernels ist nicht jedermanns Sache. Bitte beachten Sie, bevor Sie dies versuchen, dass es Ihr System beschädigen kann.

Es gibt eine Reihe von Gründen, warum Sie Ihren Kernel anpassen möchten. Möglicherweise möchten Sie Ihren Kernel nur auf die erforderlichen Dienste reduzieren, insbesondere wenn Sie einen Server oder ein dediziertes Gerät ausführen, für das nur das Wesentliche erforderlich ist. Möglicherweise müssen Sie Ihren Kernel auch patchen, um Hardware zu unterstützen, die derzeit nicht mit dem Kernel unterstützt wird, auf dem Sie ausgeführt werden.

In diesem Artikel wird nicht erläutert, wie Sie Ihren Kernel patchen, sondern nur, wie Sie Ihren aktuellen Kernel anpassen. Ich werde einen weiteren Folgeartikel haben, in dem erklärt wird, wie Sie Ihren Kernel patchen, und einige praktische Gründe, warum Sie dies tun möchten.

Zu Beginn müssen wir herausfinden, welche Version des Kernels wir gerade ausführen. Wir werden dafür den Befehl uname verwenden

$ uname -r

2.6.17-10-generisch

Jetzt müssen wir die Linux-Quelle für Ihren Kernel installieren. Beachten Sie, dass ich den Kernel 2.6.17-10 ausführe, sodass die Installationszeile dies widerspiegelt. Für die Zwecke dieses Artikels können Sie die Kernelnummer durch die von Ihnen ausgeführte ersetzen. Wir müssen auch die Curses-Bibliothek und einige andere Tools installieren, um das Kompilieren zu erleichtern.

sudo apt-get install linux-source-2.6.17 Kernel-Paket libncurses5-dev fakeroot

Wenn Sie neugierig sind, wo die Linux-Quelle installiert wird, können Sie mit dem Befehl dpkg die Dateien in einem Paket anzeigen. Hier ist die Ausgabe auf meinem System:

$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(getrimmt)

Wir können sehen, dass die Quelle in einer komprimierten Datei im Verzeichnis / usr / src installiert wurde.

Um die Sache zu vereinfachen, versetzen wir uns in den Root-Modus, indem wir mit sudo eine neue Shell öffnen. Es gibt andere Möglichkeiten, dies zu tun, aber ich bevorzuge diese Möglichkeit.

sudo / bin / bash

Wechseln Sie nun in das Quellverzeichnis, damit wir es installieren können. Beachten Sie, dass Sie möglicherweise das Dienstprogramm bunzip installieren müssen, wenn es nicht installiert ist. (Es war auf meiner)

cd / usr / src

bunzip2 linux-source-2.6.17.tar.bz2

tar xvf linux-source-2.6.17.tar

ln -s linux-source-2.6.17 linux

Erstellen Sie eine Kopie Ihrer vorhandenen Kernelkonfiguration, die für den benutzerdefinierten Kompilierungsprozess verwendet werden soll. Beachten Sie, dass das Zeichen `das Zeichen unterhalb der Tilde ~ ist

cp / boot / config-`uname -r` /usr/src/linux/.config

Jetzt starten wir das Dienstprogramm, mit dem wir den Kernel anpassen können:

cd / usr / src / linux

mache menuconfig

Gehen Sie zunächst zu Laden einer alternativen Konfigurationsdatei und laden Sie die .config-Datei. (Drücken Sie einfach die Eingabetaste)

Jetzt, da wir uns im Dienstprogramm befinden, können wir die Optionen für unseren benutzerdefinierten Kernel festlegen. Die Navigation ist ziemlich einfach. Oben steht eine Legende, wenn Sie sich verlaufen. Ich entschied mich für Networking und drückte die Eingabetaste, um in diese Kategorie zu gelangen.

Amateurfunk-Unterstützung? Wofür zum Teufel ist das installiert? Sie werden am * erkennen, dass es in den Kernel integriert ist.

Durch Drücken der Taste? Schlüssel, wir können die Hilfe für diesen bestimmten Artikel sehen. Hier ist die Erklärung:

Nun, ich werde das sofort deaktivieren. Warum um alles in der Welt ist das überhaupt in meinem Kernel installiert? Ich drücke Esc, um den Hilfebildschirm zu verlassen, und drücke dann N, um das aus meinem Kernel auszuschließen.

Wenn Sie alle gewünschten Entscheidungen getroffen haben, klicken Sie auf Beenden und speichern Sie die Konfiguration, wenn Sie dazu aufgefordert werden.

Jetzt haben wir eine Konfiguration zum Kompilieren bereit. Zuerst machen wir eine Bereinigung, nur um sicherzustellen, dass alles für die Kompilierung bereit ist.

make-kpkg sauber

Als nächstes kompilieren wir den Kernel. Dies wird eine lange Zeit dauern, also suchen Sie sich etwas Interessantes zu tun.

fakeroot make-kpkg –initrd –append-to-version = -custom kernel_image kernel_headers

Dieser Prozess erstellt zwei .deb-Dateien in / usr / src, die den Kernel enthalten. Die Linux-Image-Datei **** ist das eigentliche Kernel-Image, und die andere Datei enthält die Datei Sie können beide mit dpkg installieren. Die Dateinamen werden auf Ihrem System wahrscheinlich unterschiedlich sein.

Beachten Sie, dass beim Ausführen dieser nächsten Befehle der neue Kernel als neuer Standardkernel festgelegt wird. Das könnte Dinge kaputt machen! Wenn Ihr Computer nicht startet, können Sie im GRUB-Lademenü auf Esc klicken und Ihren alten Kernel auswählen. Sie können dann den Kernel in /boot/grub/menu.lst deaktivieren oder versuchen, ihn erneut zu kompilieren.

dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

Starten Sie nun Ihren Computer neu. Wenn alles funktioniert, sollten Sie Ihren neuen benutzerdefinierten Kernel ausführen. Sie können dies mit uname überprüfen. Beachten Sie, dass die genaue Anzahl auf Ihrem Computer unterschiedlich ist.

uname -r

2.6.17.14-ubuntu1-custom

Ich habe vor, eine Reihe von Artikeln zur Kernelanpassung zu schreiben. Abonnieren Sie daher den RSS-Feed, um Updates zu erhalten.

Im Interesse einer vollständigen Offenlegung habe ich aus dem Artikel unter gelernt, wie dies zu tun ist HowtoForgeDies ist eine großartige Website für einige sehr fortgeschrittene Tutorials unter Linux. Sie werden feststellen, dass viele der Schritte in diesem Artikel ähnlich sind, obwohl ich versucht habe, diesen Artikel „Ubuntu“ zu machen.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia