Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[udev] pure udev: certaines partitions non créées (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sat Feb 26, 2005 6:11 pm    Post subject: [udev] pure udev: certaines partitions non créées (résolu Reply with quote

salut !

je suis en train de faire une nouvelle install gentoo en pure udev, j'ai créé mes propres règles udev pour mes partitions de mon disque dur (en SATA sur une P4P800 Deluxe): /etc/udev/rules.d/10-udev.rules
Code:

BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*1", NAME="boot", SYMLINK="sda1"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*2", NAME="os-a", SYMLINK="sda2"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*3", NAME="os-b", SYMLINK="sda3"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*5", NAME="swap", SYMLINK="sda5"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*6", NAME="root", SYMLINK="sda6"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*7", NAME="opt", SYMLINK="sda7"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*8", NAME="usr", SYMLINK="sda8"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*9", NAME="usr-local", SYMLINK="sda9"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*10", NAME="var", SYMLINK="sda10"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*11", NAME="temp", SYMLINK="sda11"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*12", NAME="data-graveur", SYMLINK="sda12"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*13", NAME="data-dld", SYMLINK="sda13"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="*14", NAME="data-crypt", SYMLINK="sda14"


j'ai modifié mon /etc/fstab pour prendre ça en compte:
Code:

/dev/boot           /boot           ext3         noauto,noatime         1 1
/dev/os-a           /mnt/osa        reiserfs     defaults               0 0
/dev/os-b           /mnt/osb        reiserfs     defaults               0 0
/dev/swap           none            swap         sw                     0 0
/dev/root           /               reiser4      defaults               0 0
/dev/opt            /opt            reiser4      defaults               0 0
/dev/usr            /usr            reiser4      defaults               0 0
/dev/usr-local      /usr/local      reiser4      defaults               0 0
/dev/var            /var            reiser4      defaults               0 0
/dev/temp           /tmp            ext3         defaults               0 0
/dev/data-graveur   /data/graveur   reiser4      defaults               0 0
/dev/data-dld       /data/downloads reiser4      defaults               0 0
/dev/data-crypt     /data/crypt     reiser4      defaults               0 0


C'est donc un système pure udev: /etc/conf.d/rc
Code:

RC_DEVICE_TARBALL="no"
RC_DEVFSD_STARTUP="no"


Dans l'ensemble tout marche bien, mes devices sont bien créés au démarrage par udev, et j'ai accès ensuite aux partitions (même reiser4).
"Dans l'ensemble" car il y 3 partitions de ce disque qui ne sont pas montées, car aucun device n'est créé pour elles, ce sont sda11, sda12 et sda13. J'ai lancé fsck.reiser4/ext3 dessus mais aucun problème détecté, j'ai même changé leur type (ext3, reiser4) mais rien n'y a fait, ces 3 devices ne sont pas créés, alors que sda14 l'est sans problème.

Je suis complètement à cours d'idées, d'autant plus que je ne pense pas à un problème physique car j'y ai accès depuis une autre install gentoo sans problème (install en devfs/udev).

Merci de votre aide !


Last edited by truz on Sat Feb 26, 2005 8:24 pm; edited 1 time in total
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Sat Feb 26, 2005 7:00 pm    Post subject: Reply with quote

Ben... Je ne vois rien de spécial. Tes points de montage (/data/*) sont bien créés?

--
Renaud
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sat Feb 26, 2005 7:49 pm    Post subject: Reply with quote

les points de montages existent bien:
Code:

$ ls -al /data/
drwxr-xr-x   7 root root  7 fév 22 22:32 .
drwxr-xr-x  19 root root 20 fév 26 20:13 ..
drwxr-xr-x   3 root root  2 fév 26 10:49 crypt
drwxr-xr-x   2 root root  2 fév 22 22:32 downloads
drwxr-xr-x   2 root root  2 fév 22 22:32 graveur


mais le problème est en amont, car les devices correspondants n'existent pas sauf pour crypt qui lui marche bien:
Code:

$ ls -al /dev/ | grep data
brw-rw----   1 root  root    8,  14 fév 26 20:20 data-crypt
lrwxrwxrwx   1 root  root        10 fév 26 20:20 sda14 -> data-crypt

Code:

$ ls -al /dev/ | grep sda
brw-rw----   1 root  disk    8,   0 fév 26 20:20 sda
lrwxrwxrwx   1 root  root         4 fév 26 20:20 sda1 -> boot
lrwxrwxrwx   1 root  root         3 fév 26 20:20 sda10 -> var
lrwxrwxrwx   1 root  root        10 fév 26 20:20 sda14 -> data-crypt
lrwxrwxrwx   1 root  root         4 fév 26 20:20 sda2 -> os-a
lrwxrwxrwx   1 root  root         4 fév 26 20:20 sda3 -> os-b
brw-rw----   1 root  disk    8,   4 fév 26 20:20 sda4
lrwxrwxrwx   1 root  root         4 fév 26 20:20 sda5 -> swap
lrwxrwxrwx   1 root  root         4 fév 26 20:20 sda6 -> root
lrwxrwxrwx   1 root  root         3 fév 26 20:20 sda7 -> opt
lrwxrwxrwx   1 root  root         3 fév 26 20:20 sda8 -> usr
lrwxrwxrwx   1 root  root         9 fév 26 20:20 sda9 -> usr-local

alors que mon dd est a priori bien partitionné avec sda11, sda12 et sda13:
Code:

$ fdisk -l

Disque /dev/sda: 250.0 Go, 250059350016 octets
255 têtes, 63 secteurs/piste, 30401 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda1   *           1           6       48163+  83  Linux
/dev/sda2               7        2617    20972857+  83  Linux
/dev/sda3            2618        5228    20972857+  83  Linux
/dev/sda4            5229       30401   202202122+   5  Extended
/dev/sda5            5229        5489     2096451   82  Linux swap / Solaris
/dev/sda6            5490        5553      514048+  83  Linux
/dev/sda7            5554        6206     5245191   83  Linux
/dev/sda8            6207       10122    31455238+  83  Linux
/dev/sda9           10123       11427    10482381   83  Linux
/dev/sda10          11428       12732    10482381   83  Linux
/dev/sda11          12733       12993     2096451   83  Linux
/dev/sda12          12994       15604    20972826   83  Linux
/dev/sda13          15605       29964   115346668+  83  Linux
/dev/sda14          29965       30401     3510171   83  Linux
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sat Feb 26, 2005 8:07 pm    Post subject: Reply with quote

A mon avis, c'est dû aux jockers !
Si on prend par exemple sda11, il correspond à la clé KERNEL="*1", tout comme sda1 et donc l'analyse s'arrête là, sans aller voir les autres règles.
Indice supplémentaire : tu n'as pas de règle pour "sda4", ce qui explique que ta règle pour sda14 passe comme une fleur :cool:
Ca fait longtemps que je n'ai pas tripoté udev et je n'ai pas de solution toute prête sous la main mais j'espère t'avoir donné une piste ...
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sat Feb 26, 2005 8:24 pm    Post subject: Reply with quote

C'était exactement ça ! :D

Depuis le temps que je galérais pour avoir un système pure udev !
merci à vous deux
Back to top
View user's profile Send private message
rg421
Apprentice
Apprentice


Joined: 07 Dec 2004
Posts: 192
Location: Strasbourg

PostPosted: Sat Feb 26, 2005 9:09 pm    Post subject: Reply with quote

C'est gentil, mais sur ce coup là, je n'y suis vraiment pour rien.

--
Renaud
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Sat Feb 26, 2005 10:05 pm    Post subject: Reply with quote

euh... le probleme est expliqué... mais la solution je la vois pas... si t'as trouvé tu peux la poster ;)
Back to top
View user's profile Send private message
[vector]
Apprentice
Apprentice


Joined: 02 Nov 2004
Posts: 170
Location: France, Le Havre

PostPosted: Sat Feb 26, 2005 10:30 pm    Post subject: Reply with quote

Il suffit d'inverser le sens des règles, non ? (commencer par le numéros de partition les plus élevés)
_________________
[Gentoo 2.6.10-r6 + WinXP] - [Gentoo 2.6.10-r9 + Win98]
Admon - Dernière capture d'écran - Jabber : vector@jabber.fr
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sat Feb 26, 2005 11:17 pm    Post subject: Reply with quote

J'ai viré les Jokers ! :lol:
Code:

BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda1", NAME="boot", SYMLINK="sda1"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda2", NAME="os-a", SYMLINK="sda2"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda3", NAME="os-b", SYMLINK="sda3"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda5", NAME="swap", SYMLINK="sda5"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda6", NAME="root", SYMLINK="sda6"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda7", NAME="opt", SYMLINK="sda7"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda8", NAME="usr", SYMLINK="sda8"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda9", NAME="usr-local", SYMLINK="sda9"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda10", NAME="var", SYMLINK="sda10"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda11", NAME="temp", SYMLINK="sda11"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda12", NAME="data-graveur", SYMLINK="sda12"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda13", NAME="data-dld", SYMLINK="sda13"
BUS="scsi", SYSFS{model}="Maxtor 6B250S0  ", KERNEL="sda14", NAME="data-crypt", SYMLINK="sda14"

Il y a peut-être un moyen de faire un truc mieux sans préciser tous les sdaX mais je débute en udev, et cette solution me convient pour l'instant, peut-être je chercherai quelque chose de mieux quand mon système sera complètement installé.
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sat Feb 26, 2005 11:19 pm    Post subject: Reply with quote

[vector] wrote:
Il suffit d'inverser le sens des règles, non ? (commencer par le numéros de partition les plus élevés)

Je n'y avais pas pensé... merci pour l'idée
Back to top
View user's profile Send private message
k-root
Guru
Guru


Joined: 08 Jan 2005
Posts: 428

PostPosted: Sun Feb 27, 2005 12:56 am    Post subject: Reply with quote

j'ais la meme conf que toi en sata... j'utilise la regles suivante :
Quote:
BUS="scsi", SYSFS{dev}="8:1",SYSFS{model}="WDC WD800JD-60JR", NAME="%k", SYMLINK="windows"
BUS="scsi", SYSFS{dev}="8:2",SYSFS{model}="WDC WD800JD-60JR", NAME="%k", SYMLINK="boot"
etc...

etc...
traduct de la regle
Code:

la premier partoche du disk WDC devient le nom  sda1 (%k  nom donner par le kernel) et windows
la deuxieme partoche.....etc... et boot

tu te retrouve avec
Code:

/dev/sda1
/dev/sda2
/dev/windows
/dev/boot

utilise la commande qui suit.. pour trouver les SYSFS{dev} qui convienent chez toi...
Code:

udevinfo -a -p `udevinfo -q path -n /dev/sda1`[/quote]

la meme regle mais sans creer l'ancien non
Code:

BUS="scsi", SYSFS{dev}="8:2",SYSFS{model}="WDC WD800JD-60JR", NAME="boot"
BUS="scsi", SYSFS{dev}="8:1",SYSFS{model}="WDC WD800JD-60JR", NAME="windows"

et tu te retrouve avec
Code:

/dev/windows
/dev/boot

evidement ces deux regles fonctionent encore sir tu branche ton disk dur sur un autre port sata :)

source : http://www.reactivated.net/udevrules.php
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Sun Feb 27, 2005 10:16 am    Post subject: Reply with quote

Je ne connaissais pas ce param 'DEV', et avec un peu de recherche j'ai aussi découvert ce qu'étaient les major et minor number.
Donc pour résumer mes recherches chaque entrée de /dev a un major et un minor number que l'on peut retrouver avec un ls -al /dev
Code:

brw-rw----   1 root  disk      8,   0 fév 26 09:50 sda
brw-rw----   1 root  disk      8,   1 fév 26 09:50 sda1
brw-rw----   1 root  disk      8,   2 fév 26 09:50 sda2
brw-rw----   1 root  disk      8,   3 fév 26 09:50 sda3
brw-rw----   1 root  disk      8,   4 fév 26 10:06 sda4

Ici le major number est toujours 8, et le minor varie de 0 à 4. Le major number correspond au driver utilisé pour accéder au device, ici 8 dit que c'est un SCSI Drive. Le minor number désigne le lecteur auquel on veut accéder sur le bus, donc dans le cas d'un périphérique de type bloc (le "b" avant les droits rw-, encore un truc que je viens d'apprendre !) cela correspond à la partition du disque (j'ai bon ?)
Or ce minor number est d'après ce que j'ai compris fortement dépendant de l'emplacement physique où est branché le périphérique, c'est à dire que pour sda il commence à 0, pour sdb il commence à 16 etc.... (je sais d'où vient la limitation à 15 partitions par disque scsi maintenant ! :-) ) (cf /usr/src/linux/Documentation/devices.txt)
Donc pour moi le fait que l'on mette SYSFS{dev}="8:1" ou KERNEL="sda1" on aura toujours le même problème si l'on déplace le disque car en le mettant sur le 2nd port sata il deviendra SYSFS{dev}="8:17" ou KERNEL="sdb1" (enfin sauf si le 1er port sata reste vide auquel cas il sera toujours le 1er périphérique du bus)

Ai-je loupé quelque chose :?:

Ceci dit, c'est vrai qu'on ne déplace pas ses disques tous les jours :wink:


sources:
http://www.cpqlinux.com/dev.html
http://ldp.rtin.bz/HOWTO/Partition/partition-2.html
/usr/src/linux/Documentation/devices.txt
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sun Feb 27, 2005 10:48 am    Post subject: Reply with quote

truz wrote:
c'est à dire que pour sda il commence à 0, pour sdb il commence à 16 etc.... (je sais d'où vient la limitation à 15 partitions par disque scsi maintenant ! :-) ) (cf /usr/src/linux/Documentation/devices.txt)

Heu, non, c'est l'inverse : c'est parce que le nombre de partitions en scsi est limité à 16 que sdb commence à 16 ;)
Quote:
Donc pour moi le fait que l'on mette SYSFS{dev}="8:1" ou KERNEL="sda1" on aura toujours le même problème si l'on déplace le disque car en le mettant sur le 2nd port sata il deviendra SYSFS{dev}="8:17" ou KERNEL="sdb1" (enfin sauf si le 1er port sata reste vide auquel cas il sera toujours le 1er périphérique du bus)

En fait, tu pourrais utiliser à ton avantage l'astuce qui te posait problème à l'origine, à savoir que dès qu'une règle est vérifiée, on ne va pas voir plus loin.
Donc, en supposant que tu sois souvent amené à intervertir tes disques, il suffirait, je pense, d'écrire toutes les règles correspondant à ces 2 situations.
Quel que soit le cas, seule la "bonne" règle sera prise en considération.
Le seul problème c'est que si tu possèdes 2 disques identiques, il faut pouvoir disposer de SYSFS{serial} (numéro de série) pour pouvoir les différencier.
Sur mes Hitachi 160 go, ce numéro n'est malheureusement pas disponible et je ne peux donc pas les inverser :(
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Sun Feb 27, 2005 12:38 pm    Post subject: Reply with quote

Et pourquoi pas utiliser un joker pluys adapté, a savoir : KERNEL="sd?1" ;)
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Sun Feb 27, 2005 2:54 pm    Post subject: Reply with quote

guilc wrote:
Et pourquoi pas utiliser un joker pluys adapté, a savoir : KERNEL="sd?1" ;)

Pourquoi faire simple quand on peut faire compliqué ? :lol:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum