RasPiCar Projekt Forum

Normale Version: script run nach USB mount
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich suche ein methode um ein einfaches script zu drehen nach mounten einer USBstick.
Es gab einige problem, wie zb mount berichten im X wo ich es nicht wollte.

Freund google bringt so einiges aber ich komm nicht zu recht mit die udev-regeln.

Es soll nur auf ein USB stick mit ein bestimmte Name ausgefuhrt worden, aber nicht kucken welchen Vendor usw.

Ob das script am Stick lauft, oder vom standard PI wird aufgerufen ist einigzins egal.

Es gibt ein udev rule,

SUBSYSTEM=="block", KERNEL=="sd*1", ACTION=="add", RUN="/usr/sbin/usb_autorun.sh %E{ID_FS_LABEL} %E{ID_FS_UUID}"

inhalt : /usr/sbin/usb_autorun.sh
#!/bin/bash
SCRIPT=autorun.sh
autorun() {
if [ -z ${1} ]; then
FILE=/media/${2}/${SCRIPT}
else
FILE=/media/${1}/${SCRIPT}
fi

sleep 10

if [ -f ${FILE} ]; then
/bin/bash ${FILE}
fi
}


autorun $@ &


und aufs stick dieses script ( nur zum test )

775 -- autorun.sh
#!/bin/bash
touch /home/pi/eslauft

script darf laufen. (chmod a+x)

Im /etc/mtab gibt es :
/dev/sda1 /media/usb0 vfat rw,sync,nodev,noatime,nodiratime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0


Was fehlt mich hierbei ?

Im algemeinen interest man kann dieses idee benutzen um frischen mpdrei's oder correcten karten ( zum Griechesen Bank ) zu laden ohne directen eingreifen im auto-pi.
Ist gelost, aber nicht wie ich hoffte.

Im crontab ein kleines script aufgenommen das kuckt ob es ein /dev/sda1 gibt, und zum specifieken identifier.
Ist das correct dann wird ein anderes script gestartet dabei auch ein watchdog, wenn es noch
i/o gibt vom USB stick zum PI, dann wird kein unmount aufgefuhrt.
Wenn fertig, dann geht ein Bericht zum Schirm dass aufruft die Stick aus zu nehmen. ( Nach ein sync und unmount )