Werbung

Zusammen mit Gentoo installieren Gentoo: Eine Linux-Distribution, in der Sie Ihre eigene optimierte Software kompilierenDie schiere Anzahl der verschiedenen Möglichkeiten, wie Linux ausgeführt werden kann, ist erstaunlich, da es viele Möglichkeiten gibt. Zwar gibt es viele Distributionen, die entweder auf der .deb ... Weiterlesen Das Kompilieren Ihres eigenen Linux-Kernels ist eines der Dinge, die als sehr geekig und technisch angesehen werden. Das haben wir schon deckte einige Gründe ab 3 Gründe, warum Sie möglicherweise Ihren eigenen Kernel kompilieren möchten [Linux]Linux-Systeme sind so lächerlich flexibel und konfigurierbar, dass es geradezu verrückt ist. Ein großer Teil der Gründe, warum Linux so flexibel ist, liegt in seiner modularen Struktur. Jede einzelne Systemkomponente und jedes einzelne Programm ist aufgeteilt ... Weiterlesen warum möchten Sie dies vielleicht tun. Bevor wir Sie durch die Schritte führen, finden Sie hier einen kurzen Überblick über einige wichtige Konzepte.

Was ist ein Kernel?

Kurz gesagt, es ist ein wichtiger Teil Ihres Betriebssystems, wenn nicht der wichtigste. Ein Betriebssystem ist dafür verantwortlich, dass Ihre Programme funktionieren, indem es ihnen Zugriff auf Ihre Hardware gewährt. Es ist jedoch das Kernel Was ist ein Kernel unter Linux und wie überprüfen Sie Ihre Version?Linux ist ein Betriebssystem, oder? Nun, nicht genau! Es ist eigentlich ein Kernel. Aber was ist der Linux-Kernel? Weiterlesen das führt eigentlich alle diese Jobs aus.

Der Linux-Kernel ist insofern besonders, als er auf Ihre eigene Hardware zugeschnitten werden kann. Vergleichen Sie dies mit dem Windows NT-Kernel, der im Allgemeinen auf allen Computern gleich ist. Dazu muss der Kernel einen Prozess namens Kompilieren durchlaufen.

Weitere Informationen finden Sie unter unsere Einführung in Kernel unter Linux Was ist ein Kernel unter Linux und wie überprüfen Sie Ihre Version?Linux ist ein Betriebssystem, oder? Nun, nicht genau! Es ist eigentlich ein Kernel. Aber was ist der Linux-Kernel? Weiterlesen .

Was ist Kompilieren?

Im Allgemeinen werden Programme in einem für Menschen lesbaren Format geschrieben. Dies erleichtert es den Menschen, Software zu erstellen. Zum Beispiel ist der Linux-Kernel hauptsächlich in einer Programmiersprache namens geschrieben C.. Computer können dies jedoch nicht verstehen. Sie erkennen nur eine komplizierte Sprache namens Maschinensprache. Dazu müssen die Textzeilen sein übersetzt Kompilieren und Installieren von TAR GZ- und TAR BZ2-Dateien unter Ubuntu Linux Weiterlesen mit einer speziellen Software namens a Compiler.

Verschiedene Compiler werden verwendet, um verschiedene Programmiersprachen zu konvertieren. Zum Beispiel, GCC ist ein Compiler, der C-Code (unter anderem) in Maschinencode übersetzt. Aber das ist noch nicht alles - Compiler können es auch optimieren der übersetzte Code für bestimmte Maschinen. Gleichzeitig können sie dabei auch unerwünschte Funktionen aus Programmen entfernen.

Normalerweise wird dieser Vorgang bereits für viele Softwareprogramme durchgeführt. Stattdessen laden die Leute die konvertierten herunter binär Anweisungen, die sofort funktionieren. Zum Beispiel die Webbrowser Verwenden Sie 2016 den besten Webbrowser für Linux?Die Verwendung des "falschen" Browsers kann zu unnötigen Kopfschmerzen, Produktivitätsverlusten und sogar zu Datenverlusten führen. Welcher Browser ist der beste für Ihren Linux-Computer? Lass es uns herausfinden. Weiterlesen Sie laufen gerade und ist bereits kompiliert. Dies liegt daran, dass das Kompilieren etwas kompliziert und zeitaufwändig sein kann. Stellen Sie sich vor, Sie übersetzen ein großes Buch in eine Fremdsprache.

Kurz gesagt bedeutet das Kompilieren des Kernels, dass der Code in etwas konvertiert wird, das tatsächlich auf Ihrem Computer ausgeführt wird.

Abrufen von Kernelquellen

Ohne Kraftstoff kann man kein Feuer machen. Ebenso können Sie keine Programme kompilieren, wenn Sie den Code dafür überhaupt nicht haben. Die Methode ist mit wenigen Ausnahmen für die meisten Linux-Betriebssysteme im Allgemeinen dieselbe. Viele von ihnen liefern ihre eigenen benutzerdefinierten Kernelquellen. Sie sollten versuchen, dies zu verwenden, wenn Sie können. Zum Beispiel, wenn Sie a verwenden Debian-basiertes Betriebssystem Wie Ubuntu sollten Sie die Quellen mit den folgenden Befehlen installieren:

sudo apt-get update. sudo apt-get install linux-source. 
So kompilieren Sie Ihren eigenen Linux-Kernel Debian Linux Source

Sie können auch verschiedene Versionen dieses Pakets installieren (z. Linux-Source-4.8.0) wenn du möchtest. Sie finden die installierten Dateien in der /usr/src/ Navigieren Sie also dorthin und zeigen Sie den Inhalt an:

cd / usr / src / ls.

Sie sehen eine Datei, die mit endet .tar.bz2. Dies ist die Quelle, die Sie verwenden werden. Extrahieren Sie es mit diesem Befehl:

sudo tar xjvf linux-source-4.4.0.tar.bz2. 

Stellen Sie sicher, dass Sie die Datei natürlich durch den richtigen Namen ersetzen. Die Datei wird ziemlich groß sein, daher wird der Vorgang eine Weile dauern!

Alternative Methode

Wenn Sie möchten, können Sie Ihre Quellen von der erhalten offizielle Linux Kernel Website. Ich empfehle dies nur, wenn Ihr Linux-Betriebssystem sie nicht bereitstellt. Wählen Sie die gewünschte Version aus und laden Sie sie herunter. Wenn Sie diese Route durchlaufen, sollten Sie sie in einen leeren Ordner herunterladen. Wenn Sie in Zukunft weitere Kernel kompilieren möchten, haben Sie auf diese Weise einen schönen Ordner, in dem Sie sie organisieren können.

So kompilieren Sie Ihre eigenen Linux-Kernel-Vanilla-Kernel-Quellen

Extrahieren Sie anschließend die Datei mit dem folgenden Befehl:

tar xJvf linux-4.9.11.tar.xz
So kompilieren Sie Ihren eigenen Linux-Kernel Vanilla Linux Source

Stellen Sie sicher, dass Sie den Dateinamen verwenden, der der heruntergeladenen Version entspricht!

Passen Sie den Kernel an

In diesem Schritt können Sie auswählen, welche Teile des Kernels Sie entfernen möchten. Zum Beispiel wird der Kernel mit vielen verschiedenen Treibern für eine Vielzahl von Geräten ausgeliefert. Wenn Sie diese Unterstützung nicht benötigen, kann das Entfernen dieser Unterstützung zusammen mit einem kleineren Kernel einige Geschwindigkeitsvorteile bringen.

Voraussetzungen

Bevor Sie fortfahren, müssen Sie einige Programme installieren, mit denen Sie sie anpassen und kompilieren können.

Auf Debian-basierten Systemen benötigen Sie die Build-Essential Paket, unter anderem:

sudo apt-get install build-essential gcc libncurses5-dev libssl-dev. 

Das libncurses5-dev Das Paket erleichtert die Konfiguration des Kernels. Installieren Sie ihn daher unbedingt. Andere Linux-Betriebssysteme haben ein ähnliches Programm, das jedoch möglicherweise unter einem anderen Namen geführt wird. Zum Beispiel, wenn Sie verwenden Fedora 5 Gründe für die Verwendung von Pure Open Source Distro, FedoraFedora ist nicht so bekannt wie Ubuntu und hat den Ruf, schwer zu bedienen zu sein. Aber wenn dies zutrifft, warum verwenden so viele Menschen Fedora weiterhin? Weiterlesen , es heißt Flüche.

Wenn es noch nicht installiert ist, benötigen Sie auch das GNU Compiler Collection (GCC). Dies ist das Tool, das für die Übersetzung des Rohquellcodes in etwas verantwortlich ist, das für Computer verständlich ist. Das heißt kompilieren.

Öffnen Sie nach der Installation dieser Programme Ihr Terminal, damit Sie es sind Innerhalb der extrahierte Linux-Quellordner. Zum Beispiel, wenn Sie die verwendet haben Linux-Quelle Methode, Sie würden dies tun:

cd /usr/src/linux-source-4.4.0

Kernel-Konfigurationsdatei

Bevor Sie den Kernel kompilieren, müssen Sie GCC mitteilen, wie Sie dies tun möchten. Sie tun dies mit einem Befehlszeilentool namens machen. Geben Sie diesen Befehl ein:

sudo make localmodconfig. 

Dadurch wird eine Datei mit dem Namen erstellt .config, die GCC mitteilt, was aus den Kernelquellen kompiliert werden soll. Das mache localmodconfig Der Befehl erkennt derzeit ausgeführte Kernelkomponenten und markiert sie zur Kompilierung. Wenn sich der Kernel in einem Ordner befindet, den Sie besitzen, sind Sie brauche kein sudo damit es funktioniert.

Möglicherweise stoßen Sie auf einige Nachrichten wie die folgende. Drücken Sie einfach die Eingeben Schlüssel zum Überspringen - normalerweise handelt es sich nur um neue Kernelfunktionen.

So kompilieren Sie Ihren eigenen Linux-Kernel Machen Sie Localmodconfig neu

Localmodconfig ist jedoch nicht perfekt! Wenn Sie derzeit einige Teile Ihres Computers nicht verwenden, erkennt er möglicherweise nicht alle unterstützten Funktionen. Daher müssen Sie sie manuell aktivieren. Alternativ können Sie diesen Schritt vollständig überspringen und stattdessen den nächsten Befehl verwenden. Dadurch wird der neue Kernel mit denselben Optionen kompiliert wie der, den Sie derzeit verwenden.

Wenn Sie dies bevorzugen, aber zuvor den Befehl localmodconifg verwendet haben, gehen Sie folgendermaßen vor:

Sudo sauber machen. 

Dies gibt Ihnen einen sauberen Build. Sie sollten diesen Befehl auch verwenden, wenn Sie zuvor einen Kernel mit diesen Quellen kompiliert haben.

Weitere Konfiguration

Im Kernel-Quellordner befindet sich eine Datei mit dem Namen .config. Dies ist, was GCC verwendet, um auszuwählen, was kompiliert werden soll. Anstatt es manuell zu bearbeiten (nicht empfohlen), verwenden Sie stattdessen einige Terminal-Tools. Dies erleichtert die Auswahl der Kompilierungsoptionen erheblich.

Nachdem Sie dies getan haben, stimmen Sie es weiter ab:

sudo make nconfig. 

Es erscheint ein farbenfrohes Menü. Dies ist das Kernel-Konfigurationsmenü. Verwenden Sie zum Navigieren die Pfeiltasten. Sie können die drücken richtig Pfeiltaste zum Erweitern von Einträgen mit a —> Zeichen neben ihnen. Navigieren Sie aus diesen Untermenüs heraus, indem Sie auf drücken links Pfeiltaste.

So kompilieren Sie Ihren eigenen Linux-Kernel Machen Sie Nconfig

Sie können Menüeinträge mit dem umschalten <> oder [] Zeichen neben ihnen durch Drücken der Leertaste. Dadurch werden die verschiedenen Menüoptionen durchlaufen. Wenn Sie eine sehen * oder M. Im Inneren wird diese spezifische Kernelkomponente kompiliert. Der einzige Unterschied zwischen ihnen ist, dass die M. Die Option wird bei Bedarf geladen. Dies kann nützlich sein, wenn Sie beispielsweise einen Treiber kompilieren, der nicht häufig verwendet wird.

Wenn Sie mehr über die Funktionsweise eines bestimmten Schalters erfahren möchten, drücken Sie F2 darüber. Sie sehen eine hilfreiche Beschreibung dessen, was Sie kompilieren.

So kompilieren Sie Ihren eigenen Linux-Kernel Machen Sie Nconfig F2

Wenn Sie fertig sind, drücken Sie die Taste F9 Schaltfläche zum Speichern und Beenden.

So kompilieren Sie Ihren eigenen Linux-Kernel Machen Sie Nconfig Save

Kompilieren und Installieren des Kernels

Nachdem Sie eine benutzerdefinierte Make-Datei erstellt haben, müssen Sie dies tun kompilieren Kompilieren und Installieren von TAR GZ- und TAR BZ2-Dateien unter Ubuntu Linux Weiterlesen der Kernel. Geben Sie diesen Befehl ein:

sudo make -j $ (nproc --all)

Du wirst brauche kein sudo wenn Sie die Kernelquellen aus dem Internet heruntergeladen haben. Der zweite Teil des Befehls beschleunigt die Kompilierungszeit des Kernels, indem er alle Ihre Vorteile nutzt CPU-Kerne Was ist ein Prozessorkern? [MakeUseOf erklärt]Jeder Computer verfügt über einen Prozessor, egal ob es sich um einen kleinen Effizienzprofi oder ein leistungsstarkes Kraftpaket handelt, sonst könnte er nicht funktionieren. Natürlich der Prozessor, auch CPU oder Central Processing genannt ... Weiterlesen . Sie können dies loswerden oder die Nummer in etwas anderes ändern (z. -j2), wenn Sie Ihren Computer für andere Aufgaben ohne zu viele Probleme verwenden möchten. Dies verlangsamt jedoch auch das Kompilieren!

Dieser Vorgang kann und wird sehr lange dauern. Je weniger Sie kompilieren möchten, desto kürzer wird es. Trotzdem müssen Sie wahrscheinlich geduldig sein.

Geben Sie anschließend diesen Befehl ein, um die Kompilierung des restlichen Kernels abzuschließen:

sudo make modules_install. 

Um diesen Kernel tatsächlich zu verwenden, müssen Sie den folgenden Befehl eingeben:

sudo make install. 

Dadurch wird der Kernel automatisch auf Ihren kopiert /boot Ordner und generieren Sie die entsprechenden Dateien, damit es funktioniert.

Kernel wechseln mit GRUB

Wenn Sie nach der Installation Ihres neuen Kernels neu starten, Ihr System funktioniert möglicherweise nicht! Dies liegt normalerweise an einem nicht ordnungsgemäß kompilierten Kernel (dh, dass Ihr Computer nicht gut genug unterstützt wird). Ein typisches Beispiel ist mein eigener Laptop. Nur für den Fall, dass dies passiert, empfehle ich Bearbeitung von GRUB So passen Sie den GRUB Bootloader mit BURG an [Ubuntu] Weiterlesen damit es wieder zu älteren Kerneln wechseln kann. Verwenden Sie dazu den folgenden Befehl:

sudo nano / etc / default / grub. 
So kompilieren Sie Ihren eigenen Linux-Kernel Ubuntu GRUB

Platzieren Sie ein # -Zeichen vor dem GRUB_HIDDEN_TIMEOUT und GRUB_HIDDEN_TIMEOUT_QUIET Linien. Speichern Sie anschließend diese Änderungen, indem Sie den folgenden Befehl ausführen:

sudo grub-mkconfig -o /boot/grub/grub.cfg. 
So kompilieren Sie Ihr eigenes Linux-Kernel-GRUB-Menü

Wenn Sie jetzt Ihren Computer neu starten, können Sie zu einem älteren Kernel wechseln, wenn Ihr neuer nicht funktioniert. Gehen Sie einfach zum Erweiterte Optionen Menüpunkt und wählen Sie den Kernel aus, den Sie starten möchten. Wenn alles gut geht, herzlichen Glückwunsch! Sie verwenden den Kernel, den Sie selbst kompiliert haben.

Möchten Sie weitere Kernel kompilieren? Andere Programme? Finden Sie es lohnenswert?

Bildnachweis: Chombosan / Shutterstock

Austin Luong studiert derzeit für ein BIT und ist ein begeisterter Linux-Enthusiast, der es liebt, sich für freie Software einzusetzen. Er schreibt auch gerne Science-Fiction, aber nur in der Privatsphäre seiner Festplatte.