USB Stick unter wary automatisch mounten, wie?

Post Reply
Message
Author
waryuser
Posts: 14
Joined: Wed 11 Sep 2013, 18:03

USB Stick unter wary automatisch mounten, wie?

#1 Post 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?

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#2 Post 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:
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

oui

#3 Post 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...

.
Last edited by oui on Thu 12 Sep 2013, 10:00, edited 1 time in total.

waryuser
Posts: 14
Joined: Wed 11 Sep 2013, 18:03

#4 Post 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?

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#5 Post 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 ..
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

waryuser
Posts: 14
Joined: Wed 11 Sep 2013, 18:03

#6 Post 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?

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#7 Post 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 ?
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

waryuser
Posts: 14
Joined: Wed 11 Sep 2013, 18:03

#8 Post 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!

User avatar
wuwei
Posts: 800
Joined: Sat 15 Sep 2007, 11:59
Location: formerly de; now in tranquility

#9 Post 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

waryuser
Posts: 14
Joined: Wed 11 Sep 2013, 18:03

#10 Post 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"

Post Reply