wozu ist die initrd da?

Software besorgen und anwenden
Antworten
Nachricht
Autor
sesame

wozu ist die initrd da?

#1 Beitrag von sesame » 29. Aug 2007 14:09

Hallo,

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

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 29. Aug 2007 15:17

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 Beitrag von sesame » 30. Aug 2007 9:53

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

Antworten