Detaillierte Erläuterung des Implementierungsprozesses zum Erstellen eines Kernelbaums in Ubuntu 12.04

Detaillierte Erläuterung des Implementierungsprozesses zum Erstellen eines Kernelbaums in Ubuntu 12.04

Überprüfen Sie zunächst die von Ihnen verwendete Kernelversion

lin@lin-virtuelle-Maschine:~$ uname -r
3.2.0-23-generisch

Wenn der Quellcode bei der Systeminstallation automatisch installiert wird. Im Verzeichnis /usr/src befindet sich ein entsprechendes Versionsverzeichnis.

lin@lin-virtual-machine:~$ cd /usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-headers-3.2.0-23-generisch

Schauen Sie sich die herunterladbaren Quellpakete an

lin@lin-virtual-machine:/usr/src$ apt-cache Suche Linux-Quelle
linux-source - Linux-Kernel-Quelle mit Ubuntu-Patches
linux-source-3.2.0 – Linux-Kernelquelle für Version 3.2.0 mit Ubuntu-Patches

Ich wähle "linux-source-3.2.0 - Linux-Kernelquelle für Version 3.2.0 mit Ubuntu-Patches" zur direkten Installation

lin@lin-virtual-machine:/usr/src$ sudo apt-get install linux-source-3.2.0

Nach Abschluss des Downloads lautet der Dateiname: linux-source-3.2.0.tar.bz2 in /usr/src. Es handelt sich um ein komprimiertes Paket. Sie können den Quellcode des gesamten Kernels erhalten, indem Sie ihn dekomprimieren.

Verwenden Sie pwd, um den aktuellen Pfad anzuzeigen

ls, um zu sehen, welche Dateien sich im Ordner befinden

lin@lin-virtual-machine:/usr/src$ pwd
/usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-source-3.2.0
linux-headers-3.2.0-23-generische linux-quelle-3.2.0.tar.bz2

Entpacken

lin@lin-virtual-machine:/usr/src#sudo tar jxvf linux-source-3.2.0.tar.bz2

Wechseln Sie in das Verzeichnis (cd linux-source-3.2.0)

lin@lin-virtual-machine:/usr/src$ cd linux-source-3.2.0/
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ pwd
/usr/src/linux-source-3.2.0

Beginnen Sie mit der Konfiguration des Kernels und wählen Sie die schnellste ursprüngliche Konfigurationsmethode (Standard)

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make oldconfig

Es muss länger als eine Stunde gewartet werden. . .

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make

Ein paar Stunden später

...System ist 4826 kB
SFB d5a51584
Kernel: arch/x86/boot/bzImage ist bereit (#1)
 Gebäudemodule, Phase 2.
 MODPOST 3304 Module
FEHLER: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefiniert!
WARNUNG: Modpost: 4 Abschnittsfehlübereinstimmungen gefunden.
Um alle Details anzuzeigen, erstellen Sie Ihren Kernel mit:
„CONFIG_DEBUG_SECTION_MISMATCH=y machen“
make[1]: *** [__modpost] Fehler 1
make: *** [Module] Fehler 2

Lösung: Von http://ubuntuforums.org/showthread.php?t=1931029

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo gedit .config

Es handelt sich wahrscheinlich um ein Problem mit dem RTS5139-Treiber. Dieser Treiber wird jedoch nicht verwendet, fügen Sie ihn also nicht zur Kompilierung hinzu. Bearbeiten Sie .config und ändern Sie

CONFIG_RTS5139=m

Ändern Sie es in die folgende Form:

CONFIG_RTS5139=n

Machen Sie weiter

Kompilieren Sie den Kernel in komprimierter Form

mache bzImage

Kompilieren Sie das Modul:

Module erstellen

Installieren Sie das Modul:

Module_installieren

Nach Abschluss der Ausführung wird ein neues Verzeichnis unter /lib/modules generiert

lin@lin-virtual-machine:/lib/modules$ ls
3.2.0-23-generisch 3.2.79

Nach Erfolg neu starten.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Schritte zum Upgrade des Ubuntu 16.04-Kernels
  • So löschen Sie zusätzliche Kernel in Ubuntu
  • Ubuntu Android-Quellcode und Kernel herunterladen und kompilieren
  • Hinzufügen eines Hardware Abstraction Layer (HAL)-Moduls, um in Ubuntu auf den Linux-Kerneltreiber für Android zuzugreifen
  • Implementierung eines integrierten ausführbaren C-Programms in Ubuntu zum Testen des Linux-Kerneltreibers für Android
  • So schreiben Sie einen Linux-Kerneltreiber für das Android-System in Ubuntu
  • Laden Sie den Android-Kernel-Quellcode herunter, kompilieren Sie ihn und installieren Sie ihn unter Ubuntu

<<:  VUE realisiert Registrierungs- und Login-Effekte

>>:  Detaillierte Erläuterung der Verwendung des Synchronisierungsmodifikators bei der Parameterübertragung von übergeordneten und untergeordneten Komponenten in Vue3

Artikel empfehlen

HTML-Auszeichnungssprache - Referenz

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Detaillierte Schritte zur Verwendung von Redis in Docker

1. Einleitung Dieser Artikel zeigt Ihnen, wie Sie...

Einfache Implementierungsmethode der bidirektionalen Datenbindung im JS-Projekt

Inhaltsverzeichnis Vorwort Publish-Subscriber-Mus...

Rsync+crontab regelmäßige Synchronisierungssicherung unter centos7

In letzter Zeit möchte ich regelmäßig wichtige in...

my.cnf (my.ini) wichtige Parameteroptimierungs-Konfigurationsanweisungen

MyISAM-Speicher-Engine Die MyISAM-Speicher-Engine...

JavaScript Canvas zeichnet dynamische Drahtgittereffekte

In diesem Artikel wird der spezifische Code des d...

Mehrere gängige Methoden für CSS-Layouts mit gleicher Höhe

Gleichhohes Layout Bezieht sich auf das Layout vo...

Spezifische Verwendung von useRef in React

Ich glaube, dass Leute, die Erfahrung mit React h...

Mehrere Möglichkeiten zum Berechnen des Alters anhand des Geburtstags in MySQL

Ich habe MySQL vorher nicht sehr oft verwendet un...

So bereinigen Sie Daten in einer MySQL-Onlinedatenbank

Inhaltsverzeichnis 01 Szenarioanalyse 02 Funktion...

So implementieren Sie das Prototypmuster in JavaScript

Überblick Das Prototypmuster bezieht sich auf den...