[Debian] Linux Kernel - Fragen zur Ramdisk

zeroize

Erfahrenes Mitglied
Guten Tag an alle,

ich hoffe ich richte mich an das richtige Zielpublikum, ich habe nämliche eine Frage zu Debian/GNU Linux bzw. dem richtigen erstellen des Kernels.

Grundsätzlich hab ich schon einige man-Pages über fakeroot und make-kpkg gelesen, trotzdem ist mir noch nicht ganz klar, wann ich eine Ramdisk erstellen muss, oder eben nicht.

Die Funktion einer Ramdisk sollte doch eigentlich folgendes sein: wenn ich z.B. die SCSI oder RAID-Treiber nicht direkt in der Kernel gepackt habe, sollten sie in die Ramdisk, damit init schnellstmöglich auf die Festplatte zugreifen kann - hoffentlich soweit richtig.

Trotzdem ist mir nun nicht ganz klar, wann dies der Fall sein sollte - warum sollte man diese Treiber in Module auslagern - das macht für mich nicht viel Sinn, schließlich sind diese ja die elementar wichtigsten Funktionen des Kernels, oder nicht?

Auch z.B. Xen muss scheinbar teilweise/oder ganz mit Ramdisk erstellt werden - könnte mir jemand sagen warum?
 
AFAIK macht man das um nicht alle denkbaren Treiber, die für das mounten der Rootpartition nötig sein könnten fest in der Kernel einkompilieren zu müssen da dies den Kernel unnötig groß machen würde. Daher lädt der Bootloader die Initrd in den Speicher und teilt dem geladenen Kernel mit wo sie liegt. Dieser mountet die initrd als vorläufige Rootpartition und läd linuxrc welches dann wiederum im Userspace alle nötigen Module für die echte Rootpartition lädt.

Unter Xen muss man das AFAIK auch nur machen wenn die benötigten Treiber zum Laden der Dom0 halt nicht fest im Kernel enthalten sind.

Greetz und willkommen im Forum!
Sinac
 
Zurück