[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mount von home auf SD-Karte schlägt fehl



Hallo Jan,
> auf meinem Eee PC 4G läuft Lenny mit angepasstem Installer. Es existiert
> ein /home-Verzeichnis auf der SSD, das Login klappt auch.
> Ich habe nun auf einer SD-Karte ebenfalls eine Kopie dieses /home
> angelegt. Leider klappt das Einhängen beim Booten nicht. In der fstab
> habe ich eingetragen:
> 
> LABEL=home_card   /home   ext3   noatime,commit=120   0   0
> 
> Die entsprechende SD-Karte hat natürlich das Label home_card.
> Im Log finde ich nichts, außer das der Kartenleser und die SD-Karte
> irgendwann erkannt werden. Anhand der Zeitmarken kann ich nicht
> erkennen, warum beim Booten das ext3-FS auf der Karte nicht eingehangen
> wird.
> Beim Bootvorgang sehe ich nur sehr schnell über Bildschirm huschen, das
> ein "special device LABEL..." oder so ähnlich nicht erkannt wurde oder
> nicht vorhanden ist. Diese Meldung finde ich aber nirgendwo im Log.
> Führe ich nach dem Bootvorgang auf der Konsole mount -a oder mount
> LABEL=home_card als root von Hand aus, wird die SD-Karte anstandslos
> eingehängt und nach Wechsel mit Alt+F7 kann ich mich normal per GDM als
> User einloggen - es wird dann das /home von der SD-Karte benutzt. Warum
> klappt das nicht automatisch?
Ich hatte bei mir ein ähnliches Problem, seit ich an der
Boot-Reihenfolge gespielt habe, um das booten zu beschleunigen. Es liegt
wohl daran, dass das automatische mounten durchgeführt wird, BEVOR die
SD-Karte erkannt wird. Bei mir wird - laut /var/log/dmesg - die
SD-karte erst 5.3s nach Kernel-Start erkannt - zu dem Zeitpunkt ist das
mounten der Standard-Geräte schon abgeschlossen (die interne SSD
aktiviert er nach 2.2s).
Wenn Du das booten künstlich abbremst (z.B. ein sleep ganz am
Anfang...), klappt es;-)

Ich habe allerdings eine andere Lösung gewählt: in /etc/rc.local einfach

( while [ ! -e /dev/sdb1 ]
do
  sleep 1
done
mount /home
)&

vor dem "exit 0" eingetragen. Die Zeilen 
 - laufen im Hintergrund (rc.local wird beendet, bevor das mounten
   abgeschlossen ist)
 - die Bedingung nach dem while prüft, ob /dev/sdb1 existiert (das ist
   der meine SD-Karte)
 - Wenn sie nicht da ist, schläft das Skript 1 Sekunde und versucht es
   dann erneut
 - wenn /dev/sdb1 existiert, mountet er /home
Damit habe ich die Karte immer gemountet, sobald sie drin ist - und bis
ich bei der Grafik Username & Passwort angegeben habe, ist das mounten
immer fertig.

Ja, ich weiß dass das nicht elegant ist - aber es kommt den anderen
Boot-Skripten nicht in die Quere und funktioniert;-)


Axel


Reply to: