Root Filesystem Flashcards
Vorteile RootFS im RAM?
- Konsistentes Filesystem bei jedem Neustart
- Booten ohne Filesystemcheck
- Einfache Systemaktualisierung
- Eventuell Auswahl des Rootfilesystems (Debug/Test)
- Schneller Zugriff
- Auf RAM sind unbegrenzte Schreibzyklen möglich
Nachteile RootFS im RAM?
- Modifikationen am Root-Filesystem gehen mit einem Neustart verloren, wenn diese nicht im Image durchgeführt werden.
- Für die Ramdisk wird Hauptspeicher (RAM) benötigt (2–8 Mbyte)
Definition RamDisk:
Als RAM-Disk wird ein virtuelles Laufwerk bezeichnet, welches aus einem Teil des im System befindlichen Arbeitsspeichers (RAM) besteht.
Laden des RootFS mit Ramdisk
Das RootFS wird beim Booten in die Ramdisk geladen und dort als Early-Userland gemountet.
Eigenschaften von “initrd” ?
- initrd bietet die Möglichkeit, eine Ramdisk über den Bootloader zu laden.
- Diese Ramdisk kann dann als Root-Dateisystem eingebunden werden und Programme können von dort aus gestartet werden.
- initrd hat immer eine Feste größe.
Bootablauf im Early-Userland?
- BIOS
- Bootloader
- Kernel mit RootFS im Early-Userland
- ausführen von /init
- Im Fall von Desktop/Server -> Newmount der Ziel-Root-Partition
Fall 1: RootFS liegt als Image im Flash.
Bei jedem Booten des Systems wird das RootFS in die ramdisk geladen.
Fall2: RootFS liegt vollständig im Flash Speicher.
Das Fielsystem liegt unkomprimiert im Flash. Der Kernel greift direkt darauf zu.
Vorteile ramdisk?
- Der Zugriff auf die Ramdisk ist schneller als der Zugriff auf die Flash
- Beim Flashspeicher ist die Anzahl der Schreibzugriffe limitiert
- Die Größe der Ramdisk ist frei wählbar.
- Das Verfahren vereinfache die Systemaktualisierung
Nachteile Ramdisk?
- Ramdisk verbraucht Hauptspeicher
- Die Daten sind doppelt vorhanden (Image liegt auf der Flash und entpacktes RootFS in der Ramdisk)
- Änderungen die während des Betriebs im Root-Filesystem gemacht wurden sind nach neustart verloren.
initramfs
Das initramfs ist ein komprimiertes Archiv (CPIO) das für den Systemstart benötigte Dateien enthält.
Wo befindet sich das initramfs?
Zum einen kann der Bootloader das CPIO-Archiv als Image zum Kernel dazu laden (seperate Dateien), zum anderen kann das Archiv direkt im Kernel enthalten sein.
In beiden Fällen entpack der Kernel das Archiv und hängt es als Stammverzeichnis ein.
Nenne Vorteile eines initramfs?
- Durch das die Dateien direkt in der Datenstruktur vorhanden sind spart man Code, Speicherplatz und Rechenzeit.
- Es wird nur so viel Hauptspeicher verwendet, wie Daten im RootFS liegen.
Was ist der Unterschied zwischen initrd und initramfs?
Initrd ist ein Blockgerät mit fester Größe, das von einem Dateisystem wie ext2’formatiert’ werden muss. Es befindet sich standardmäßig auf /dev/ram0 und kann nicht vergrößert oder verkürzt werden.
Auf der anderen Seite ist initramfs ein cpio-Archiv, das während des Bootvorgangs einfach entpackt wird, um den Speicher von ramfs zu füllen. Dieser Speicher ist dynamisch groß und kann daher je nach Bedarf gekürzt oder vergrößert werden. Eine initramfs benötigt keine Filesystemtreiber.
Standard Verzeichnisse?
/sbin(Kommandos für Systemverwaltung) /sys(virtuelles Dateisystem) /tmp(Temporäre Dateien) /usr(Anwendungsprogramme) /var(Logdateien)