Kernel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 13: Zeile 13:
 
*[https://help.ubuntu.com/community/BootOptions#Common%20Boot%20Options Liste wichtiger Bootoptionen (EN)]
 
*[https://help.ubuntu.com/community/BootOptions#Common%20Boot%20Options Liste wichtiger Bootoptionen (EN)]
  
==Kerneldatei in den Speicher laden==
+
=Kerneldatei in den Speicher laden=
Nachdem der zu ladende Kernel ausgewählt und evtl. weitere Bootparameter eingegeben wurden, lädt
+
*Nachdem der zu ladende Kernel ausgewählt und evtl. weitere Bootparameter eingegeben wurden
das Ladeprogramm den Kernel in den Hauptspeicher. Hier sind bei Linux grundsätzlich zwei Varianten
+
*Lädtdas Ladeprogramm den Kernel in den Hauptspeicher.  
zu unterscheiden. Zum einen kann der Kernel unkomprimiert vorliegen. Der Einstiegspunkt für die
+
*Hier sind bei Linux grundsätzlich zwei Varianten zu unterscheiden.
Ausführung ist dann mit dem Beginn des Kernelcodes identisch. Zum anderen kann der Kernel  
+
*Zum einen kann der Kernel unkomprimiert vorliegen.
komprimiert sein. In diesem Fall wurde dem Kernel beim Übersetzen ein kleines Programmstück  
+
*Der Einstiegspunkt für die Ausführung ist dann mit dem Beginn des Kernelcodes identisch.
vorangestellt, das für das Entpacken des Kernels und das Finden des richtigen Einstiegspunktes  
+
*Zum anderen kann der Kernel komprimiert sein.  
zuständig ist. Eine unkomprimierte Kerneldatei erkennt man nach dem Übersetzen an ihrem Namen vmlinux.
+
*In diesem Fall wurde dem Kernel beim Übersetzen ein kleines Programmstück vorangestellt
Eine komprimierte Kerneldatei heißt vmlinuz, zImage oder bzImage. Diese Dateien können später freilich
+
*Dies ist für das Entpacken des Kernels und das Finden des richtigen Einstiegspunktes zuständig.
umbenannt werden. Gehen wir also nun davon aus, dass der Kernel geladen und der korrekte Einstiegspunkt  
+
*Eine unkomprimierte Kerneldatei erkennt man nach dem Übersetzen an ihrem Namen vmlinux.
gefunden wurde.
+
*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==
 
==Ü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.
 
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.

Version vom 8. September 2022, 19:21 Uhr

Bootparameter übergeben=

  • Der Linux-Kernel kann mit einer Vielzahl unterschiedlicher Parameter geladen werden
  • Dies beieinflusst zumeist das Vorhandensein oder Nichtvorhandensein bestimmter Leistungseigenschaften
  • Dies ist insbesondere im Fehlerfall von Interesse:
  • Kommt es etwa zu Problemen beim Betrieb einer Festplatte im DMA-Modus
  • So kann dem Kernel ein Parameter übergeben werden, der verhindert, dass die Festplatte im DMA-Modus angesteuert wird.
  • Bestünde diese Möglichkeit nicht, so wäre es u.U. garnicht mehr möglich, das betreffende System hochzufahren.
  • Die Übergabe solcher Parameter wird von den meisten Ladeprogrammen auf zweierlei Weise ermöglicht.
  • Zum einen können Standardparameter, die man bei jedem Systemstart übergeben möchte, in einer Konfigurationsdatei festgehalten werden.
  • Zum Anderen kann man beim Systemstart die Parameter über eine Eingabezeile variieren.

Links

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.