initramfs

initramfs

initramfs steht für initial ram filesystem (sinngemäß übersetzt Ausgangsdateisystem im Arbeitsspeicher). Das initramfs ist ein komprimiertes Archiv, das 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. 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 wurde es möglich, den Bootprozess unter Linux flexibler zu gestalten und Funktionalität aus dem Betriebssystemkern in den Userspace auszulagern. Initramfs ist der Nachfolger von initrd.

Inhaltsverzeichnis

Bootvorgang

Der Linux-Kernel kann seit Version 2.5.46 [1] 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-Device einzuhängen und 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-Device über das Stammverzeichnis einzuhängen und /sbin/init 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

Siehe auch

Quellen

  1. Linux Weekly News. 7. November 2002, http://lwn.net/Articles/14776/

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Initramfs — steht für initial ram filesystem (sinngemäß übersetzt Ausgangsdateisystem im Arbeitsspeicher). Das initramfs ist ein komprimiertes Archiv, das für den Systemstart benötigte Dateien enthält. Dieses kann vom Linux Kernel beim Booten als… …   Deutsch Wikipedia

  • Initramfs — initrd initrd (INITial RamDisk) est une image d un système minimal initialisé au démarrage du système. Ce fichier utilise le système de fichier cramFS (système de fichier compressé au format gzip et archivé via cpio), ensuite l image est chargée… …   Wikipédia en Français

  • Initrd — The initial ramdisk, or initrd is a temporary file system commonly used by the Linux kernel during boot [http://www.debian.org/doc/manuals/reference/ch kernel.en.html initrd is not needed for a kernel compiled only for one machine] . The initrd… …   Wikipedia

  • Initrd — El disco RAM inicial o initrd, por sus siglas en inglés es un sistema de archivos temporal usado por el núcleo Linux durante el inicio del sistema. Es usado típicamente para hacer los arreglos necesarios antes de que el sistema de archivos raíz… …   Wikipedia Español

  • Initrd — ist ein temporäres Dateisystem, das vom Linux Kernel während des Bootvorgangs verwendet wird. „initrd“ steht für initial ramdisk (sinngemäß übersetzt Ausgangspartition im Arbeitsspeicher). Die initrd ist ein reservierter Bereich im… …   Deutsch Wikipedia

  • Klibc — Infobox Software name = klibc caption = developer = H. Peter Anvin latest release version = 1.5 latest release date = March 4, 2007 operating system = Linux genre = C standard library license = GNU General Public License website = The klibc is a… …   Wikipedia

  • initrd — ist ein temporäres Dateisystem, das vom Linux Kernel während des Bootvorgangs verwendet wird. „initrd“ steht für initial ramdisk (sinngemäß übersetzt Ausgangspartition im Arbeitsspeicher). Die initrd ist ein reservierter Bereich im… …   Deutsch Wikipedia

  • Ubuntu casper — AVERTISSEMENT Cet article est extrêmement technique. Il sera complété prochainement par une vue plus synthétique. Il décrit le fonctionnement prévu pour Ubuntu 9.04, cependant il y a des bugs qui empêchent d utiliser certaines possibilités.… …   Wikipédia en Français

  • Mdadm — (ранее mdctl) Тип Дисковая утилита Разработчик Neil Brown [1] ОС GNU/Linux Версия 3.1.1 (2009 11 19) Лицензия …   Википедия

  • mdadm — (ранее mdctl) Тип Дисковая утилита Разработчик Neil Brown Операционная система Linux Последняя версия 3.2.5 (2012 05 18) Лицензия GNU GPL 2 и новее Сайт …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”