wozu ist die initrd da?

Software besorgen und anwenden
Post Reply
Message
Author
sesame

wozu ist die initrd da?

#1 Post by sesame »

Hallo,

wozu ist eigentlich die initrd-datei (init ramdisk) da?
kann der kernel nicht alleine laden?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Die initrd (oder neuerdings auch initramfs) ist ein Mini-Dateisystem, das der Bootloader (Grub, LILO) parallel zum Kernel in den Speicher lädt. Der Kernel startet in diesem Fall zunächst das Programm "linuxrc" in dieser initrd, statt wie üblich /sbin/init aus dem /-Dateisystem.

Prinzipiell kann man da alles reinpacken, was man möchte, aber der eigentliche Sinn besteht darin, dort die Treibermodule hineinzukopieren, die für das Laden des /-Dateisystems notwendig sind (z.B. SCSI/ATA-Treiber und Dateisystemtreiber). Das ist praktisch, weil man dann nämlich nur einige kleine, vorkompilierte Treibermodule aus einer riesigen Auswahl von möglichen Treibern kopieren muss, anstatt den ganzen Kernel passend zu kompilieren.

Letzteres kann man natürlich auch tun, dann benötigt man keine Treibermodule zum Booten und kann auf die initrd verzichten. Allerdings ist dieser Kernel dann natürlich nur noch auf dieser oder sehr ähnlich bestückten Maschinen lauffähig. Also nichts für Standard-Kernel von Installationsmedien.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

sesame

#3 Post by sesame »

vielen dank für die aufklärung.
:-)

Post Reply