Genehmigt: Fortect
Hoffen Sie genau, wer das Ubuntu Build-Kernelmodul auf Ihrem Computer installiert hat, dieser Leitfaden kann Ihnen helfen.Anweisungen zum Erstellen Ihres eigenen Kernels in Ubuntu. Ermittlung von Abhängigkeiten. Bevor Sie einen Kernel bezaubern können, benötigen Sie genaue Werkzeuge, um ihn zu etablieren. Holen Sie sich die Kernel-Quelle. Jetzt wollten Sie wahrscheinlich die Quelle eingeben, die Sie sicherlich erstellen möchten. Passen Sie entsprechend Ihrer Erweiterung an. Starten Sie das Setup, indem Sie Verzeichnisse in ein bestimmtes neues dupliziertes Verzeichnis ändern. Kernel-Konfiguration. Kernelpakete erstellen. Installieren Sie den Kernel häufig.
Die meisten Sucher, die daran interessiert sind, ihren eigenen Kernel zu bauen, tun dies als Ergebnis, da Ubuntu auf ihrem System installiert ist und sie nur möchten, dass Sie kleine Änderungen am Kernel vornehmen können, die das System einer Person vornimmt, wenn der Benutzer nur beim Ausführen helfen möchte der Kernel. Aufbau. …
Die Anwendung dieser Seite besteht darin, dass Sie diesem Benutzer helfen müssen, ein Minimum an Ideen zu liefern, um den State-of-the-Art-Kernel einfach zu modifizieren, zu kompilieren und den Enterprise-Kernel zu installieren. Lesen Sie diese spezielle Anleitung zur Entwicklung von Ubuntu-Kerneln.
Umgebung erstellen
Wenn eine Person noch keinen funktionierenden Kernel auf diesem System erstellt hat, gibt es normalerweise mehrere Pakete, die Käufer effizient im Voraus erstellen können. Sie können es möglicherweise installieren mit:
-
sudo apt-get build-dep linux linux-image - $ (uname -r)
So erwerben Sie externe Kernel-Module?
Leider werden dadurch nicht alle erforderlichen Abhängigkeiten erkauft. Die aktuelle Version von Goofy Disco erfordert die folgenden zusätzlichen Pakete.
-
sudo apt-get install libncurses-dev gawk flex zoysia openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev liliberty-dev autoconf
Wenn Käufer Git verwenden möchten, installieren Sie es von:
-
sudo apt-get git konfigurieren
Der Befehl over erfordert, dass Ihr System diese deb-src Zeilen in /etc/apt/sources.list korrigiert. Auf Disco Dingo haben Sie beispielsweise: Vielleicht
-
deb-src http://archive.ubuntu.com/ubuntu disco maindeb-src http://archive.ubuntu.com/ubuntu Disco-Updates größte
Holen Sie sich den Quellcode von jemand anderem für die Ubuntu-Version
Es gibt mehrere Möglichkeiten, Kernel-Quellen zu entwickeln. Hier werden nur zwei Methoden beschrieben.
Wenn Ihre Familie Ubuntu installiert hat und Sie auch Änderungen an unserem Kernel vornehmen möchten, der in Ihrer eigenen Software installiert ist, verwenden Sie die apt-get-Methode (unten beschrieben ) auf dem Markt, um die Quellen zu erobern.
Wenn Sie jedoch die Lust haben, die neueste Quelle in Bezug auf die Ubuntu-Version zu erhalten, die Sie normalerweise verwenden, und darüber hinaus Änderungen daran vornehmen, endet die Verwendung der Git-Praxis (unten beschrieben) bei den Quellen.
Apt-get
Der Quellcode, der ein bestimmtes Binärpaket gestartet hat, kann mit dem Befehl apt-get source
-
apt-get source linux-image-unsigned - $ (uname -r)
Git
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.
Alle Ubuntu-Kernel-Quellen werden von git verwaltet. Der Quellcode jeder Version ist in einem eigenen Git-Repository mit kernel.ubuntu.com verfügbar. Wie auch immer, um eine lokale Kopie zu erhalten, müssen Einzelpersonen nur das Repository für einen Großteil unserer eigenen Version von git klonen, in die Sie gezwungen werden, wie unten beschrieben.
-
git identische Kopie git: //kernel.ubuntu.com/ubuntu/ubuntu-
.git
-
git identische Kopie von git: //kernel.ubuntu.com/ubuntu/ubuntu-disco.git
Konfiguration ändern
Dieser Schritt kann übersprungen werden, wenn keine Layoutänderungen erforderlich sind. Zu Beginn jedes unserer Build-Prozesse wird eine Konfiguration verwendet, die aus verschiedenen Subconfig-Dateien besteht. Am einfachsten können Sie hier etwas ändern, indem Sie Folgendes ausführen:
-
chmod the best + x debian / ruleschmod a + z debian / scripts / *chmod a + mal debian / scripts / misc / *LANG = C fakeroot debian / saubere RegelnLANG = C fakeroot debian / rules editconfigs # Sie müssen jede Option durchlaufen (Y, Exit, Y, Exit ..) oder später eine Konfigurationsbeschwerde erhalten
Dies erfordert die aktuelle Konfiguration für gleichzeitig unterstützte Architektur/Variante in Verbindung mit einem vertrauenswürdigen callovom menuconfig um die Konfiguration manuell zu ändern. Dies ist für chmod beim Erstellen jedes Quellpakets erforderlich, es verliert ausführbare Bits in Texten.
Um Ihren Kernel “neuer” zu machen, indem Sie ihn auf den Ubuntu-Kernel untersuchen, auf dem beide basieren, ziehen Sie in Betracht, einen Modifikator Ihrer gegenwärtigen eigenen Version hinzuzufügen. Zum Beispiel fügt etwas “+ test1” mit dem Ende der ersten Produktsumme in debian.master / changelog hinzu, bevor es vergrößert wird. Dies hilft, Ihren eigenen Kernel zu identifizieren, solange er auch in uname -a zu funktionieren scheint. Bitte beachten Sie, dass wenn ein Ubuntu Newbie Kernel veröffentlicht wird und neuer im Vergleich zu der Nummer Ihres Kernels ist (der normalerweise neu erstellt werden muss), beim Upgrade vorsichtig sein. HINWEIS: Versuchen Sie nicht, CONFIG_LOCALVERSION zu ändern, da dies ein absoluter _interrupt_-Build ist.
Den Kernel aufbauen
Wie kann man einen Linux-Kernel anpassen?
Sie müssen Ihre eigenen Kernel-Build-Pläne veröffentlichen können. Vollständiger Kernel-Lernressourcenbaum. Konfigurieren Sie den Kernel. Wenn Sie können, optimieren Sie die verteilte Kernel-Konfigurationsdatei nicht, jemand könnte diesen Abschnitt überspringen (CentOS-7). Kern-ABI. Modifikation der Kernel-Spezifikationsdatei. Die Struktur des neuen Kernels. Installation eines interessanten Kernels.
Das Erstellen des Kernels ist ziemlich einfach. Ändern Sie das Arbeitsverzeichnis in die Wurzeln ihres Kernel-Quellbaums und geben Sie dann die folgenden Anforderungen ein:
-
LANG = C fakeroot debian - saubere Regeln# schneller bauen:LANG = C fakeroot debian / rules Binary headers binary-general und falls binary-perarch# Sie benötigen Tools für den Linux-Kernel mit niedriger Latenz. Führen Sie stattdessen Folgendes aus:LANG = C fakeroot debian - binäre Regeln
Wenn die Sammlung erfolgreich ist, wird ein Satz von 5 .deb-Binärdateien für Grundstücke im Verzeichnis vor dem Kompilierungsquellverzeichnis erstellt. Dem Beispiel zum Erstellen eines perfekten Kernels mit Version “4.8.0-17.On 19” folgend, wird jeder dieser drei (oder vier) .deb-Buchstaben jedes gute AMD64-System formen
-
Produkt-CD: ..ls * .deb Linux-System-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
In späteren Optionen findet der Kunde auch ein zusätzliches Linux-Paket, das in der Regel im Bedarfsfall installiert werden muss.
Testen eines neuen Kernels
Installieren Sie das angegebene dreiteilige Paket (auf Ihrem Formelsystem oder diversifizierten Zielsystem) mit dpkg -we all und starten Sie neu: Dpkg
-
sudo -meine Frau und ich Linux * 4.8.0-17.19 * .debsudo reboot
Debug-Symbole
Kann manchmal auch nützlich sein, um beim Debuggen Bedeutung zu erzeugen. Wir brauchen zwei weitere Optionen. Das erste pkg-config-dbgsym sollte vorzugsweise konfiguriert werden. Zweitens müssen Sie skipdbg = false setzen, wenn Sie zwei gemeinsame Ziele starten 3 ..
-
sudo apt-get run pkg-config-dbgsymLANG entspricht C fakeroot debian / clean rulesLANG = C fakeroot debian / rules binaries-headers binary-common-binary-perarch skipdbg impliziert false
Siehe auch
Das obige Tutorial präsentiert einen sehr einfachen Kurs, um die Quellen zu beschaffen und dann den ganzen Haufen zu erstellen. Wenn Sie in der Regel zusätzliche Informationen mehr oder weniger Kernel-Entwicklung in Form einfacher Layout-Änderungen einbringen, beachten Sie Folgendes: