[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Fwd: bootlogd : ioctl (/dev/ttyzf, TIOCCONS): Bad file descriptor]



* Julien Valroff <julien-nospam@kirya.net> [2005-02-07 21:44] :

[...]

> C'était sans compter sur le Bug #240481, un peu plus vieux, qui comporte
> un élément de réponse, ou plutôt un moyen de contourner le problème.
> 
> http://groups.google.fr/groups?selm=1EqJN-ie-21%
> 40gated-at.bofh.it&output=gplain
> 
> Dans mon cas, j'ai recompilé mon noyau avec CONFIG_LEGACY_PTYS=y et tout
> fonctionne de nouveau.
> Pourtant, il ne s'agit pas d'une réelle solution.
> 
> Dans le but de comprendre le problème, quelqu'un pourrait-il expliquer
> le passage suivant :
> 
> "mounting devpts to /dev/pts inside the udev init scripts fixes the
> problem and IMHO it looks like the correct thing to do anyhow."

Euh, pourtant, tout est indiqué dans le rapport de bogue que tu cites,
non ?

  the problem is that without CONFIG_LEGACY_PTYS a program (i.e. bootlogd)
  can open a pty only after devpts is properly mounted under /dev/pts. but
  right now we have the following:

  S02mountvirtfs mounts devpts under the disk-based /dev.

(devpts est monté à partir du système /dev/ physique)

  S04udev moves the disk-based /dev out of the way, mounts a memory-based
    fs on /dev and creates /dev/pts. but it does not mount devpts.

(udev masque le système /dev physique par sa propre arborescence, il
crée /dev/pts, mais ne monte pas devpts)

  S05bootlogd tries to open a new-style pty, but fails due to the
    missing devpts, then it tries an old-style /dev/ptsxx, but fails
    again because the kernel doesn't support them. boot messages are
    lost :(

(bootlogd tente d'utiliser devpts et échoue car celui-ci n'est plus
visible)

  S35mountall.sh or S35mountkernfs (depending on the setup) finally
    mount devpts under the memory-based /dev. from here on everything is
    normal.

(devpts est monté sur le /dev logiciel fourni par udev, mais c'est trop
tard pour bootlogd).

  mounting devpts to /dev/pts inside the udev init scripts fixes the
  problem and IMHO it looks like the correct thing to do anyhow.

Le contournement proposé (mais ce n'est pas une solution propre) est de
monter devpts à la fin du script d'udev, bootlogd pourra alors y accéder
sans soucis (il n'est pas non plus facile de créer proprement un script
séparé car il n'y a pas de numéro entre S04 et S05 à moins de lui donner
un nom dans l'ordre alphabétique entre S04u et S05b).


Fred

-- 
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html



Reply to: