Kernel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
  
=Bootparameter übergeben==
+
=Bootparameter übergeben=
 
*Der Linux-Kernel kann mit einer Vielzahl unterschiedlicher Parameter geladen werden
 
*Der Linux-Kernel kann mit einer Vielzahl unterschiedlicher Parameter geladen werden
 
*Dies beieinflusst zumeist das Vorhandensein oder Nichtvorhandensein bestimmter Leistungseigenschaften  
 
*Dies beieinflusst zumeist das Vorhandensein oder Nichtvorhandensein bestimmter Leistungseigenschaften  
Zeile 10: Zeile 10:
 
*Zum einen können Standardparameter, die man bei jedem Systemstart übergeben möchte, in einer Konfigurationsdatei festgehalten werden.  
 
*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.
 
*Zum Anderen kann man beim Systemstart die Parameter über eine Eingabezeile variieren.
 +
 
=Links=
 
=Links=
 
*[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)]

Version vom 21. September 2022, 11:13 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.