Koppel automatisch USB-apparaten aan een Raspberry PI

Dit artikel is gepubliceerd door Hallo in onze foro

Als je in Raspberry geen grafische interface gebruikt, wordt het vervelend om ons USB-geheugen keer op keer te monteren. Ook kun je tijdens het automatiseren van deze actie (wat ik hieronder laat zien) iets leren over hoe Linux met apparaten omgaat.

Installeer autofs en udev

Het eerste dat we gaan doen, is installeren autofs y udev

sudo apt-get install autofs udev

udev is een linux-kerneltool die verantwoordelijk is voor het beheer van de / dev-directory, waar alle apparaten zich bevinden. En met autofs kunnen we, eenmaal geconfigureerd, alles automatisch koppelen en ontkoppelen zodra de usb is aangesloten of losgekoppeld.

Het eerste dat we zullen doen, is ons USB-geheugen (ik zal een Kingston-merk gebruiken) aansluiten op onze computer / Raspberry Pi. Vervolgens voeren we uit:

sudo fdisk-l

zal een output hebben die lijkt op deze:

Schijf / dev / mmcblk0: 15.7 GB ... Apparaat opstarten Start Eindblokken Id Systeem / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux uitgebreid / dev / mmcblk0p3 30613504 30679039 32768 Linux ... .. Schijf / dev / sda: 83 GB ... Apparaat opstarten Start Eindblokken Id Systeem / dev / sda30.9 1 2048 60436479 c W30217216 FAT95 (LBA)

Mijn externe usb-geheugen heeft 30.9 GB (dat wil zeggen, het is / dev / sda1), terwijl het SD-geheugen waar ik Linux op heb geïnstalleerd 15.7 GB heeft.

Aangepaste regels in udev

Wetende dat sda1 ons apparaat is, zullen we udev gebruiken om informatie uit het geheugen te extraheren, dus voeren we het volgende commando uit:

udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1)

er zullen blokken zijn, gescheiden door de zin "kijken naar bovenliggend apparaat '/ apparaten / ... .."

om het zoeken een beetje gemakkelijker te maken, kunnen we grep gebruiken, dus ik doe het volgende:

udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1) | grep fabrikant

in mijn geval, omdat mijn geheugen een Kingston is, is de uitvoer:

    ATTRS {manufacturer} == "Kingston" # 1 ATTRS {manufacturer} == "Linux 3.12.28+ dwc_otg_hcd"

of we kunnen ook zoeken:

udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1) | grep model udevadm info -a -p $ (udevadm info -q pad -n / dev / sdd1) | grep leverancier

Ik ben geïnteresseerd:

ATTRS {fabrikant} == "Kingston"

Net als het eerste toeval. In de opdrachtuitvoer udevadm Ik zoek het blok waar het voor het eerst verschijnt "ATTRS {fabrikant}"

Ik neem enkele gegevens die ik als uniek beschouw, van het apparaat van een blok, in mijn geval:

   ATTRS {product} == "xxx" ATTRS {serieel} == "xxxx" DRIVERS == "usb"

je hoeft alleen maar de regels te maken. We maken een bestand af in .rules in udev:

sudo nano /etc/udev/rules.d/personal.rules

in het bestand dat we plaatsen

ATTRS {product} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"

Als ik nu mijn usb aansluit, zal er een bestand / dev / miusb zijn. Dit was het moeilijkste deel.

Autofs instellen

We voeren uit:

sudo nano / etc / default / autofs

waar staat "TIMEOUT =" zetten ze "TIMEOUT = 1"

Laten we naar /etc/auto.master gaan

nano /etc/auto.master

en in het bestand plaatsen we de laatste regel:

/ media /etc/auto.misc

nu gaan we naar /etc/auto.misc

nano /etc/auto.master

en in de laatste regel schrijven we:

mijngeheugen -fstype = vfat, gebruikers, rw, umask = 000: / dev / miusb

ten slotte laten we het de autofs-module aan het begin laden:

sudo nano / etc / modules

en in de laatste regel schrijven we:

autofs4

en voila, we herstarten de Raspberry. Houd er rekening mee dat de map niet bestaat in / media, maar wanneer we een

cd / media / geheugen

we zijn al binnen. En als we het niet meer gebruiken, verdwijnt de map en kunnen we het apparaat verwijderen zonder het handmatig te ontkoppelen.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Hallo zei

    bedankt voor het posten 🙂

  2.   PABLO zei

    Ik denk dat er een fout is opgetreden bij het bewerken van auto.misc, auto.master wordt in de code geschreven, voor het geval iemand het nietsvermoedend doet en zich niet realiseert 🙂

  3.   Fernando Diaz zei

    Bedankt, ik was gewoon op zoek om het op Raspbian te doen, ik heb Arch eerder gebruikt en het was gemakkelijker.

  4.   Azureus zei

    Heel goed, dat ik moest bezetten toen ik mijn Pi als een torrent-client plaatste met mappen die door samba werden gedeeld.
    De fstab-handleiding zegt dat het iets robuuster is om het label van de eenheid te controleren met # blkid, in mijn geval heb ik een automatisch gemonteerde Windows-partitie bij elke start als volgt:

    / Dev / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, standaard 0 2

    op de framboos heb ik een LVM gemonteerd, ik herinner me de configuratie niet goed.
    Volgens de handleiding kun je # fdisk -l gebruiken om het stationsnummer en de letter te krijgen en # blkid om te weten welk label overeenkomt met welk station.

    Groeten.

    1.    Azureus zei

      [Bijwerken]
      Dit label komt voort uit het feit dat er mensen (zoals ik) zijn die zich lui voelen om een ​​volume los te koppelen elke keer dat de computer wordt uitgeschakeld.Het probleem is wanneer je meerdere volumes hebt, omdat het niet altijd in dezelfde volgorde wordt gemount na verschillende herstarts . Dit heeft overigens een nadeel, wanneer het apparaat dat overeenkomt met het toegewezen label voor automount wordt verwijderd, wordt een fout gegenereerd en kan de / home niet worden geladen als de partitie op home is aangekoppeld. Dit kan worden opgelost door commentaar te geven op het apparaat dat conflicten veroorzaakt in fstab of door het apparaat opnieuw aan te sluiten