Root Filesystem Flashcards

1
Q

Welche Möglichkeiten gibt es ein RootFS bereitzustellen?

A
  • Im Flash z.B. USB (endliche Schreibzyklen)
  • ReadOnly(CdRom) mit tmpfs und Overlay
  • Im RAM
  • Image laden und mounten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vorteile RootFS im RAM?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Nachteile RootFS im RAM?

A
  • Neustart -> Modifikationen am Root-Filesystem gehen
    verloren, wenn diese nicht im Image durchgeführt
    werden
  • Für die Ramdisk wird Hauptspeicher (RAM) benötigt (2–
    8 Mbyte)
  • Logfile können zu groß werden
  • Teils Statische Größe
  • Ramdisk verbraucht Hauptspeicher.
  • Die Daten sind doppelt
    vorhanden: Flash / RAM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was muss im Kernel aktiviert werden um RAMdisk zu einzusetzen?

A

Unter ‘Block Devices’ den Punkt ‘Ram Disk Support’ auswählen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was passiert wenn im Kernel initrd Support aktiviert ist?

A
  • Mit ’initrd’ Support packt der Kernel das komprimierte -
    Root-FS Image aus und kopiert den Inhalt in eine RAM
    Disk.
  • Der Kernel mounted die RAM Disk als Root

Danach:
- startet das Skript ’linuxrc’ auf dem Root Filesystem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ablauf des Bootens mit RAMdisk?

A

Booten:
- Root-Image z.B. vom Flash geladen und im
Hauptspeicher abgelegt.
- Betriebssystemkern wird geladen und
gestartet.
- Root-Image auf Flash bleibt unangetastet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vorteile RAMdisk?

A

Zugriff auf die Ramdisk ist schneller als Flash.
Limitiertes Schreiben bei Flash
Größe der Ramdisk frei wählbar.
Daten in Ramdisk ‘temporär’
Das Verfahren vereinfacht die Systemaktualisierung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nachteile RAMdisk?

A

Verbraucht RAM
Daten doppelt vorhanden Flash/RAM
Nicht persistent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie funktioniert der Boot über Netzwerk?

A

BIOS ruft Bootp auf
Bootp Request bekommt anhand MAC Konfig(IP Netzmaske etc.)
tftp macht Anfrage und holt Kernel und Root Image

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist ein VFS?

A

eine Mappersoftware, die spezifische

Dateisystemeigenscha!en auf das intern verwendete ’virtual filesystem’ umsetzt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Beschreibe das initramfs.

A
  • Das initramfs ist ein RootFS das für den Systemstart
    benötigte Dateien enthält.
  • 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.
  • Dateien werden direkt in die kernelinternen -
  • Datenstrukturen des VFS umgesetzt
  • Wird mit tmpfs umgesetzt
  • initramfs ist keine ramdisk(tmpfs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Unterschied initramfs und initrd

A

initramfs Kernel 2.6
initial root filesystem and init programm in kernel memory cache not on ramdisk
initramfs -> cpio archive -> tmpfs
initramfs location of init : /init

initrd Kernel 2.4
deprecated
file system driver compiled into kernel
RAM Based Block device, wastes unused space, req file system
fixed size
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie ist der Bootprozess mit CPIO Archiv?

A
Bootloader:
 - Laden vmlinuz
 - Laden initramfs
 - Start Kernel
Linux Kernel:
 - Initialisierung
 - Auspacken CPIO als RootFS
 - Start /init
Early Userland:
 - Basisinit(treiber)
 - pivot_root
 - exec(/bin/init)
Normaler Bootprozess...
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was macht pivot_root() initrd / switch_root() initramfs ?

A
  • Allows to re-mount the root filesystem to a non-root
    location, while simultaneously mounting something
    back on the root.
  • early userland zu userland
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was wird über CONFIG_INITRAMFS_SOURCE festgelegt?

A
  1. Ob das Standard-Minimal-Rootfilesystem CPIO-
    Archiv erzeugt
  2. oder woher sonst die Daten für das CPIO-Archiv
    genommen werden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was passiert wenn CONFIG_INITRAMFS_SOURCE mit einem Wert belegt ist?

A

generiert das Kernel-Build-System nicht das Linux Standard-Minimal-Rootfilesystem
sondern generiert ein spezifisches Archiv.

17
Q

Wie sieht das minimale RootFS aus?

A
Static (z.B im FLASH):
 /usr Anwendungsprogramme
 /lib 	Libraries essential for the binaries in bin and sbin
 /bin Essential command binaries 
 /dev Device files
 /etc Host-specific system-wide configuration files
Dynamic (z.B. im RAM):
 /var Variable files(logs, spooler..)
 /tmp Temporary files
18
Q

Welche 3 Gerätedateien gibt es immer unter dev/

A

/dev/console
/dev/null
/dev/zero

19
Q

Mit welchem Befehl werden automatisch Gerätedateien erzeugt?

A
  • udevd: Verzeichnis /dev wird automatisch durch den
    udevd befüllt (beim Laden der Treiber)
  • Alternativ von Hand
20
Q

Welches Programm startet ein Embedded Linux System?

Wo ist es zu finden?

A

nach /init bei initramfs Konfiguration,
nach /linuxrc bei initrd Konfiguration,
nach /sbin/init bei Standard Block-Geräten

21
Q

Was genau macht das Programm init?

A
init startet Programme in geeigneter Reihenfolge die für den Betrieb benötigt sind.
Ruft Skripte in etc/init.d/ auf
Config in etc/inittab
 - Reihenfolge Rechenprozese
 - Rechenprozess Störung Strom
 - Reagieren auf Ereignisse(Tastatur)
22
Q

Was ist ein Runlevel und welche Stufen gibt es?

A

Runlevel 1 ist der so genannte Single-User-Mode.
Runlevel 2 ist der normale Multi-User-Mode
Bestimmt welche Funktionen System Services gestartet werden(CMD, GUI etc.. )

23
Q

Welche Prozessmodi kann init für Prozesse verwenden?

A

respawn: Terminiert der Prozess -> restart
wait: Prozess wird gestartet, init wartet auf das Prozessende
boot: Prozess wird während des Bootvorgangs gestartet (nicht in einem spezifischen Runlevel)

24
Q

Welche Möglichkeiten für Remote Zugriff können impl werden?

A

FTP oder SSH
Neue Konfigurationsdateien und Systemversionen
(Images) zu laden

25
Q

Wie werden Anwendungen auf emb Systemen aufgeteilt?

A

Serverteil
Muß auf dem Gerät laufen, ist für die Eingabe und die Ausgabe verantwortlich

Clientteil
Nicht gerätekritische Applikationsteile können
auch auf einen Clientrechner verlagert werden.

Einer Visualisierung
Besonderer nicht gerätekritischer
Applikationsanteil kann die Visualisierung verlagert
werden.

26
Q

Welche Bibliotheken für Emb Systeme gibt es?

A

glibc, uclibc, dietlibc, klibc

27
Q

Eigenschaften glibc?

A
  • Viele Funktionen
  • Portabel
  • designed für Performance und
  • Unterstützung versch. (umfangreicher) Standards
  • Hoher Ressourcenbedarf
  • NICHT auf Codegröße optimiert: Für Embedded -
    Systeme sehr groß
28
Q

Eigenschaften uclibc?

A
  • Auch für MMU-lose Linux-Systeme geeignet (uclinux)
  • Optimiert auf Codegröße, ca. 4 Mal kleiner als Standard
    glibc
  • unterstützt viele verschiedene Hardwareplatformen
  • unterstützt die meisten glibc Funktionen,
    aber nicht alle Standards wie unter glibc Fokus liegt auf:
    C89, C99
  • Lizenz: LGPL
29
Q

Was ist bei der Wahl einer Embedded-Bibliothek zu beachten?

A
  • Codegröße
  • Performance
  • Unterstützte Standards
  • Hardwaresupport
  • Lizenzmodell
  • Thread Safe
30
Q

Eigenschaften klibc?

A
  • für 32- und 64-Bit Systeme
  • Einsatz beim „early userland“ (initramfs)
  • Lauffähig auf vielen unterschiedlichen Plattformen
  • für einfache initramfs Binaries
  • klcc Compiler
  • geeignet für einfache Shell Skripte
  • Shell muss mit klibc erzeugt sein
  • Nicht thread-safe
31
Q

Welche Funktionalität sollte für Embedded Systeme bereitgestellt werden?

A
  • Basisprogramme und Shell-Kommandos
  • Remote-Login (Fernwartung)
  • Editor
  • Webserver
  • syslog
  • Firmware-Update
  • Dateiübertragung
32
Q

Wie funktionieren Multibinarys wie Busybox?

A
  • Das Betriebssystem übergibt den Programmnamen als
    Argument ’0’.
  • Über Hard- oder Symlinks kann nun ein Programm
    mehrere Namen erhalten
  • Binaryverhalten nach Name
  • Statisch gelinked mit ulibc
33
Q

Wie erzeuge ich Logs mit Busybox?

A

logread
Zeigt die Meldungen von syslogd an
Mit logread -f kann der Output gesichert werden.

34
Q

Was ist tinylogin?

A

The worlds smallest login/passwd/ge!y/etc
Bietet sich an, wenn busybox nicht verwendet wird, da auch
busybox diese Dienste anbietet

35
Q

Wie können Sie mit SSH auf das Embedded Gerät zugreifen?

A

Tool Dropbear verwenden