[Eisfair] [e1] externe USB Festplatte bei Start automatisch mounten

Marcus Roeckrath marcus.roeckrath at gmx.de
Fr Nov 30 16:20:22 CET 2012


Hallo Stefan,

Stefan Czech wrote:

> meine Rechner läuft dank Knoppix wieder ...

Schön, denn es gibt - wenn überhaupt - nur ganz ganz wenige Situationen, in
denen man neu aufsetzen müsste; mir noch nie passiert.

Ich verwende aber in der Regel Spezialdistris wie systemrescuecd, wenn ich -
was seltenst vorkommt - Reparaturzugriff auf ein Linuxsystem brauche; noch
am häufigsten bei eis, was nichts mit der Qualität von eis zu tun hat, aber
mit Neigung zu Experimenten. Im Verzeichnis boot rumfuhrwerken und
vergessen den lilo aufzurufen ist Garantie für ein nicht mehr bootendes,
aber sehr wohl reparierbares System.

Und Du hattest auch keinen Bluescreen im Windows-Sinne, sondern lapidar eine
Schleife, die leider genau das gemacht hat, wie sie programmiert war.
 
>> Alles ohne Gewähr; auf der Kommandozeile eines durchgestarteten eisfair
>> tuts das.
> Ja, aber nicht beim Booten .... da zählt er fleißig bis 10 und bringt
> dann die Error Meldung. Das Script auf der Konsole gestartet bindet mir
> die Festplatte ein.
> 
> Ich habe den Eindruck, das fdisk irgendwie das Problem ist.
> Ein fdisk -l >/fdisk1.txt vor 'case' gestellt, bringt mir diese Ausgabe

Ok, der fdisk bringt an der Stelle keine in Deinem Sinne auswertbare
Ausgabe, hätte ich nicht mit gerechnet - hätte aber wohl dennoch an einen
Sicherheitsausgang denken sollen.

Mir gefällt die einfache sleep Lösung nicht, weil man auf jedem System
eventuell von anderen Faktoren wie externe HD-Größe oder Qualität des
USB-Anschlusses einen Sleep-Faktor austesten muss, der immer passt aber
auch nicht zu lang ist, deshalh - es läßt mir keine Ruhe - folgende Lösung:

--------------------------------------------------------------------------
Die folgende Zeile kommt nach oben ins das Startskript, aber nicht als erste
Zeile.

. /var/install/include/eislib

Vor der case-Verzweigung die Definition des Devices:

usbdevice="/dev/sda1"

Dann im Startzweig der case-Anweisung (die umbrochenen (m)echo-Zeilen sind
natürlich ohne Umbruch):

counter=0
mecho -n -info "Try Mounting USB-HDD on $usbdevice "
while ! ( mount $usbdevice >/dev/null 2>&1 ) ; do
  mecho -n -info .
  counter=$((counter +1))
  if [ $counter -gt 10 ] ; then
    echo
    mecho --error "USB-HDD not ready; Continuing boot without mounting
USB-HDD on $usbdevice!"
    echo "USB-HDD $usbdevice not mounted!" | /bin/mail -s "Boot error:
USB-HDD $usbdevice not mounted!" root
    exit 1
  fi
  sleep 1
done
mecho --info "\nUSB-HDD on $usbdevice mounted"

PS: Wie immer ohne Gewähr.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair