Forum: Mikrocontroller und Digitale Elektronik raspi: mounten eines USB-Sticks, wenn der schon beim Hochfahren steckt


von Andreas W. (andy_w)


Lesenswert?

Hallo,
wenn ich beim Raspberry Pi nach dem Hochfahren einen USB-Memorystick 
einstecke, wird er automatisch erkannt und ist unter
/media/<name USB-Stick>
zu finden und ich kann auch darauf zugreifen.

Ich möchte aber auch einen USB-Stick permanent in einem USB-Port stecken 
lassen und den als "Festplatte" zum Speichern von Daten verwenden. Wenn 
der Raspberrey Pi mit eingestecktem USB-Stick hochfährt, wird der 
allerdings nicht erkannt, der Ordner /media bleibt leer. Unter /dev 
sollte dann ein Verzeichnis sda1 sein, das wäre der USB-Stick, den man 
dann mounten kann. Aber es gibt in /dev gar kein Verzeichnis sda1, 
sda2,... Also geht auch
sudo mount /dev/sda1 /zielordner
nicht. Irgendetwas muß man wohl vorher noch machen, aber was?

Jedesmal den USB-Stick nach dem Hochfahren erst einstecken geht nicht, 
da der Raspberry Pi in ein Gerät eingebaut ist, nur die SD-Karte kann 
von außen eingesteckt werden. Aber wie kann ich den Stick jetzt mounten?

Gruß
Andy

von wendelsberg (Gast)


Lesenswert?

In der /etc/fstab eintragen.

wendelsberg

von Andreas W. (andy_w)


Lesenswert?

Hallo,
was muß man denn da eintragen? Wikipedia gibt dieses Beispiel:
1
# Device           Mountpoint  FStype  Options         Dump    Pass#
2
 /dev/ad4s2b        none        swap    sw              0       0
3
 /dev/ad4s2a        /           ufs     rw              1       1
4
 /dev/ad4s2d        /var        ufs     rw              2       2
5
 /dev/ad4s2e        /usr        ufs     rw              2       2
6
 /dev/ad4s2f        /home       ufs     rw              2       2
7
 /dev/ad6s1d        /pile       ufs     rw              2       2
8
 /dev/acd0          /cdrom      cd9660  ro,noauto       0       0
9
 /dev/da0s1a        /mnt        ufs     rw,async,noauto 0       0
10
 daywalker:/bigpile /bigpile    nfs     rw              0       0

aber was gebe ich als ersten Parameter einer Zeile ein, also dev?????

Gruß
Andy

von M. L. (ado)


Lesenswert?

Kannst ja mal
lsblk  eingeben und sehen ob der Devicename ein anderer ist.
Bzw. den Bootvorgang und die geladenen Module untersuchen ob es da 
irgend ein Problem besteht, mit
dmesg

von Andreas W. (andy_w)


Lesenswert?

Hallo,
wenige Minuten nach meinem letzten Posting war Stromausfall... Also 
konnte ich nichts mehr ausprobieren. vorher hatte ich aber lsblk 
aufgerufen, fand aber nur Einträge, die offensichtlich zur SD-Karte 
gehörten. Nur der letzte sah etwas anders aus, ließ sich mounten, war 
aber offensichtlich auch irgendetwas von der SD-Karte. Auf jeden Fall 
nicht der USB-Stick.

Sollte nicht in /dev irgendwas mit sda0, sda1, sda2,... erscheinen? Wenn 
ich nach dem Problem google, wird immer nur der Fall bearbeitet, bei dem 
der USB-Stick erst nach dem Hochfahren eingesteckt wird. kann man danach 
mit lsblk oder "df -h" (nach 
http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Laufwerke.html) 
nach dem USB-Stick gucken und das dann in fstab eintragen? Bootet dann 
der Raspi auch mit dem bereits eingesteckten Stick?

Bei einem Versuch mit bereits steckendem USB-Stick ging danach gar 
nichts mehr, erst, nachdem ich das Image der SD-Karte von meinem letzten 
Backup wieder auf die SD-Karte kopiert hatte, ging es wieder.

Gruß
Andy

von Karl H. (kbuchegg)


Lesenswert?

Andreas W. schrieb:

> Sollte nicht in /dev irgendwas mit sda0, sda1, sda2,... erscheinen?

Sollte eigentlich

> Wenn
> ich nach dem Problem google, wird immer nur der Fall bearbeitet, bei dem
> der USB-Stick erst nach dem Hochfahren eingesteckt wird.

Nicht wirklich. Wenn man den Pi 24/7 betreiben möchte, dann bootet man 
nur von der SD-Karte, der Rest des Systems liegt aber auf einem 
USB-Stick oder einer USB-Festplatte. Dazu muss aber das USB Gerät 
bereits im Bootloader gemounted sein, was wiederrum in der cmdline.txt 
schon vorausgesetzt ist. Und das funktioniert auch nachweislich.

von Andreas W. (andy_w)


Lesenswert?

Hallo,
nach dem Stromausfall habe ich jetzt neues probiert. Raspi hochgefahren, 
den USB-Stick dann angeschlossen, danach existieren Dateien sda und 
sda1. Evtl. kamen die auch schon vorher, ich hatte fälschlicherweise 
nach Verzeichnissen mit den Namen statt nach Dateien geguckt...

Danach habe ich lsblk aufgerufen und folgendes bekommen:
1
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
2
sda           8:0    1   7.5G  0 disk 
3
└─sda1        8:1    1   7.5G  0 part 
4
sdb           8:16   1  29.5G  0 disk 
5
└─sdb1        8:17   1  29.5G  0 part /media/USB_32GB
6
mmcblk0     179:0    0  14.9G  0 disk 
7
├─mmcblk0p1 179:1    0    56M  0 part /boot
8
└─mmcblk0p2 179:2    0  14.8G  0 part /

Das scheint soweit OK zu sein, sdb ist der zweite Stick, den ich 
reingesteckt habe, um die Daten, die ich hier poste, darauf zu kopieren. 
sda ist der erste Stick, der fest in der USB-Buchse stecken bleiben 
soll. Diese Antwort habe ich nach einem Reboot mit gestecktem Stick 
bekommen, der zweite Stick wurde erst nach dem Booten angeschlossen.

In fstab habe ich schon vor dem Reboot folgendes reingeschrieben:
1
proc            /proc           proc    defaults          0       0
2
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
3
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
4
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that
5
/dev/sda1 /media/usbstick vfat utf8,uid=1000, gid=1000,fmask=117,dmask=007,noatime 0 0

Nur die letzte Zeile ist dazugekommen. Ebenfalls habe ich in /media das 
Verzeichnis usbstick angelegt.

Allerdings bleibt das Verzeichnis usbstick leer, dort müßte eigentlich 
der Inhalt des fest eingesteckten USB-Stick sein.

Darf das Verzeichnis für den Stick in /media sein oder muß das in der 
Root stehen, also /usbstick statt /media/usbstick? Oder hat jemand eine 
Idee, was jetzt noch schief läuft? Stecke ich genau den Stick erst nach 
dem Booten ein, wird er erkannt und automatisch in /media angelegt, nur 
der Name ist der des Sticks und nicht usbstick.

Gruß
Andy

von Andreas W. (andy_w)


Lesenswert?

Hallo,
den Blank, der sich in fstab vor "gid" in der letzten Zeile 
eingeschlichen hat, habe ich inzwischen entfernt, aber es funktioniert 
immer noch nicht. Irgend eine Fehlermeldung habe ich beim Booten kurz 
gesehen, aber wo finde ich die Meldungen, die da über den Bildschirm 
gehuscht sind, wieder, um die in Ruhe zu lesen?

Gruß
Andy

von Andreas W. (andy_w)


Lesenswert?

Hallo,
Problem endlich gelöst! Irgendwo in google fand ich dann den Hinweis, 
mit "dmesg" die Meldungen vom Bootvorgang im Terminal wieder sehen zu 
können. Und dann stellte sich heraus, daß ich den einzigen USB-Stick in 
meiner Sammlung genommen habe, der mit NTFS formatiert war... Nach einem 
Formatieren mit FAT32 war das Problem endlich behoben, der bereits 
steckende Stick wird gefunden und die Datenm darauf sind auch sichtbar.

Gruß
Andy

von Andreas W. (andy_w)


Lesenswert?

Hallo,
es ist zum Mäusemelken! Jetzt habe ich Zugriff auf den Stick, aber die 
Rechte für die Dateien auf der SD-Karte haben sich irgendwie geändert. 
Nun läuft das make nicht mehr, wiringPi funktioniert auch nicht mehr 
usw. Irgendwo mit google fand ich undeutliche Informationen, daß die 
Rechtevergabe für den Stick auch Auswirkungen für die anderen Einträge 
in fstab hat. Verstanden habe ich das nicht. Nun spiele ich das 
gesicherte Image vor diesen Versuchen mit fstab wieder auf die Kartze 
und hoffe, daß wenigstens das wieder läuft. Ich befürchte, daß nach der 
Änderung von fstab wie hier beschrieben das Theater wieder los geht...

Sieht jemand noch Fehler in der fstab, außer dem irrtümlichen Blank vor 
dem "gid=1000", das inzwischen aber weg ist?

Gruß
Andy

von M. L. (ado)


Lesenswert?

Früher konnte man in der Standardeinstellung  unter Linux NTFS nur lesen 
aber nicht schreiben.
Fallst du den Stick nur am RASPI nutzen willst kann du den ja mal 
versuchsweise mit EXT4 formatierem.

von Ulrich F. (Gast)


Lesenswert?

Andreas W. schrieb:
> Nach einem
> Formatieren mit FAT32
Sind alle Rechte weg.

FAT32 hat so einiges nicht.

Formatiere mit Ext4 oder so...

Und wenn du da unbedingt von Windows auch drauf zugreifen muss, kann man 
notfalls den Paragon verwenden.
https://www.paragon-software.de/de/home/extfs-windows/

von Bernd K. (prof7bit)


Lesenswert?

M. L. schrieb:
> den ja mal
> versuchsweise mit EXT4 formatierem.

Das würd ich sowieso machen, nicht nur versuchsweise. OP schrieb ja daß 
es permanent und fest eingebaut bleiben soll. Da gibts doch überhaupt 
nicht den geringsten Grund sich mit FAT rumzuplagen.

von OMG (Gast)


Lesenswert?

Du hast nur als root Schreibrechte auf die "Hardware" USB.
Da du al User Pi nicht in der Gruppe für den USB bist.
Ich nehme an du loggst dich mit PI ein und nicht als root.
Mit dem addgroup befehl kannst du das aber Lösen.
Füge den User Pi der "Hardware" Gruppe zu (geht mit su) ohne als
root eingeloggt zu sein.
Falls du noch kein root Passwort gesetzt hast, dann tu das mit dem
Befehl: passwd

Linux ist am Anfang etwas "Lesebedürftiger".

Aber hat man mal verstanden wie Linux funktioniert ist es genial!

von /bin/woanders (Gast)


Lesenswert?

Andreas W. schrieb:
> Sieht jemand noch Fehler in der fstab, außer dem irrtümlichen Blank vor
> dem "gid=1000", das inzwischen aber weg ist?

Gieb mal dem vfat-stick ein umask=0 auf den Weg, d und f-mask weglassen.

https://www.kernel.org/doc/Documentation/filesystems/vfat.txt


Zum Beispiel,  ... vfat  umask=0,quiet,noatime,flush 0 0

Dann sollte alles lesen und schreiben koennen.
Falls Berechtigungen wichtig seien sollten, halt anderes fs nehmen.

von Carsten P. (r2pi)


Lesenswert?

USB-Ports sind i.d.R. leicht zugänglich. Wenn in deinem Fall das Ding in 
einem verplombten Kasten sitzt, ist alles gut, und die Tipps meiner 
Vorredner sind prima.

Falls aber nicht, würde ich einen USB-Stick wie eine externe 
Datenquelle, also mit größter Vorsicht behandeln, sprich: in einem 
SEPARATEN Boot-Script mounten, statt über /etc/fstab-Eintrag, und zwar 
Device für Device nacheinander read-only, dann einen Virenscanner deiner 
Wahl drüber jagen, und bei Erfolg read-write remounten. Das heißt 
natürlich, dass erst der Virenscanner eine Update-Anfrage an seinen 
Provider schicken muss, bevor er was scannt. Und erst dann gibst du das 
Ding der Allgemeinheit frei.

Mir scheint ehrlich gesagt, ausgerechnet die Linux-Community wird 
langsam sorgenfrei, als würde es sich um ein iPhone handeln (dessen 
Viren-Anfälligkeit zwar gerne verschwiegen, aber doch hinlänglich 
bekannt ist).

von Andreas W. (andy_w)


Lesenswert?

Hallo,
endlich läuft alles. Der Stromausfall hat wohl einige Daten auf der 
SD-Karte verändert, die Mini-USV war noch nicht in Betrieb... Inzwischen 
habe ich den Urzustand, nachdem ich gerade Rasbian installiert hatte, 
als Image auf die SD-Karte zurückkopiert und dann wiringPi wieder 
angelegt. Dabei habe ich gemerkt, daß man nicht einfach das entpackte 
Verzeichnis auf den Raspi kopieren darf, dann stimmen die Rechte nicht 
(das kam von dem anderen USB-Stick, den ich außen an den USB-Hub 
gesteckt hatte, der ebenfalls FAT32 formatiert ist), man muß stattdessen 
das tar-File auf dem Raspi entpacken, dann geht es.

Danach lief auch wieder mein Programm und es ließ sich auch wieder 
compilieren. Danach habe ich ein Image der SD-Karte gesichert und 
anschließend fstab wieder angepaßt. Und jetzt geht das alles incl. 
Zugriff auf den eingebauten USB-Stick. Da mein Programm sowieso unter 
Rootrechten laufen muß, damit ich die wiringPi-Funktionen nutzen kann, 
komme ich damit auch an den Stick ran. Wenn alles fertig ist, wird das 
Programm nach dem Booten automatisch gestartet, Zugriff auf den Stick 
ist nur für das Programm vorgesehen.

Sicherheitstechnisch sehe ich kaum Probleme, denn der Raspi bekommt 
selbstverständlich keinen Internet- oder einen sonstigen Netzzugang, das 
wird ein Standalonegerät. Und da ich vom fertigen Zustand auch ein 
SD-Kartenimage sichern werde, kann ich den Zustand auch wieder mit wenig 
Aufwand herstellen.

Gruß
Andy

von ado (Gast)


Lesenswert?

@Carsten Posingies

Kann Du einen Virenschutzanbieter empfehlen mit dem man solche
USB-Stick-Scans realisieren kann ?

von Carsten P. (r2pi)


Lesenswert?

ado schrieb:
> @Carsten Posingies
>
> Kann Du einen Virenschutzanbieter empfehlen mit dem man solche
> USB-Stick-Scans realisieren kann ?

Hallo ado,

ClamAV z.B.: http://www.heise.de/download/clamav-1148131.html

Der ist OpenSource und lässt sich auch von der Kommandozeile aus 
bedienen. Auf meinem RPi2 läuft zum Beispiel MiniBian, das gar kein GUI 
hat.

Nochmal zur Ergänzung von meinem Geschreibsel von oben: Ein Virenscanner 
erübrigt sich natürlich, wenn man keine Dateien vom externen Medium 
ausführt, sondern nur liest und dann auch nicht ins lokale permanente 
Dateisystem kopiert (reines RamFS ist natürlich okay). Aber das dürfte 
wohl nicht gerade der Regelfall sein.

LG
Carsten

von M. L. (ado)


Lesenswert?

Danke für die Antwort Carsten.

von Carsten P. (r2pi)


Lesenswert?

M. L. schrieb:
> Danke für die Antwort Carsten.

Gern geschehen, und danke für das "Danke", ist ja nicht sooo üblich, 
nicht nur hier ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.