Kernel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=Kerneldatei in den Speicher laden= | =Kerneldatei in den Speicher laden= | ||
*Nachdem der zu ladende Kernel ausgewählt und evtl. weitere Bootparameter eingegeben wurden | *Nachdem der zu ladende Kernel ausgewählt und evtl. weitere Bootparameter eingegeben wurden | ||
| Zeile 32: | Zeile 17: | ||
*Als letztes wird das Programm das in der Kernelvariable ''init'' steht ausgeführt. | *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. | *Dies ist der Prozess mit der Nummer EINS und dieser startet nun alle Userspace Programme. | ||
| + | |||
| + | =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= | ||
| + | *[https://help.ubuntu.com/community/BootOptions#Common%20Boot%20Options Liste wichtiger Bootoptionen (EN)] | ||
Version vom 21. September 2022, 11:13 Uhr
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.
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.