# [Barbus dans leur caverne] qui galèrent avec MDEV

## xaviermiller

Bon, un extrait de la chronique de geek, traitant de MDEV.

En résumé boozo a réussi à avoir une config LXDE sans *Kit et en remplaçant systemd/udev par mdev (en stable amd64).

Pour ma part, j'ai réussi à le faire sur une config ~amd64, mais sur un netbook en ~x86, ça ne se passe pas trop bien (détails par après).

Extraits des discussions précédentes, pour avoir les pointeurs et résumé des infos :

 *boozo wrote:*   

> Today: news de ssuominen... <=> donc : migrer udev-171 ...~~> 
> 
> Mais - vu que udev supporte maintenant /usr séparé - quoi faire :
> 
> upgrader vers 197-r4 ?
> ...

 

 *XavierMiller wrote:*   

> Hello,
> 
> Je ne vais pas regarder eudev, qui, si j'ai bien compris n'est que "udev retiré de systemd et dans lequel on enlève les mots "systemd" ". Bref juste un ré-emballage ?
> 
> Yet an other inventeur de l'eau tiède chauffée au mox et refroidie à l'azote liquide.

 

 *El_Goretto wrote:*   

> mdev et lvm c'est "out of ze box". Pour du chiffrement, pas essayé.

 

 *VinzC wrote:*   

>  *boozo wrote:*   Le mdev un peu austère, c'est vrai que j'aime bien l'idée mais il faut que je m'assure quand même de quelques questions quant au support lvm et cryptage notamment [...] 
> 
>  *El_Goretto wrote:*   mdev et lvm c'est "out of ze box". Pour du chiffrement, pas essayé. 
> 
> Suis pas bien sûr de comprendre vos incertitudes. Je sais que "genkernel initramfs" génère un ramdisk basé sur mdev et busybox et qu'il gère aussi le chiffrement. Donc pour moi, ça démontre que c'est possible. Le tout est de savoir dans quel ordre, p.ex. LVM est-il installé sur une partition chiffrée ou bien doit-on chiffrer un volume logique LVM?

 

 *boozo wrote:*   

> @VinzC: En fait c'est pas une affirmation, c'est une remarque préalable pour ne pas me retrouver en caraffe ensuite vu que j'ai lu de temps à autres des remarques à ce sujet (là par exemple) donc je me méfie un peu ^^
> 
> Par ailleurs, j'ai essayé de voir ce qu'il m'en coûte de passer à mdev selon la procédure du wiki... mais hélas, je crois que je suis un brin bloqué à cause de ces foutues dépendences strictes sur lxde...   
> 
> ```
> ...

 

 *XavierMiller wrote:*   

> Regarde dans le bugzilla : y a déjà des ebuilds qui désactivent *kit, et donc on pourrait très bien en créer pour ne pas vivre basé sur udev 

 

 *El_Goretto wrote:*   

> boozo: C'est là où j'ai un brin eu du mal à suivre comment ils allaient gérer le "choix" dans son "udev-like". Car j'avais cru au départ que virtual/dev-manager était là pour çà, mais on dirait qu'au final ils veulent passer par virtual/udev.
> 
> Ce qui me semble super perturbant quand... finalement on n'utilise pas udev du tout (au hasard, mdev).
> 
> J'ai peut être mal compris, j'ai lu çà en diagonal sur bugs.gentoo.org alors...
> ...

 

 *boozo wrote:*   

>  *XavierMiller wrote:*   Regarde dans le bugzilla : y a déjà des ebuilds qui désactivent *kit, et donc on pourrait très bien en créer pour ne pas vivre basé sur udev  
> 
> Ahaa ben oui tient ! J'y avais même pas pensé en fait mais vu que tu en parles, en regardant les sources de gvfs le support pour udev bien optionnel (--disable-udev) ça fait un brin râler de voir que le mainteneur ne vérifie pas avant  
> 
> Je viens de me faire un bump local quick&dirty de libfm-1.0.1-r1 et de gvfs-1.12.3 et ça à l'air de coller à première vue 
> ...

 

 *boozo wrote:*   

>  *XavierMiller wrote:*   Bozoo, si tu as besoin de testeurs LXDE, je veux bien faire le pas vers mdev. 
> 
> Ahaa ben merci 2 essayeurs ce sera pas un mal pour détecter des bugs éventuels  
> 
> Alors j'annonce :
> ...

 

 *XavierMiller wrote:*   

> @bozoo: que dois-je faire dans Xorg pour avoir la souris et le clavier qui fonctionnent ? Pour le moment, je n'ai configuré que le keyboard layout. Dois-je préciser les liens vers les device /dev/mouse et /dev/keyboard ?

 

 *boozo wrote:*   

> @XavierMiller: Faut juste faire les fichiers dans /etc/X11/xorg.conf.d/ (au départ j'avais le bon keymap sur les tty et en qwerty sous X)
> 
> J'ai un peu mixé les 2 procédures : la base selon le wiki et un peu sur le how-to mdev-like-a-boss 
> 
>  */etc/X11/xorg.conf.d/10.keyboard.conf wrote:*   Section "InputDevice" 
> ...

 

 *XavierMiller wrote:*   

> @bozoo: le desktop du bureau en ~amd64 est en MDEV/LXDE sans *KIT et vient de rebooter. Je le vois opérationnel, les logs de X semblent OK (je suis dans le salon avec le netbook)
> 
> De mémoire :
> 
> - j'ai appliqué le wiki http://wiki.gentoo.org/wiki/Mdev
> ...

 

 *boozo wrote:*   

> Yep !  
> 
> J'ai fait à peu près pareil mais sans toucher au /etc/init.d/mdev perso ; concernant la méthode "the-boss" je n'ai contrôlé que les synthaxes des fichiers de conf des devices (sais pas trop... j'ai trouvé le tout un peu trop, trop   )
> 
> Sinon, ces histoires d'USB dans le wiki c'est un brin obsolète dans le 3.5.7 semble-t-il vu ce que renvois une recherche de ces options.
> ...

 

 *XavierMiller wrote:*   

> Hello,
> 
> Je vais aprofondir tes questions demain (mardi). J'ai juste un souci avec 2 mounts (2 répertoires en loop squashfs) qui ne se montent pas automatiquement. J'ai pour l'instant contourné avec un script /etc/local.d/*start
> 
> Argh ! je viens de me rendre compte que j'avais désactivé distcc sur le netbook... tout a été compilé localement. Je comprens pourquoi c'était si lent...
> ...

 

----------

## xaviermiller

Bon, voici les soucis que j'ai sur mon netbook

- wpa_supplicant demande un paquet dépendant de udev (EDIT: net-wireless/crda), qui en fait n'utilise pas explicitement udev à part définir une variable UDEV_TRUCMUCHE pour y déployer d'éventuelles règles. Je pense qu'on peut patcher l'ebuild sans souci

- quand mon netbook redémarre, il rouspète immédiatement : "mdev: read-only filesystem". J'ai du foirer un truc.

Je regarde ce midi, j'ai amené mon netbook au boulot.

----------

## boozo

mmh... oublié les 2 options de support de devtmpfs dans le kernel p.e. ?

----------

## xaviermiller

Je ne pense pas, mais je vais vérifier.

Par chance, j'ai une clef USB avec SystemRescueCD (petit stress : je l'avais mise à jour à la barbare, mais elle boote).

Question: as-tu changé le démarrage (avec script "pre-init") ?

----------

## boozo

non du tout

----------

## El_Goretto

J'applaudis des 2 mains ce thread, et je le suis, on verra si jamais j'ai un truc utile/intelligent à dire. Ceci dit, au final j'ai bien moins de "voilure" à me traîner sur mon serveur qu'un "poste bureautique".

Have fun  :Wink: 

(je ne me rappelle pas avoir touché au script init, et sinon je suis en static pour busybox, et sans initrd).

--

edit:

le mdev like a boss, il a de chouettes helpers. Par contre, les coller dans /opt/machin, je ne suis pas fan, quand ceux de base sont dans /lib/mdev/.

Ce qui me fait dire que je n'ai absolument pas utilisé ce qu'il y a sur cette page, maintenant j'en suis sûr ^^

Par contre j'ai remis la main sur la 2e doc (outre le wiki gentoo) qui m'avait servie: https://blog.stuart.shelton.me/archives/891 . Ca m'a l'air un poil outdated, donc oui, "mdev like a boss" is ze way to go.

----------

## xaviermiller

Bon, on avance:

- J'ai un deadlock entre devfs et mdev au runlevel sysinit... (auto-résolu par timeout) : pas de son, tout ne semble pas opérationnel...

- En X: Je dois configurer le clavier (en qwerty) et la souris (synaptics) (probablement relancer emerge @x11-module-rebuild)

- net-wireless/crda se base sur udev, mais je vais essaye de compiler wpa_supplicant sans crda

- certains packages installent des rules dans /lib/udev et /usr/lib/udev, mais est-ce gênant ? à voir

----------

## xaviermiller

@boozo : n'as-tu vraiment pas créé de /sbin/linuxrc, comme mentionné dans le wiki ?

----------

## xaviermiller

La suite ce soir:

- check du wiki gentoo (services dans le runlevel sysinit)

- http://crux.nu/Wiki/Mdev pour avoir un chargement des modules automatiques (ou installer un coldplug ?), ce qui va arranger pas mal de choses : clavier, souris, son, réseau, ...

----------

## boozo

 *XavierMiller wrote:*   

> @boozo : n'as-tu vraiment pas créé de /sbin/linuxrc, comme mentionné dans le wiki ?

 

Ah ça oui pardon dsl j'aveis pas compris   :Embarassed: 

----------

## El_Goretto

linuxrc: Moi pas  :Smile: 

(hey, vous me dites si jamais ça ne sert à rien que je fasse ce genre de feedback)

----------

## xaviermiller

Bon,

Chez moi ça marche, mais j'aime pas la solution:

J'ai du faire un modprobe dans le linuxrc avant de lancer la suite (pas de hotplug donc):

[code=/sbin/linuxrc]#!/bin/busybox ash

mount -t proc proc /proc

mount -t sysfs sysfs /sys

# /etc/rc.modules: module initialization script

/sbin/depmod -a

# auto-load kernel modules

/usr/bin/find /sys -name 'modalias' -type f -exec /usr/bin/sort -u {} \;         | /usr/bin/xargs /sbin/modprobe -b -a 2> /dev/null

exec /sbin/init

[/code]

Et dans le runlevel sysinit, j'ai du enlever sysfs et devfs qui entraient en dead-lock avec mdev (celui de busybox).

Me reste plus qu'à remettre la config synatics (j'ai pris celle de github), et je n'ai plus mes options de scroll.

Donc, ma question est:

- quelle version de /etc/init.d/mdev utilisez-vous : busybox ou wiki ?

- comment faites-vous pour la détection des modules (coldplug/hotplug) ?

----------

## El_Goretto

 *XavierMiller wrote:*   

> 
> 
> - quelle version de /etc/init.d/mdev utilisez-vous : busybox ou wiki ?
> 
> - comment faites-vous pour la détection des modules (coldplug/hotplug) ?

 

Ah, oui, alors forcément...: zéro support de module sur le serveur. Oui, là, je cheate grave  :Razz: 

Encore une réponse qui n'a aucun intérêt pour toi, et je m'en excuse...   :Embarassed: 

----------

## xaviermiller

Sinon, j'ai trouvé pourquoi le scroll ne marche pas avec mon touchpad : c'est le pilote "CoreMouse" qui s'est activé, et pas "Synaptics". Comment qu'on fait ?

Vu que c'est un portable, je voudrais pouvoir brancher une souris à chaud, donc avoir simultanément Synaptics et CoreMouse installés...

----------

## xaviermiller

Je ne comprends pas pourquoi j'ai du ajouter un modprobe précoce, alors que "mdev -s" devrait être équivalent à coldplug. Et que le pilote hotplug pointe bien vers mdev...

----------

## boozo

@XavierMiller: pour le touchpad, moi j'ai toujours xf86-input-synaptic installé et configuré dans le make.conf. Et pour ce qui est de la conf j'ai çà

 */etc/X11/xorg.conf.d/20.touchpad.conf wrote:*   

> 
> 
> ```
> Section "InputDevice"
> 
> ...

 

Sinon en suivi : j'ai voulu virer définitivement udev (comprendre emerge -C) pour finir le travail mais... je me suis retrouvé avec un mode un peu dégradé (i.e. icone du panel lxde inactif) alors que rien ne semblait plus l'utiliser   :Confused: 

J'ai donc cherché un peu avec revdep-rebuild qui m'a trouvé un pb de libs cassée dans mesa au niveau du code egl.

Y voyant un lien de cause à effet hop!, je recompile. *Patatra* erreur au build sur swrast_dri.so.tmp (un bon "No such file or directory" qui ressemble à ce bug)

Là, je comprends pas trop vu que mesa est déjà installé   :Evil or Very Mad: 

Je tourne, je vire à coups d'emerge et equery qui me sort finalement une dépendence d'udev et virtual/udev sur hplip que je n'avais jamais vu jusqu'alors... comprends plus.

Alors çà me gonfle un peu donc je me dis remonte temporairement udev dans @world et tu verras plus tard

2nd effet "kiss-cool" -> je n'ai plus le 171-r6 que j'avais bloqué jusque-là (viré de l'arbre entre-temps) et je suis obligé de monter sur 171-r10 au minimum.

Là, le check de config me remonte l'absence de CONFIG_BLK_DEV_BSG du kernel mais passe à la suite...

Moi, j'aime pas la chose (quoique il ne l'avait pas plus avant et ne s'en plaignait pas) et je repasse sur mon kernel-3.5.7 histoire d'être propre avant de réinstaller udev

(toujours "temporairement" m'suivez ?)

Reboot et : Erreur 13 !   :Shocked:   impossible d'initier quoi que ce soit comme action.

Avant de repartir sur le livcd, mais sans trop y croire, je repasse sur mon 3.3.8 de secours (qui ne contient pas CONFIG_BLK_DEV_BSG et auquel j'ai oublié de lui passer le linuxrc du reste) et là je boote sans soucis  (??! oO) 

Bref, faut que je check plus en profondeur le rapport qu'il peut y avoir ce CONFIG_BLK_DEV_BSG mais au moins on voit qu'un linuxrc n'est pas fondamental

D'un autre côté... je commence à m'y perdre en conjectures sur ce qui peut bien utiliser les libs udev en sous-marin   :Mr. Green: 

Edit: /off M'enfin, bien que je râle un peu, ça fait du bien qd même car y'avait un bail que je ne m'étais pas amusé comme çà ; à triffouiller ma gentoo qui ronronnait trop bien jusque là. Les souvenirs de la première heure sans doute :p 

----------

## xaviermiller

Et as-tu aussi le module "mouse" dans INPUT_DEVICES ?

En ~arch, ça s'est relativement bien passé : j'ai fait emerge -C, des @preserved-rebuild, et désactivé crda dans wpa_supplicant, udev dans gvfs et libfm, et tout roule ou presque (pas de coldplug, pas essayé le hotplug encore).

PS: j'écris tout cela sur mon netbook en full mdev, zéro udev, avec son, vidéo, et wifi.

----------

## boozo

 *XavierMiller wrote:*   

> Et as-tu aussi le module "mouse" dans INPUT_DEVICES ?

 

oui c'est çà même si c'était marqué comme incompatible dans le wiki je crois je me suis dit que se serait vite corrigé en cas de soucis mais j'ai rien vu   :Laughing: 

 *Quote:*   

> PS: j'écris tout cela sur mon netbook en full mdev, zéro udev, avec son, vidéo, et wifi.

 

*Grmmlmlm! /me jaloux ! /me s'y recolle pour que ça roxor :p

----------

## xaviermiller

Hmm... je crains que tant que udev est présent, tu n'aies pas le comportement que j'ai actuellement.

Peut-être que je dois mettre un "layout" explicite, forçant le chargement de synaptics, comme à l'ancienne.

----------

## boozo

 *XavierMiller wrote:*   

> Hmm... je crains que tant que udev est présent, tu n'aies pas le comportement que j'ai actuellement.

 

Ben c'est ce que je voulais finir par faire mais je n'ai pas compris le pb avec mesa et hplip...

btw, je l'avais gardé (temporairement) parce que dans le github "the-boss" on pouvait lire en remarque :

 *Quote:*   

> Unmerging udev may not be good idea, as for example chromium need libudev to compile. Better append sys-fs/udev -* to package.use and put sys-fs/udev-init-scripts-10 into /etc/portage/profile/package.provided. Then you can rebuild udev with all USE flags disabled and remove udev-init-scripts.

 

 *XavierMiller wrote:*   

> Peut-être que je dois mettre un "layout" explicite, forçant le chargement de synaptics, comme à l'ancienne.

 

Je ne sais pas, j'ai les 2 en INPUT_DEVICES avec les fichiers de conf que je t'ai mis et les 2 fonctionnent chez moi

Edit: Bon... ben l'histoire du BLK_DEV_BSG, r.a.s c'est moi qui ai c*** à la réinstal (mrproper à remis de l'ordre) ; la fatigue et le trop-sûr-de-soi ont fait le reste   :Rolling Eyes: 

Je vais me replonger sur mes pb avec mesa et hplip pour arriver à virer enfin udev de @system

Autant hplip tu ne l'as peut-être pas autant aucun problème de dépendences sur mesa chez toi ?

```
virtual/glu-9.0 (<media-libs/mesa-9)

virtual/opengl-7.0 (media-libs/mesa)

x11-base/xorg-server-1.13.1 (!minimal ? >=media-libs/mesa-8[nptl=])

x11-libs/cairo-1.10.2-r3 (opengl ? media-libs/mesa[egl])

                         (openvg ? media-libs/mesa[gallium])

                         (gallium ? media-libs/mesa[gallium])

x11-libs/gtk+-3.4.4 (wayland ? media-libs/mesa[egl,wayland])

x11-libs/qt-gui-4.8.4 (egl ? media-libs/mesa[egl])

```

----------

## boozo

Newnews :

Bon j'avais édité mon post précédent mais j'ai réglé le pb avec mesa depuis.

L'origine n'avait rien à voir avec udev, c'était un effet de bord inattendu du manque de place de compilation (sic) pourtant rien dans le buildlog n'indiquait clairement celà comme c'est le cas d'habitude   :Shocked: 

 *media-libs:mesa-9.0.1:20130129-165601.log wrote:*   

> 
> 
> ```
> (...)
> 
> ...

 

M'enfin c'est réglé.

Sinon j'ai recompilé virtual/udev sans aucun useflags actif puis j'ai viré udev -> #revdep-rebuild -piv ne me retourne plus rien cette fois mais en revanche : #emerge -puDNv persiste encore et toujours à vouloir me réinstaller sys-fs/udev  :Mad: 

```
# emerge -puDNtv world

These are the packages that would be merged, in reverse order:

Calculating dependencies

... done!

[nomerge       ] virtual/dev-manager-0 

[nomerge       ]  virtual/udev-171  USE="-gudev -hwdb -introspection -keymap (-selinux) -static-libs" 

[ebuild  N     ]   sys-fs/udev-171-r10  USE="gudev hwdb keymap rule_generator -action_modeswitch -build -debug -edd (-extras) -floppy -introspection (-selinux) {-test}" 0 kB

Total: 1 package (1 new), Size of downloads: 0 kB
```

Et vu le nombre de pkg ayant en dépendance virtual/udev... je me vois mal comment le virer ; ni même si c'est souhaitable de le faire...  :Sad: 

Ça se passe comment chez toi sur tes machines ? (package.provided ? ... je crains un peu çà... sinon tweaker l'ebuild virtual/udev en ajoutant un use conditionnel peut-être ?)

----------

## xaviermiller

Chez moi, j'ai fait, en mode barbare

- emerge -C udev virtual/udev

- masquer udev et virtual/udev

- emerge -DuNavt @world

le --tree te montre les dépendances. Dans mon cas, outre ce que tu avais déjà détecté (libfm et gvfs), je suis tombé sur crda, une dépendance à wpa_supplicant. crda se basant sur udev, j'ai simplement viré la dépendance à crda dans l'ebuild wpa_supplicant et ça passe.

J'ai 3 packages qui installent des rules udev, mais sans avoir besoin d'udev

- ntfs3g

- alsa trucmuche

- samba ou un truc du genre

Les problèmes qui me restent à résoudre

- coldplug (je pense faire un beau init tout simple : mount proc sys ; echo mdev > /proc/hotplug ; mdev -s)

- conflit X entre CoreMouse et synaptics (forcer synaptics au début)

----------

## boozo

Oué pourtant chose étrange même si je vire enfin virtual/udev et ben emerge me le remonte quand même via virtual/dev-manager alors qu'il ne le devrait pas d'après l'ebuild - vu que j'ai busybox [mdev] -   :Sad: 

Et même une recompil de virtual/dev-manager après avoir viré virtual/udev histoire de s'affranchir d'un enum/parseur bancal n'y change rien... comprends pas ce qui cloche ?!?

 *#emerge -puDNtv world wrote:*   

> 
> 
> ```
>  [nomerge       ] virtual/dev-manager-0 
> 
> ...

 

 *virtual/dev-manager wrote:*   

> 
> 
> ```
> (...)
> 
> ...

 

----------

## xaviermiller

dev-manager, c'est ok, à condition que tu as bien le USE mdev pour busybox

----------

## boozo

oui comme je l'ai mis dans le post c'est bien ok et vérifié pourtant #emerge -puDNvt world me remonte toujours le besoin de réinstaller sys-fs/udev et virtual/udev via virtual/dev-manager   :Evil or Very Mad: 

'tain je vois pas ce qui cloche !

----------

## xaviermiller

C'est que tu as une dépendance explicite vers sys/udev ou virtual/udev...

As-tu bien fait un emerge -C udev virtual/udev

et masqué udev virtual/udev ?

J'ai du recompiler à la main certains paquets pour que ça passe...

----------

## boozo

 *XavierMiller wrote:*   

> C'est que tu as une dépendance explicite vers sys/udev ou virtual/udev...
> 
> As-tu bien fait un emerge -C udev virtual/udev
> 
> et masqué udev virtual/udev ?
> ...

 

Sans doute mais ni emerge ni equery ni revdep-rebuild ne me montrent quoi que ce soit hélas (même un --backtrace=50 donne rien) ; portage s'obstine à me monter virtual/de-manager:0 qui pourant ne drait pas poser pb   :Confused: 

Dans l'ordre j'ai :

* bloqué les 2 en version 171-10 et 171 pour être en phase

* emerge -C udev et virt/udev

nb. j'ai jamais eu les udev-init-script en 171 donc j'ai pas trouvé utile de les masquer aussi

Je vois plus trop où ni comment trouver la cause  :Question:  => en synthaxe, tu as masqué les 2 comments ?

mmmh... y'aurait pas une coui*** avec sys-apps/hwids p.e. ?

```
[I] sys-apps/hwids

     Available versions:  20121119 20130114 ~20130123 **99999999 {{+udev}}

     Installed versions:  20130114(00:45:08 28/01/2013)(-udev)

     Homepage:            https://github.com/gentoo/hwids

```

----------

## xaviermiller

Tant que des paquets compilés avec le USE udev sont présents, udev sera remonté.

Il faut donc les mettre à jour, et comme toi, emerge -DuNav @world ne voulait pas se lancer. Vive les petites mimines  :Smile: 

----------

## boozo

 *XavierMiller wrote:*   

> Tant que des paquets compilés avec le USE udev sont présents, udev sera remonté.

 

Ben justement... y'en a pas si tu regardes bien la version installée et les use actifs   :Crying or Very sad: 

udev n'est proposé qu'a partir de la version 20130114 (installée sans udev si j'en juge par le retour d'eix) mais, s'il ne teste que d'après le make.conf alors il est très possible qu'il l'ait été avec mais que je ne le vois plus du fait du changement en cours de route... là, d'une part : c'est moche pour celui qui a fait les tests   :Mad:  et d'autre part, je ne vois pas porquoi il n'a pas été remonté en anomalie plus tôt...  

Alors là, je teste un downgrade en 20121119 (toujours sans udev) et recompil de ce qui en dépend afin de voir si mes suputations sont exactes et si la sortie de emerge -puDNtv world bouge enfin   :Rolling Eyes: 

Edit: Et ben... rien ne bouge !   :Laughing: 

```
# emerge -puDNtv world

These are the packages that would be merged, in reverse order:

... done!

[nomerge       ] virtual/dev-manager-0 

[ebuild  N     ]  virtual/udev-171  USE="-gudev -hwdb -introspection -keymap (-selinux) -static-libs" 0 kB

[ebuild  N     ]   sys-fs/udev-171-r10  USE="gudev hwdb keymap rule_generator -action_modeswitch -build -debug -edd (-extras) -floppy -introspection (-selinux) {-test}" 0 kB

Total: 2 packages (2 new), Size of downloads: 0 kB

```

----------

## boozo

/me persiste toujours :

--depclean me remonte cette fois virtual/udev via hplip (je l'avais déjà vu c'ui-là) mais d'après l'ebuild il ne devrait pas s'en plaindre car conditionnel aux uses !mininal && kernel_linux (d'ailleurs ce dernier n'est même pas présent dans son $IUSE   :Rolling Eyes:  ) 

/me fulmine

Edit: Ayé ! J'ai trouvé !   :Laughing:  (Pfff! t'ait tordu qd même)

Alors le pourquoi du comment vient d'un use.force du profile actif qui m'active ledit use "kernel_linux" en sous-main sur hplip sans que j'y vois ni n'y puisse rien.

J'ai bumpé l'ebuild en local en remplaçant la dépendance par virtual/dev-manager et çà roule - j'ai aussi testé sans rien du tout et la compil se passe bien aussi mais j'ai préféré conserver un lien de dépendence si jamais -; au-delà en runtime, je sais pas ce que va donner mais au moins #emerge -puDNtv world reste (enfin) silencieux   :Very Happy: 

----------

## xaviermiller

Cool !

Pour ma part, j'ai essayé un init avec 'mdev -s' et echo 'mdev > blah/hotplug'. Mais le coldplug ne fonctionne pas avec mdev -s  :Sad: 

Par contre, un bon find /lib/modules -exec modprobe passe et charge ce qu'il faut.

/me veut un bon vrai hotplug...

----------

## boozo

Tu as quoi comme besoin exactement ? des modules particuliers à charger en coldplug ?

----------

## xaviermiller

J'ai quasi tout en module, dont le wifi, le son, l'USB (pratique pour le clavier :p), ...

----------

## xaviermiller

Hello,

J'ai pris le script init de "mdev like a boss" et le coldplug y fonctionne  :Smile: 

Il me reste à trouver comment forcer le pilote synaptics à tourner plutôt que le PS/2

Et régler les bons groups sur certains /dev (entre autres /dev/snd/* qui devraient être audio au lieu de root)

----------

## boozo

Il faudra quand même que je me fasse un diff pour voir ce qui change entre son init script et celui de busybox... si çà se trouve je suis passé à côté de trucs moi   :Rolling Eyes:   (mais vu que j'ai quasi tout en dur...) 

Sinon, le support synaptics et son fichier de conf dans /etc/xorg.conf.d/ sont ok ou y'a conflit chez toi ?

Pour les droits ugo c'est pas dans /etc/conf.d/mdev qu'il faut agir de mémoire ?

----------

## xaviermiller

Hello,

Ce qu'il y a en plus, notablement, c'est un "find /sys/... -exec modprobe", qui fait un hotplug.

Et pour la config synaptics, j'ai repris les 3 fichiers "clavier", "souris" et "touchpad" de "mdev like a king". Je pense que je dois ajouter un autre définissant le "layout".

Les fichiers mdev.conf (dans /etc) de busybox et "like a king" définissent bien "root:audio" pour tout ce qui touche à ALSA. C'est comme si modprobe ne le faisait pas. Je vais lire la doc de modprobe  :Wink: 

----------

## boozo

USB LP: je plaisantais l'autre jour sur le segment CONFIG_USB_DEVICE_CLASS et DEVICEFS du wiki qui devait être obsolète : alors c'est oui si j'en juge par [url=https://groups.google.com/forum/?fromgroups=#!topic/linux.kernel/3iSC36qML1A]ce msg[/url] cela a été viré sur la branche 3.5 apparamment en même temps que usbfs sans doute

Or, si j'en juge par le dernier msg de ce fil sur la ml libusb-devel... je pense qu'on va avoir qq ennuis non ?  :Sad: 

Edit: /me pars sur la piste libusb voir si on aurait pas ça chez nous...

----------

## xaviermiller

Bon, on approche du "résoudu"   :Cool: 

Le fichier de config mdev.conf de "mdev like a boss" est moins complet que celui de busybox. De plus, j'avais des problèmes de droits d'accès aux périphériques ALSA, des mount en squashfs qui ne montaient pas automatiquement...

Donc préférez ne pas toucher à /etc/mdev.conf et /etc/init.d/mdev

Dans ce cas, il est nécessaire d'implémenter un script coldplug, je l'ai fait en phase "pre-init":

```
#!/bin/busybox ash

mount -t proc proc /proc

mount -t sysfs sysfs /sys

# Load kernel modules, run twice.

/usr/bin/find /sys -name 'modalias' -type f -exec /bin/cat '{}' + | /usr/bin/sort -u | /usr/bin/xargs /sbin/modprobe -b -a 2>/dev/null

/usr/bin/find /sys -name 'modalias' -type f -exec /bin/cat '{}' + | /usr/bin/sort -u | /usr/bin/xargs /sbin/modprobe -b -a 2>/dev/null

exec /sbin/init
```

Pour la config synaptics, j'ai trouvé le problème : c'était ma config qui était mauvaise. J'ai pris maintenant les configs xorg.conf de "mdev like a boss" et les ai adaptées. Et ça marche : synaptics est utilisé comme il faut pour mon touchpad, et les souris USB que je branche sont détectées et activées comme il faut.

Je pense qu'il sera temps d'écrire un tuto, car la page wiki est incomplète...

----------

## xaviermiller

Bon, j'ai encore des entrées dans /dev qui n'ont pas les bons droits d'accès.

Entre autres /dev/snd/seq qui est root:root au lieu de root:audio.

Je ne sais pas si la faute est à modprobe (qui charge le module snd-seq, qui crée l'entrée /dev/snd/seq) ou si c'est la faute à mdev.

Avec udev, je n'avais pas le souci, donc je pense que mdev devrait y être partiellement responsable.

----------

## El_Goretto

Dans quelle mesure ces périphériques sont créés par le binaires mdev sans config possible ou par un helper customisable? Ou bien de toute façon on peut jouer sur mdev.conf?

Parce que dans le mdev.conf que je vois:

```
seq             root:audio 660 =snd/
```

Ça devrait le faire? Bug?

----------

## xaviermiller

le "node" seq n'est créé que par le chargement de snd-seq (qui n'est plus automatique depuis une 3.7 ou 3.6). Je ne sais pourquoi, les autres modules sont OK, et les propriétés semblent identiques dans mdev.conf.

Je vais potasser la doc de mdev, il y a quelques pages fichtrement bien écrites  :Smile: 

----------

## boozo

Pour ma part: mes recherches sur libusb n'ont rien donné... je pense que le patch en question a été introduit puis viré avec l'abandon du support dans la quenelle.

Par acquis de conscience, j'ai quand même testé lesdites options avec mon 3.3.8 de fortune que je conserve fort heureusement mais le comportement est similaire à ce que je vois avec la branche 3.5.x ; il n'y a donc pas vraiment d'impact.

Donc les nodes lp ne sont juste pas créés automatiquement ceci dit, mais du moment que l'événement est bien passé au module usb printer du kernel, on s'en sort assez facilement à la mano pour que cups puisse en tirer profit   :Wink: 

 */var/log/messages wrote:*   

>  kernel: usblp 1-1:1.1: usblp0: USB Bidirectional printer dev 3 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0896

 

On peut vérifier que $ls -l /dev/usb/lp0 /dev/usblp0 ne renvois rien cependant un $cat /sys/bus/usb/devices/1-1\:1.1/usb/lp0/dev m'indique bien une version majeure et mineure "180:0" qu'on peut donc reprendre pour faire ça à l'ancienne   :Arrow: 

```
#mkdir -p /dev/usb

#mknod /dev/usb/lp0 c 180 0

#chown root:lp /dev/usb/lp0

#chmod g+w /dev/usb/lp0  

#ln -s /dev/usb/lp0 /dev/usblp0
```

Ensuite via l'interface web de cups, avec le Browsing "On", je retrouve bien mon imprimante donc c'est ok

Le seul bémol c'est que la procédure est volatile et il faut que je lui fasse une règle pour automatiser un peu i.e. selon les primers mdev : ajouter une ligne dans ce gout-là usblp([0-9]+) root:lp 660 >usb/%1

n.b. Reste que j'ai pas de chance, le id product 0x0896 dont je dispose n'est pas encore supporté par les sane backend je vais donc devoir attendre une màj pour voir ce qu'il en est du scanner mais je crois que ce sera le même topo avec ^^

----------

## truc

roh! boozo le barbu serait fatigué?

 *boozo wrote:*   

> ls -l {/dev/usb/lp0,/dev/usblp0}

   :Rolling Eyes: 

Nan, vraiment, tu n'as rien gagné avec cette expansion du shell! t'aurais mis un espace que tu aurais tapé moins de caractère!  :Wink: 

okok   :Arrow: 

----------

## boozo

 :Laughing:   fatigué oui sans doute...

Naan mais c'est pas ce que je voulais écrire au départ ; c'est la résultante d'un mauvais oneliner qui a "fondu" au fil des tests et qui n'a pas été réécrit (et encore t'as pas vu l'hécatombe qu'il y avait en chatons - une vrai boucherie  :Mr. Green: )

mais bon çà va j'va corriger mon post alors pfff!  :p

----------

## xaviermiller

Je continue à avancer : je passe maintenant par le init par défaut (gentoo, pas /sbin/linuxrc) et j'ai créé un script "coldplug" lancé dans le runlevel sysinit.

J'ai dans sysinit:

```
coldplug

dmesg

mdev

sysfs
```

Et mon script coldplug:

```
#!/sbin/runscript

# Copyright 1999-2012 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/sys-apps/busybox/files/mdev.rc.1,v 1.2 2012/09/26 21:25:23 robbat2 Exp $

depend()

{

        need mdev

}

start()

{

        # Setup temporary storage for /dev

        ebegin "Hotplugging modules"

        # Load kernel modules, run twice.

        find /sys -name 'modalias' -type f -exec cat '{}' + | sort -u | xargs modprobe -b -a 2>/dev/null

        find /sys -name 'modalias' -type f -exec cat '{}' + | sort -u | xargs modprobe -b -a 2>/dev/null

        eend $*

}
```

Pour les droits d'accès, c'est très zarbi : ni modprobe, ni le hotplug ne le font correctement, mais "mdev -s" le fait bien.

Bref, si je fais un "mdev -s" après avoir chargé tous les modules ou inséré des périphériques, ce qu'il y a dans mdev.conf est bien appliqué.

Je vais aller lire la doc dans le kernel concernant devfs, les événements, "udev", {hot,cold}plugging, ...

----------

## xaviermiller

Je vais craquer !!!! Je vais repasser à udev !!!!

----------

## El_Goretto

 :Laughing: 

Sois fort, tu peux le faire...

----------

## xaviermiller

En fait, non je ne peux rien faire : mdev n'est pas prévu pour un desktop avec coldplug/hotplug. Ca ne marche tout simplement pas !

Qu'on arrête donc de nous bassiner en disant que mdev est une alternative sérieuse à udev.

Je suis repassé à udev et tout refonctionne parfaitement.

----------

## boozo

 *XavierMiller wrote:*   

> Je suis repassé à udev et tout refonctionne parfaitement.

 

 :Sad:   /me triste d'avoir perdu un copain de jeux

Mais je ne n'abandonne pas tant que c'est pas sifflé...   :Twisted Evil: 

C'est sûr, je suis pas dans la même config car j'ai tout en dur i.e. mais pour l'instant ça tourne pas mal personnellement pour mon utilisation ; je ne sais pas si ça va résister des lustres à l'usage courant mais après tout, c'est le chemin qui compte non ?

C'est juste une question de temps, on finira tous par retourner à la console  :Mr. Green: 

----------

## xaviermiller

J'essaierai dans quelques mois / années, si j'apprends que le colplug / hotplug sont correctement supportés par busybox.

----------

## truc

Merci pour ton expérience Xavier, j'aurais tendance à dire que ça en est presque rassurant! mdev(de busyvbox rappelons-le!) est avant tout supposé fournir les fonctionnalitées de base, ça serait tout de même étrange de pouvoir tout faire avec!

Mais... ton expérience montre aussi qu'il est possible de faire un concurrent presque sérieux à udev tout en restant très "petit", donc, il doit y avoir moyen d'avoir une alternative plus utilisable en desktop tout en restant minimaliste!

EDIT: eh merde, j'me chope un début de page, la pression!   :Laughing: 

----------

