Page 1 of 1

USB Stick unter wary automatisch mounten, wie?

Posted: Wed 11 Sep 2013, 18:29
by waryuser
Ausgangslage: ein Thin-Client mit puppy-wary läuft im automatischen Betrieb und steuert eine Heizung. Über hiawatha ist ein FTP Zugang für die Wartung bereits vorhanden. :wink: Nun soll zusätzlich ein USB-Stick angestöpselt werden, um als Bild-Speicher für eine IP-Kamera genutzt zu werden, also praktisch als NAS. Der Stick wird erkannt, aber erst gemounted, wenn man von Hand einmal draufklickt.
Problem: Nach Stromausfall und Neustart des PCs kann der Stick nicht über FTP genutzt werden, weil er sich nicht automatisch mounted. Auch eine Pfadfestlegung in der fstab (wie für die interne CF Card bereits vorhanden) bringt keine Abhilfe. Nun habe ich USBmount als deb Paket installiert und in der etc/usbmount/usbmount.conf wahrscheinlich alles korrekt angegeben:

ENABLED=1
MOUNTPOINTS="/media/usb0 /media/usb1 /media/usb2 /media/usb3
/media/usb4 /media/usb5 /media/usb6 /media/usb7"
FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus"
MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"
FS_MOUNTOPTIONS=""
VERBOSE=no

aber irgendwas fehlt noch - das rote Kreuz am icon sollte doch automatisch nach Stecken des Sticks bzw. nach Reboot angehen??
Oder geht usbmount unter puppy gar nicht??
Wo ist mein Denkfehler, oder geht es auch anders?

Posted: Wed 11 Sep 2013, 18:41
by Karl Godt
Wo ist mein Denkfehler, oder geht es auch anders?
http://linux.die.net/man/8/mount

1000 Zeilen Text :AETSCH:

Code: Select all

mkdir -p /mnt/BloaderOmniFersalStockX
mount /dev/BloaderOmniFersalStockX /mnt/BloaderOmniFersalStockX
irgendwo in den blut-prozess einfuegen ( /etc/rc.d/rc .sysinit | local ) /root/.xinitrc /usr/sbin/delayedrun /root/Startup

Und nunb stirb -DuennPatient !

:lol:

Posted: Thu 12 Sep 2013, 08:44
by oui
also, ich nehme an, nachdem der Stick ja bereits steckt, dass die alte Einbindung als Laufwerk in /etc/fstab als Laufwerk /mnt/pipapo, Bezeichnung am Bildschirm, auch in Puppy möglich ist... Motzen dürfte Puppy erst, wenn das Ding bei Start fehlt...

.

Posted: Thu 12 Sep 2013, 09:34
by waryuser
So, alles ausprobiert - es geht! War ganz einfach (wenn man es weiß :lol: )
Zusammenfassung:
in /usr/sbin/delayedrun steht nun am Ende
mkdir -p /mnt/stick
mount /dev/sdb1 /mnt/stick
und eine Screeninfo. USBmount ist auch nicht notwendig. /etc/stab und /root/.xinitrc funzen nicht, da sie zu früh ausgeführt werden.
Egal, ob ein Stick steckt beim Booten oder nicht, fährt das System jetzt sauber hoch. Wenn er vorher steckt, wird er korrekt gemounted - so sollte es sein!
Eine Zusatzfrage noch: wie erreiche ich, dass der Stick, wenn er mal während des Betriebes erfernt wird (ohne unmount!) und wieder gesteckt wird dann erneut als sdb1 und nicht als sdc1 erkannt und vielleicht auch gemounted wird? Also eine automatische Prozedur zum "unmounten" sdb1 nach Entfernen und mounten beim erneuten Stecken. Gibt es da einen event Handler? Hintergrund: normalerweise gibt es keine Tastatur und keinen Screen am IGEL!
Aber trotzdem schon mal danke! :idea: Und oui, kannst Du nachts nicht schlafen?

Posted: Thu 12 Sep 2013, 12:25
by Karl Godt
Dann kaeme wohl so etwas wie UUID in Frage :

Code: Select all

blkid /dev/sdb1
sollte die UUID ausspucken .

Und dann brauchte es ein MonitorTeufelchen in /rotz/Startup

Code: Select all

#!/bin/sheiss
# Karl Reimer Godt
# Leckzens : 1 Dose Bier :P

UUID=HIER_MEINE_UUID
sleep 5s
GRADE_VR=`blkid | grep -m1 -w "$UUID" | cut -f1 -d':'`
[ "$GRADE_VR" ] || exit 0
GRADE_MP=`grep -m1 -w "^$GRADE_VR" /proc/mounts | cut -f2 -d' '`
GRADE_MP=`busybox echo -e "$GRADE_MP"`
mountpoint "$GRADE_MP" || exit 1

while [ ich_weiss_was_ich_tu ]
do
sleep 3s
dd if=$GRADE_VR of=/dev/null bs=32 count=1|| {
#oder nicht mehr erreichbar
WIEDER_WO=`bkid | grep -m1 -w "$UUID"`
if [ "$WIEDER_WO" ] ; then
NEU_VORRICHTUNG=`echo "$WIEDER_WO" | cut -f1 -d':'`
umount "$GRADE_MP"
sleep 3s
mount "$NEU_VORRICHTUNG" "$GRADE_MP"
fi
sleep 3s
}
done
.. irgendwie so ..

Posted: Thu 12 Sep 2013, 12:58
by waryuser
Danke Karl für die schnelle reply. Werde ich drüber nachdenken und ausprobieren. Aber die UUID ist doch nur für einen bestimmten stick gültig, oder? Kann ich die beim Startup nicht schon auslesen und dauerhaft speichern, sodass ein beliebiger stick beim Einschalten gesteckt werden kann - der dann später wiedererkannt wird?

Posted: Thu 12 Sep 2013, 14:08
by Karl Godt
Schnell war (un)reiner Zufall !

Weiss ich gar nicht .. VFAT oder ein journal FS -- abstoepslen der Daeumlinge *moechte* womoeglich in DateiSystemDemolation enden ..
.. wenn nicht besonders manuela abgestiegen wird ..

Natuerlich bedeuted UUID immer eine spexzielle Partition .
Aber dies Komiker-Gnu/Linux bringt fuer UUID bei sichselbst Windows-Artige-Freischalt-Kodes-Pilsner Herford , nur bei Loosedowns ParteiSystemen wundersam verkuerzte UUID s .

Sonsten muesste bei IGLE dann davon augegangen werden, dass nur eine einzige DaumFurzel klistiert wird , und immer nur fuer den einzig einen Zwetschen Schappes .

Natuerlich koennte man einen RettungsFinger machen, mit einer bekannten UUID , und testen fuer diese UUID , anschnorrsten immer ausgehen, es sei fuer die WAS WAR DAS NOCH MAL CAMERA ?

Posted: Thu 12 Sep 2013, 15:01
by waryuser
Das mit der UUID wird zu speziell, dann belasse ich es lieber so. Also Stick nur manually unmounten+entfernen+wiederstecken und alternativ Ausschalten+stick wechseln+Einschalten
War aber einen Versuch wert. Danke trotzdem!

Posted: Fri 13 Sep 2013, 17:28
by wuwei
Ich weiß nur, daß man in Puppy Laufwerke und Partitionen durch Einträge in/etc/fstab UND /etc/rc.d/rc.local beim Booten starten kann.

Mehr vielleicht hier zu finden:

http://wellminded.com/puppy/pupsearch.html

Posted: Fri 13 Sep 2013, 18:53
by waryuser
"Ich weiß nur, daß man in Puppy Laufwerke und Partitionen durch Einträge in/etc/fstab UND /etc/rc.d/rc.local beim Booten starten kann."
Richtig, geht auch! Ändert aber nichts daran, dass es nicht automatisch "unmounted"