Portál AbcLinuxu, 8. května 2025 02:26

Dotaz: automount na Raspberry PI

4.2.2017 16:19 jnovacek | skóre: 22 | blog: NovLin
automount na Raspberry PI
Přečteno: 412×
Odpovědět | Admin
Ahoj všichni.

Používal jsem na Raspberry PI TinyCore Linux, ale při příchodu PI 3 v této distribuci chybí hodně knihoven a aplikací. Dřív jsem si je kompiloval, ale to zabírá hodně času. Přešel jsem tedy na RPiTC (http://rpitc.blogspot.cz/). Téměř vše mi zde vyhovuje. Co se mi nedaří rozchodit je automount USB disků. Vyzkoušel jsem vše možné i nemožné. Montuji přímo v rules, volám skript, snažím se tam dávat celé cesty ... , ale pořád nic. Před samotným přimontováním mám vytváření adresáře, ten se vytvoří, ale samotná fleška se nepřimontuje. Nechal jsem si už i příkaz pro přimontování vytisknout do souboru. Když ho potom spustím i pod obyčejným uživatelem, tak se disk přimontuje, ale automaticky ne. Vyzkoušel jsem i pmount a výsledek je takový, že adresář se vytvoří, uvnitř je uvedeno, že to vytvořil pmount, ale přimontování se neprovede. Když vyzkouším pmount pod obyčejným uživatelem, tak to opět funguje.

Nejdřív jsem měl vše v rules, pak jsem se nechal inspirovat tady odkaz. Vyzkoušel jsem přímo i "apt-get install automount", ale to také USBčko nepřimontuje.

Je možné sledovat někde výstup rules?

Předem všem děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.2.2017 18:37 NN
Rozbalit Rozbalit vše Re: automount na Raspberry PI
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak vypada zapis v fstab? Je mozne, ze USB zarizeni je v case pripojovani disku jeste nedostupne.
4.2.2017 18:51 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: automount na Raspberry PI
V mém skriptu v TinyCore Linuxu jsem fstab upravoval, to teď nefungovalo. V odkazu, kde jsem čerpal s fstab se nic nedělá. Když dám ručně mount /dev/sda1 /mnt/sda1 tak se do fstab také nic nezapíše. Musím fstab upravovat ručně?

Pokoušel jsem se ve skriptu i vyčkávat, říkal jsem si, že je to možná moc rychlé, ale ani to nepomohlo.
4.2.2017 22:22 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: automount na Raspberry PI
Odpovědět | | Sbalit | Link | Blokovat | Admin
do spouštěného skriptu jsem přidal uložení výstupu z tohoto příkazu:

udevadm info --query=all --name=xxxx

Toto dostanu při spuštění z rules

P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/host4/target4:0:0/4:0:0:0/block/sda/sda1

N: sda1

E: DEVNAME=/dev/sda1

E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/host4/target4:0:0/4:0:0:0/block/sda/sda1

E: DEVTYPE=partition

E: MAJOR=8

E: MINOR=1

E: SUBSYSTEM=block

Toto dostanu při spuštění v cmd

P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/host4/target4:0:0/4:0:0:0/block/sda/sda1

N: sda1

S: disk/by-id/usb-Kingston_DataTraveler_2.0_C8600088615FEEB1BA301A87-0:0-part1

S: disk/by-label/XBOOT

S: disk/by-partuuid/c3072e18-01

S: disk/by-path/platform-3f980000.usb-usb-0:1.4:1.0-scsi-0:0:0:0-part1

S: disk/by-uuid/74EE-4298

E: DEVLINKS=/dev/disk/by-uuid/74EE-4298 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.4:1.0-scsi-0:0:0:0-part1 /dev/disk/by-id/usb- Kingston_

E: DEVNAME=/dev/sda1

E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/host4/target4:0:0/4:0:0:0/block/sda/sda1

E: DEVTYPE=partition

E: ID_BUS=usb

E: ID_FS_LABEL=XBOOT

E: ID_FS_LABEL_ENC=XBOOT

E: ID_FS_TYPE=vfat

E: ID_FS_USAGE=filesystem

E: ID_FS_UUID=74EE-4298

E: ID_FS_UUID_ENC=74EE-4298

E: ID_FS_VERSION=FAT32

E: ID_INSTANCE=0:0

E: ID_MODEL=DataTraveler_2.0

E: ID_MODEL_ENC=DataTraveler\x202.0

E: ID_MODEL_ID=6545

E: ID_PART_ENTRY_DISK=8:0

E: ID_PART_ENTRY_FLAGS=0x80

E: ID_PART_ENTRY_NUMBER=1

E: ID_PART_ENTRY_OFFSET=8064

E: ID_PART_ENTRY_SCHEME=dos

E: ID_PART_ENTRY_SIZE=15232512

E: ID_PART_ENTRY_TYPE=0xb

E: ID_PART_ENTRY_UUID=c3072e18-01

E: ID_PART_TABLE_TYPE=dos

E: ID_PART_TABLE_UUID=c3072e18

E: ID_PATH=platform-3f980000.usb-usb-0:1.4:1.0-scsi-0:0:0:0

E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_4_1_0-scsi-0_0_0_0

E: ID_REVISION=PMAP

E: ID_SERIAL=Kingston_DataTraveler_2.0_C8600088615FEEB1BA301A87-0:0

E: ID_SERIAL_SHORT=C8600088615FEEB1BA301A87

E: ID_TYPE=disk

E: ID_USB_DRIVER=usb-storage

E: ID_USB_INTERFACES=:080650:

E: ID_USB_INTERFACE_NUM=00

E: ID_VENDOR=Kingston

E: ID_VENDOR_ENC=Kingston

E: ID_VENDOR_ID=0930

E: MAJOR=8

E: MINOR=1

E: SUBSYSTEM=block

E: TAGS=:systemd:

E: USEC_INITIALIZED=1649917666

Rozdíl je znatelný, poradí někdo?
5.2.2017 19:06 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: automount na Raspberry PI
Odpovědět | | Sbalit | Link | Blokovat | Admin
Když spouštím skript v cronu, tak se USB přimontuje / odmontuje (v intervalu 1m).

Když se stejný skript spustí z udev rules, tak se pouze vytvoří adresář. Když spustím skript, který spustí druhý skript pomocí sudo a se zpožděním cca 5s, tak se opět vytvoří pouze adresáře.

Kde se dá detekovat připojení USB? Je jediná možnost udev rules?
Řešení 1× (jnovacek (tazatel))
5.2.2017 22:51 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: automount na Raspberry PI
Odpovědět | | Sbalit | Link | Blokovat | Admin
vykašlal jsem se na úpravu rules. Tam to nefunguje a u distribuce RPiTC to píše i X dalších lidí. Nepodařilo se jim to vyřešit stejně jako mně.

Nakonec jsem udělal tento skript, spouštím ho automaticky při spuštění

#!/bin/bash

while read -r _ _ event devpath _; do

if [[ $event == add ]]; then

sudo /mnt/config/mount_manager.sh

fi

if [[ $event == remove ]]; then

sudo /mnt/config/mount_manager.sh

fi

done < <(stdbuf -o L udevadm monitor --udev -s block)

je potřeba to ještě upravit, ale automount funguje. Skript mount_manager je inspirován tímto odkaz

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.