PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mount im Initramfs und dessen Weitergabe



spoc
07.09.10, 13:07
Mein System ist aufgeteilt in drei Partitionen. Normal - Crypt - Ram. Das Einhängen geschieht im Initramfs.
Funktioniert auch soweit. Nur wenn ich das System hochfahre, repariert fsck meine Dateisysteme. Ich gehe davon aus, dass mein OS (Gentoo) die in dem Initramfs eingehängten Dateisysteme nicht aushängt. Kann ich meinem OS diese Einhängepunkte irgendwie übergeben?

John W
07.09.10, 16:34
Entschuldige die Frage: Was willst du? Dateisystemprüfungen sind wichtig und sollten durchgeführt werden, wenn das nicht passiert, brauchen wir ohnehin mehr Input.
Also beschreibe doch bitte, was du vorhast und evtl. auch weshalb, das kann dir eine Menge Probleme ersparen.

spoc
07.09.10, 17:07
Normalerweise werden Dateisysteme vom Betriebssystem eingehängt. In meinem Fall werden drei für das Betriebssystem notwendige Dateisysteme schon in der Initramfs eingehängt. U.a. ist /etc auf einem anderen Dateisystem, als /. Usw.
Wenn ich das Betriebssystem herunterfahre, dann hängt es die Dateisysteme nicht aus. Wurden ja auch nicht eingehängt - aus dessen Sicht.
Mir kam gerade die Idee, ich könnte die mtab aus dem Initramfs übernehmen. Falls da eine erstellt wird. Ich muss erstmal nachlesen, was die mtab genau macht.
edit: In der mtab sind schon alle Dateisysteme gelistet.
edit2: Wie finde ich heraus, ob alle Dateisysteme beim Herunterfahren auch ordentlich ausgehängt werden? Welche Ursachen kann ein defektes Dateisystem noch haben?

spoc
10.09.10, 12:26
Hab's gefunden. Wahrscheinlich. :D
Das Script, welches für das Aushängen verantwortlich ist, hängt das Verzeichnis, in dem es selbst liegt, aus. Danach gibt es nur noch ein paar Segfaults und im Ergebnis werden ein paar Laufwerke nicht ausgehängt.

John W
10.09.10, 14:30
Dann änder das Skript ab, sodass es praktisch interaktiv ausgeführt wird ;-)
Würde ich mal so versuchen, wenn es ein Bashskript ist: Am Anfang der Datei folgenden Text einfügen:


#!/bin/bash
( tail -n+$(awk '/\W*#\W*START/ {print NR ; exit}' "$0") "$0" | bash ) &
exit 0
# START

spoc
12.09.10, 12:01
/etc und /lib sollten auf / liegen. Das weiß ich nun. Hab mein System neu zusamengepuzzled, so dass /, /etc und /lib gemeinsam auf einem tmpfs liegen und jetzt funktioniert auch das Herunterfahren einwandfrei. Vorher war / auf einer Festplatte und /etc und /lib auf einem tmpfs.