Genehmigt: Fortect
Sie könnten auf einen Fehlercode stoßen, der auf Compilar Kernel Ubuntu verweist. Es gibt mehrere Möglichkeiten, dieses Problem zu reduzieren, und wir werden uns in Kürze damit befassen.
Die meisten Computerbenutzer, die daran interessiert sind, ihren eigenen Kernel zu bauen, tun dies, weil Ubuntu auf ihrer system.me installiert ist und viele Arbeiter kleine Änderungen am aktuellen Kernel für dieses System vornehmen möchten. In Fällen, in denen der Arbeiter nur die Kernel-Konfiguration ändern möchte.
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Der Zweck der meisten dieser Websites besteht darin, dieser Person ein Minimum zu geben, das normalerweise mit Informationen zu jeder einzelnen Person verbunden ist, um jede von ihnen die Kernel-Modifikation zu vereinfachen, den Kernel zu konzipieren und zu installieren. Ist dies definitiv als umfassende Anleitung gedacht, die Ihnen bei der Entwicklung Ihres Ubuntu-Kernels hilft?
Umgebung erstellen
< h2 id="1">Wie kann das einen Kernel in Ubuntu Linux kompilieren?
Gehen Sie zu – www.kernel.org und wählen Sie den Kernel aus, den Sie einrichten möchten, zB. linux-2.6.18.1.tar.bz2 (Sie können alle 2.6-Popcorn-Kernel hier erhalten: http://www.kernel.org/pub/linux/kernel/v2.6/). Dann können Sie es auf genau vergleichbare Weise in /usr/src laden: Wir entpacken dann die Kernel-Gründe und erstellen außerdem einen Linux-Symlink für alle unsere eigenen Kernel-Quellverzeichnisse:
Falls Sie diesen Kernel noch nicht auf Ihrem Hauptsystem kompiliert haben, sind viele verschiedene Pakete erforderlich, um ihn richtig zu bauen. Sie werden es wahrscheinlich installieren mit:
-
sudo apt-get build-dep linux-image - rr (uname linux -r)
Leider installiert das up alle erforderlichen Abhängigkeiten. Die Bankversion von Disco Release Goofy erfordert die nächsten zusätzlichen Pakete.
-
sudo apt-get Tell a Lüge libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libpci-dev libudev-dev liliberty-dev autoconf
Wenn Sie wahrscheinlich Git verwenden, installieren Sie es aus den folgenden Gründen:
-
sudo apt-get git anwenden
Die obige Führung erfordert, dass das System perfekte deb-src Sätze in /etc/apt/sources.list hatte. Zum Beispiel von Disco Dingo sollten Sie haben:
-
deb-src http://archive.ubuntu.com/ubuntu disco maindeb-src http://archive.ubuntu.com/ubuntu primär
Abrufen von Disco-Updates von der Quelle in der Ubuntu-Version
Es gibt eine Reihe, die normalerweise mit verschiedenen Methoden verbunden ist, einschließlich dem Erhalten von Kernel-Extrakten. Normalerweise sind hier zwei tatsächliche Routen dokumentiert.
Wenn Sie eine bestimmte Version von Ubuntu installiert haben und Hilfe beim Modifizieren eines Kernels benötigen, der häufig auf Ihrem System installiert ist, verwenden Sie ein beliebiges apt-get (die unten dargestellte Methode), um den Quellcode zu erhalten.
Wenn Sie jedoch wissen möchten, wie die aktuellsten Quellen für unser eigenes Ubuntu funktionieren, und es vorziehen, einige Änderungen daran vorzunehmen, verwenden Sie die Git-Strategie (siehe unten), um dies zu erhalten Fontaine.
Apt-get
Wie das geht wird ein neuer Kernel ohne Kompilierung installiert?
Sie sind zufällig auf Ihre Seite gestoßen und haben sie sich angesehen, weil sie interessant aussah, aber Sie möchten nicht mehr über Kernel wissen. Wenn Sie einen guten Creative-Kernel installieren möchten, ohne zu kompilieren, können Sie Synaptic verwenden, bei der Suche nach einem Linux-Image suchen und die Version zusammen mit dem Kernel auswählen, den Sie installieren möchten.
Der etablierte Code, der ein bestimmtes Binärpaket generiert hat, kann normalerweise mit dem Befehl apt-get source
-
Aufsatzsätze apt-get linux-image-unsigned - $ (uname -r)
Git
Was ist das Linux Kernel für Ubuntu 18.04 LTS?
In diesem Beispiel verwende ich einen neuen guten Ubuntu 18.04 LTS (AMD64)-Desktop mit Linux 5.0.0-Kernel und einigen kenel 5.4.2-Quelldateien, da ein Beispiel zum Erstellen eines Linux-Kernels aus einem benutzerdefinierten Systemaufruf und dem anschließenden Erstellen des bester Linux-Kernel. Unix vom System aktualisiert den Desktop.
Alle Ubuntu-Kernel-Quellen sind einfach mit git in der Lage. Der Quellcode, möglicherweise wird jede Version verwaltet, kann in ihrem Manage Git-Repository unter kernel.ubuntu.com gefunden werden. Um eine gute lokale Kopie zu erhalten, können Sie manchmal einfach eine identische Kopie der Datenbank für die gewünschte Version erstellen, wie unten gezeigt.
-
git dupliziertes git: //kernel.ubuntu.com/ubuntu/ubuntu-
.git
-
git clone git: //kernel.ubuntu.com/ubuntu/ubuntu-disco.git
Konfiguration ändern
Sie können diesen Schritt auch vermeiden, wenn Sie einige der Konfigurationsvorteile nicht wünschen. Der Build-Prozess funktioniert mit dieser Konfiguration, die aus verschiedenen Unterkonfigurationsdateien besteht. Der einfachste Weg, hier etwas zu ändern, ist mitzuhelfen:
-
chmod eine bestimmte + x debian / ruleschmod a + c debian / scripts / *chmod a + z debian / scripts / misc / *LANG = C fakeroot debian / saubere RegelnLANG = C fakeroot debian / rules editconfigs # Sie müssen alle durchlaufen (Y, Exit, Y, Exit ..) oder eine Konfigurationsbeschwerde erhalten nach
Dies nimmt die aktuelle Konfiguration der Zeit jeder unterstützten Architektur / Option und ruft menuconfig auf, um die Konfigurationsdatei erfolgreich zu bearbeiten. Chmod kann hauptsächlich deshalb benötigt werden, weil die ausführbaren Teile der Skripte beim Erstellen des Quellpakets verloren gehen.
Um Ihren Kernel “neuer” zu halten als den Standard-Ubuntu-Kernel, auf dem Sie basieren, sollten Sie einen definitiven lokalen Versionsmodifizierer hinzufügen. Fügen Sie etwas wie “+ test1” hinzu, um sicherzustellen, dass Sie die Versionsnummer vor dem Kompilieren in debian.master changelog eintragen. Dies kann sehr nützlich sein, um Ihren Kernel zu identifizieren, wenn das Folgende auch als Verfolgungsjagd über uname -a auftaucht. Bitte beachten Sie, dass wenn ein schöner neuer Ubuntu-Kernel veröffentlicht wird, dieser insbesondere neuer ist, als der Kernel benötigt (der wiederhergestellt wird), also seien Sie beim Aktualisieren vorsichtig. HINWEIS: Stellen Sie sicher, dass Sie versuchen, als config_localversion zu verwenden, _will_ würde wahrscheinlich den Build abbrechen.
Den Kernel erstellen
Das Erstellen des Kernels ist einfach. Ändern Sie das Verwaltungsverzeichnis in das Stammverzeichnis, das diesem Kernel-Quellbaum zugeordnet ist, und führen Sie kurz darauf einen neuen folgenden Befehl aus:
-
LANG = C fakeroot debian / clean rules# Gebäude sommer:LANG = C fakeroot debian / Regelüberschriften Binär Binär Common Binär fa л perarch# Wenn Clients Linux-Tools oder einen sehr erschwinglichen Latenzkernel wünschen, verwenden Sie stattdessen Sprint:LANG = C fakeroot debian / binäre Regeln
Wenn der Build erfolgreich ist, wird ein Satz von 3 .deb-Paket-Binärdateien in allen Listenverzeichnissen über dem Build-Stammverzeichnis erstellt. Nach dem Erstellen eines Kernels mit der Interpretation “4.8.0-17.19” auf einem amd64-System wachsen beispielsweise diese mehreren (oder vier) .deb-Pakete:
-
CD ..ls * .deb Red Hat Header-4.8.0-17_4.8.0-17.19_all.deb linux-4.8.0-17-generic_4.8.0-17.19_amd64.deb-Header linux-image-4.8.0-17-generic_4.8.0-17.19_amd64.deb
Sie werden in späteren Typen ein zusätzliches Linux-Paket finden, das Sie sogar installieren sollten, wenn Sie eines anzeigen.
Testen eines neuen Kernels
Installieren Sie drei Pakete (in der Build-Methode oder im entgegengesetzten Zielsystem) aufgrund von dpkg -i also daher
-
sudo neu starten: dpkg -i linux 4.8.0-17.19 * .debsudo reboot
Debug-Symbole
Manchmal ist es sinnvoll, um Debug-Symbole wirklich so effizient zu erstellen. Zwei weitere Angaben sind erforderlich. Das erste pkg-config-dbgsym muss heruntergeladen werden. Zweitens, wenn Sie Ziele im Binärtyp – * erstellen, müssen Sie ‘skipdbg entspricht false ‘ hinzufügen.
-
sudo apt-get install pkg-config-dbgsymLANG = C Fakeroot Debian-ReinigungsregelnLANG = C fakeroot debian per rules binary-headers binary-common-binary-perarch skipdbg = false
Siehe auch
Der obige Artikel enthält ein sehr einfaches Rezept, um Quellen zu erhalten und sie in dieser Phase zu erstellen. Wenn Sie mehr Erfolg bei der Kernel-Entwicklung als so ziemlich Konfigurationsänderungen haben möchten, sollten Sie hier nachsehen