Kernel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Basics=
*[[Was ist ein Kernel?]]
*[[Kernelarten]]
*[[Kernel Initialisierung]]
*[[Kernel kompilieren]]


=Bootparameter übergeben=
=New=
*Der Linux-Kernel kann mit einer Vielzahl unterschiedlicher Parameter geladen werden
*Kernel überwacht die Schnittstelle
*Dies beieinflusst zumeist das Vorhandensein oder Nichtvorhandensein bestimmter Leistungseigenschaften
;Daten werden aus /sys bezogen
*Dies ist insbesondere im Fehlerfall von Interesse:
**lsusb
*Kommt es etwa zu Problemen  beim Betrieb einer Festplatte im DMA-Modus
**lspci
*So kann dem Kernel ein Parameter übergeben werden, der verhindert, dass die Festplatte im DMA-Modus angesteuert wird.
*Kernel lädt den Treiber automatisch
*Bestünde diese Möglichkeit nicht, so wäre es u.U. garnicht mehr möglich, das betreffende System hochzufahren.
*dmesg -wT
*Die Übergabe solcher Parameter wird von den meisten Ladeprogrammen auf zweierlei Weise ermöglicht.
=lsmod und lsmod=
*Zum einen können Standardparameter, die man bei jedem Systemstart übergeben möchte, in einer Konfigurationsdatei festgehalten werden.
*Vorher und nachher Prinzip mit Dateien lsmod.vorher und lsmod.nacher
*Zum Anderen kann man beim Systemstart die Parameter über eine Eingabezeile variieren.
*Gerät einstecken und mit diff vergleichen.
=Udev=
*udevadm monitor


=Links=
=Datei anlegen=
*[https://help.ubuntu.com/community/BootOptions#Common%20Boot%20Options Liste wichtiger Bootoptionen (EN)]
*fallocat -l 1G disk1
 
=Kerneldatei in den Speicher laden=
*Nachdem der zu ladende Kernel ausgewählt und evtl. weitere Bootparameter eingegeben wurden
*Lädtdas Ladeprogramm den Kernel in den Hauptspeicher.
*Hier sind bei Linux grundsätzlich zwei Varianten zu unterscheiden.
*Zum einen kann der Kernel unkomprimiert vorliegen.
*Der Einstiegspunkt für die Ausführung ist dann mit dem Beginn des Kernelcodes identisch.
*Zum anderen kann der Kernel komprimiert sein.
*In diesem Fall wurde dem Kernel beim Übersetzen ein kleines Programmstück vorangestellt
*Dies ist für das Entpacken des Kernels und das Finden des richtigen Einstiegspunktes zuständig.
*Eine unkomprimierte Kerneldatei erkennt man nach dem Übersetzen an ihrem Namen vmlinux.
*Eine komprimierte Kerneldatei heißt vmlinuz, zImage oder bzImage.
*Diese Dateien können später freilich umbenannt werden.
*Gehen wir also nun davon aus, dass der Kernel geladen und der korrekte Einstiegspunkt  gefunden wurde.
 
=Übergang vom Kernelspace zum Userspace=
*Als vorletzte Aktion mountet der Kernel das Dateisystem welches in der Kernelvariable ''root'' übergeben wurde, readonly.
*Als letztes wird das Programm das in der Kernelvariable ''init'' steht ausgeführt.
*Dies ist der Prozess mit der Nummer EINS und dieser startet nun alle Userspace Programme.

Aktuelle Version vom 30. Januar 2026, 06:04 Uhr

Basics

New

  • Kernel überwacht die Schnittstelle
Daten werden aus /sys bezogen
    • lsusb
    • lspci
  • Kernel lädt den Treiber automatisch
  • dmesg -wT

lsmod und lsmod

  • Vorher und nachher Prinzip mit Dateien lsmod.vorher und lsmod.nacher
  • Gerät einstecken und mit diff vergleichen.

Udev

  • udevadm monitor

Datei anlegen

  • fallocat -l 1G disk1