View previous topic :: View next topic |
Author |
Message |
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sat Feb 26, 2005 6:11 pm Post subject: [udev] pure udev: certaines partitions non créées (résolu |
|
|
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 |
|
|
rg421 Apprentice
Joined: 07 Dec 2004 Posts: 192 Location: Strasbourg
|
Posted: Sat Feb 26, 2005 7:00 pm Post subject: |
|
|
Ben... Je ne vois rien de spécial. Tes points de montage (/data/*) sont bien créés?
--
Renaud |
|
Back to top |
|
|
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sat Feb 26, 2005 7:49 pm Post subject: |
|
|
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 |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Sat Feb 26, 2005 8:07 pm Post subject: |
|
|
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
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 |
|
|
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sat Feb 26, 2005 8:24 pm Post subject: |
|
|
C'était exactement ça !
Depuis le temps que je galérais pour avoir un système pure udev !
merci à vous deux |
|
Back to top |
|
|
rg421 Apprentice
Joined: 07 Dec 2004 Posts: 192 Location: Strasbourg
|
Posted: Sat Feb 26, 2005 9:09 pm Post subject: |
|
|
C'est gentil, mais sur ce coup là, je n'y suis vraiment pour rien.
--
Renaud |
|
Back to top |
|
|
zdra Veteran
Joined: 30 Nov 2003 Posts: 1693 Location: Bruxelles, Belgique
|
Posted: Sat Feb 26, 2005 10:05 pm Post subject: |
|
|
euh... le probleme est expliqué... mais la solution je la vois pas... si t'as trouvé tu peux la poster |
|
Back to top |
|
|
[vector] Apprentice
Joined: 02 Nov 2004 Posts: 170 Location: France, Le Havre
|
Posted: Sat Feb 26, 2005 10:30 pm Post subject: |
|
|
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 |
|
|
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sat Feb 26, 2005 11:17 pm Post subject: |
|
|
J'ai viré les Jokers !
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 |
|
|
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sat Feb 26, 2005 11:19 pm Post subject: |
|
|
[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 |
|
|
k-root Guru
Joined: 08 Jan 2005 Posts: 428
|
Posted: Sun Feb 27, 2005 12:56 am Post subject: |
|
|
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 |
|
|
truz Apprentice
Joined: 26 Feb 2005 Posts: 293 Location: France - Paris
|
Posted: Sun Feb 27, 2005 10:16 am Post subject: |
|
|
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
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 |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Sun Feb 27, 2005 10:48 am Post subject: |
|
|
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 |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3634 Location: Belgium
|
Posted: Sun Feb 27, 2005 2:54 pm Post subject: |
|
|
guilc wrote: | Et pourquoi pas utiliser un joker pluys adapté, a savoir : KERNEL="sd?1" |
Pourquoi faire simple quand on peut faire compliqué ? |
|
Back to top |
|
|
|
|
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
|
|