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

Detaillierte Erläuterung der MySQL-Multitabellen-Joinabfrage

Inhaltsverzeichnis Abfrage zum Verbinden mehrerer...

Einführung in die JWT-Verifizierung mit Nginx und Lua

Inhaltsverzeichnis Vorwort Lua-Skript nignx.conf-...

Lösen Sie das Problem des Ablaufs des TLS-Zertifikats (SSL) von Docker

Problemphänomen: [root@localhost ~]# Docker-Image...

CSS-Schreibformat, detaillierte Erklärung der Grundstruktur einer mobilen Seite

1. CSS-Schreibformat 1. Inline-Stile Sie können C...

Untersuchung der MySQL-Paging-Leistung

Mehrere gängige Paging-Methoden: 1. Rolltreppenme...

Gängige Stile von CSS-Animationseffekten

Animation Definieren Sie eine Animation: /*Legen ...

Ein Artikel bringt Ihnen die Vererbung von JS-Funktionen bei

Inhaltsverzeichnis 1. Einleitung: 2. Vererbung de...

So verwenden Sie Docker Compose zum Implementieren des Nginx-Lastausgleichs

Implementieren Sie den Nginx-Lastausgleich basier...