udev NAME no, SYMLINK si ....

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

udev NAME no, SYMLINK si ....

Messaggio da shoshin »

Buonasera,

ho seguito sia la guida sul wiki che altre guide sparse sulla rete in merito alla creazione delle regole per udev, ma il problema che mi si pone, mi lascia talmente spiazzato che non trovo alcun rimedio che aprire una discussione sul forum.
Premesso che la pennina usb funziona regolarmente, e per predefinito, l' udev le associa il file /dev/sdb1, io ho voluto creare una banalissima regola che mi permetta di raggiungere tale archivio tramite un suo nome dedicato. Ho creato quindi la seguente regola:

SUBSYSTEM=="usb", ATTRS{idVendor}=="13fe", ATTRS{manufacturer}=="Kingston", ATTRS{serial}=="5B740399F173", NAME="kingstone4gb"

i cui valori delle chiavi di matching li ho opportunamente raccolti tramite il comando udevadm info -a -p /sys/block/sdb
lancio /etc/rc.d/rc.udev reload , reinserisco la pennina, ma niente il file /dev/kingstone4gb non me lo crea e nemmeno mi restituisce alcun errore.... :-k

La cosa che mi lascia sconcertato è il fatto che se io sostituisco la chiave di assegnazione con un SYMLINK, questo me lo crea. Tramite questo però non soddisfo il mio desiderio, in quanto se provo a montare dal link che mi ha creato, mi dà errore dicendomi:

mount: /dev/bus/usb/002/006 is not a block device

Grazie in anticipo

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: udev NAME no, SYMLINK si ....

Messaggio da neongen »

a occhio e croce mi pare che nella regola non distingui le partizioni: prova NAME="kingstone4gb%n"

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: udev NAME no, SYMLINK si ....

Messaggio da shoshin »

ho scoperto solo ora che modificando il file della mia regola da

/etc/udev/rules.d/10-mieregole.rules a /etc/udev/rules.d/90-mieregole.rules

mi ha creato finalmente il file /dev/kingstone4gb , ma non riesco a montarlo in quanto mi dà l'errore di prima

mount: /dev/kingstone4gb is not a block device .... #-o

anche con il tuo consiglio, non mi cambia nulla...

grazie lo stesso però!! :)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: udev NAME no, SYMLINK si ....

Messaggio da targzeta »

L'errore l'hai risolto, comunque generalmente si suggerisce di creare il link simbolico al nome che altre regole stabiliscono. Se funziona il mount al device funziona anche il mount al link simbolico. Il link però dev'essere alla partizione e non al device, quello che hai fatto tu è cambiare il nome a sdb e non a sdb1.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: udev NAME no, SYMLINK si ....

Messaggio da shoshin »

Ok, diciamo che ti ho capito, ma in parte ... :(

allora ho seguito il tuo consiglio di creare il link simbolico, e ho capito che questo deve essere alla partizione...ma faccio ancora confusione a decifrare gli attributi del dispositivo Quando lancio il comando udevadm -a -p /sys/block/sdb

trovo la chiave di matching KERNEL="sdb" nella sezione device /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb , ma i vari ATTR ( {manufacturer} {product} e {serial} ) li trovo nella sezione del parent device /devices/pci0000:00/0000:00:1d.7/usb2/2-1 dove però la voce KERNEL mi riporta "2-1" ....

altra domanda... e se io ho già collegata un' altra chiavetta, alla quale è stato rilasciato già il dispositivo sdb1, allora udev dovrà passargli sdc1 .... ma in questo caso la regola per creare il mio link simbolico, come la dovrei creare? come faccio a prevedere che sd? mi verrà rilasciato????

Grazie mille per l'aiuto

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: udev NAME no, SYMLINK si ....

Messaggio da targzeta »

Infatti tu non ti devi basare sul device ma sugli attributi propri della pennina. Ti posto due esempi presi dalle mie regole:

Codice: Seleziona tutto

# La partizione dell'HD esterno della Maxtor
KERNEL=="sd?1", DRIVERS=="usb", ATTRS{manufacturer}=="Maxtor  ", ATTRS{serial}=="2HB52GMY    ", SYMLINK="hd_ext_maxtor"
Come vedi io matcho la prima (e unica) partizione del mio HD esterno indipendentemente dal device al quale viene collegato.

Codice: Seleziona tutto

# Le 4 partizioni dell'HD esterno della JMicron
KERNEL=="sd?[1-4]", DRIVERS=="usb", ATTRS{manufacturer}=="JMicron", ATTRS{serial}=="D40968418FFF", SYMLINK="hd_ext%n"
In questo caso l'HD ha 4 partizioni e uso il '%n' per creare un link simbolico a partizione, questa regola mi crea 4 link:
  • hd_ext1
  • hd_ext2
  • hd_ext3
  • hd_ext4
ognuno del quale riferisce alla propria partizione.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Rispondi