Zum Inhalt springen

Initramfs: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Spezial:Linkliste » Stream Control Transmission Protocol » initramfs
Zeile 5: Zeile 5:
* Nachfolger von [[initrd]]
* Nachfolger von [[initrd]]


; initramfs-Archiv
Ein initramfs-Archiv ist eine komprimierte Datei, die für den Systemstart benötigte Dateien enthält
Ein initramfs-Archiv ist eine komprimierte Datei, die für den Systemstart benötigte Dateien enthält
* Es kann vom [[Linux (Kernel)|Linux-Kernel]] beim [[Booten]] als [[Stammverzeichnis]] eingehängt werden
* Es kann vom [[Linux (Kernel)|Linux-Kernel]] beim [[Booten]] als [[Stammverzeichnis]] eingehängt werden
Zeile 10: Zeile 11:
* Das gestartete Programm kann unterschiedliche Aufgaben erfüllen
* Das gestartete Programm kann unterschiedliche Aufgaben erfüllen


Bei [[Eingebettetes System|eingebetteten Systemen]] kann die ganze Funktionalität des Systems im initramfs enthalten sein. [[Personal Computer]] nutzen das initramfs oft nur als einen Zwischenschritt, um [[Gerätetreiber|Treiber]] zu laden und andere Vorbereitungen für den Start des eigentlichen Systems zu treffen
; Eingebettetes System
Bei [[Eingebettetes System|eingebetteten Systemen]] kann die ganze Funktionalität des Systems im initramfs enthalten sein.  
* [[Personal Computer]] nutzen das initramfs oft nur als einen Zwischenschritt, um [[Gerätetreiber|Treiber]] zu laden und andere Vorbereitungen für den Start des eigentlichen Systems zu treffen
* Durch das initramfs bzw
* Durch das initramfs bzw
* initrd wurde es möglich, den Bootprozess unter Linux flexibler zu gestalten und Funktionalität aus dem [[Kernel (Betriebssystem)|Kernel]] in den [[Userspace]] auszulagern
* initrd wurde es möglich, den Bootprozess unter Linux flexibler zu gestalten und Funktionalität aus dem [[Kernel (Betriebssystem)|Kernel]] in den [[Userspace]] auszulagern

Version vom 13. April 2025, 09:52 Uhr

initramfs - initial ram filesystem

Beschreibung

Ausgangsdateisystem im Arbeitsspeicher

initramfs-Archiv

Ein initramfs-Archiv ist eine komprimierte Datei, die für den Systemstart benötigte Dateien enthält

  • Es kann vom Linux-Kernel beim Booten als Stammverzeichnis eingehängt werden
  • Anschließend wird ein auf dem initramfs vorhandenes Programm (init) gestartet
  • Das gestartete Programm kann unterschiedliche Aufgaben erfüllen
Eingebettetes System

Bei eingebetteten Systemen kann die ganze Funktionalität des Systems im initramfs enthalten sein.

  • Personal Computer nutzen das initramfs oft nur als einen Zwischenschritt, um Treiber zu laden und andere Vorbereitungen für den Start des eigentlichen Systems zu treffen
  • Durch das initramfs bzw
  • initrd wurde es möglich, den Bootprozess unter Linux flexibler zu gestalten und Funktionalität aus dem Kernel in den Userspace auszulagern

Bootvorgang

Der Linux-Kernel kann ab Version 2.5.46 von einem initramfs booten

  • Das initramfs-Archiv kann im Kernel selbst enthalten sein oder vom Bootloader aus einer Datei in den Arbeitsspeicher geladen werden
  • Der Kernel dekomprimiert das initramfs-Archiv und hängt das entpackte Archiv dann als Stammverzeichnis ein
  • Als Nächstes wird versucht, das Programm /init aus dem initramfs zu starten
  • Schlägt das Starten fehl, versucht der Kernel, das eigentliche root-Volume}} einzuhängen und von dort /sbin/init zu starten

Das initramfs selbst ist ein cpio-Archiv, das meist eine Unix-Shell (oft BusyBox) und andere grundlegende Programme enthält

  • In diesem Fall ist /init ein einfaches Shellskript, das die im initramfs enthaltenen Programme auf die gewünschte Weise verknüpft
  • Es ist aber auch möglich, dass /init ein C-Programm ist, das gegen eine kleine Variante der libc gelinkt wurde
  • Die letzte Aufgabe von /init ist es meist, das eigentliche root-Volume (root device) über das Stammverzeichnis einzuhängen und /sbin/init von dort zu starten

Veränderungen gegenüber initrd

  • Im Kernel muss kein Dateisystem-Treiber fest einkompiliert sein
  • Die Größe des initramfs unterliegt keiner festen Obergrenze
  • Zugriffe auf das initramfs werden nicht gepuffert, wodurch Arbeitsspeicher gespart wird
  • Verschiedene cpio-Archive können verkettet werden, was das Laden von mehr als einem initramfs-Archiv ermöglicht


Anhang

Siehe auch

Links

Weblinks

  1. https://de.wikipedia.org/wiki/Initramfs
  2. Dokumentation des Linux-kernel zum initramfs