Page 1 sur 1
[boot] message concernant udev
Publié : ven. 22 janv. 2010, 02:17
par ph11
Bonjour,
Suite à une MAJ, j'ai un message au démarrage. Voici le message. De quoi s'agit-il ?
error binding control socket, seems udevd is already running
Re: [boot] message concernant udev
Publié : ven. 22 janv. 2010, 08:45
par oktoberfest
Hello,
si tu regardes les messages générés lors du boot, tu trouves :
Code : Tout sélectionner
:: Loading Initramfs
:: Starting udevd...
done.
:: Running Hook [udev]
:: Loading udev...error binding control socket, seems udevd is already running
Si tu décompresses l'initramfs chargé par le noyau :
Tu vas trouver d'une part dans le fichier init les lignes suivantes :
Code : Tout sélectionner
# if available, start udevd at this stage
if [ -x /sbin/udevd ]; then
msg":: Starting udevd..."
echo > /proc/sys/kernel/hotplug
/sbin/udev --daemon
msg "done."
fi
Et d'autre part dans hooks/udev;
Code : Tout sélectionner
run_hook ()
{
msg -n ":: Loading udev..."
echo > /proc/sys/kernel/hotplug
/sbin/udevd --daemon
/sbin/udevadm trigger
/sbin/udevadm settle
msg "done."
}
Et ce hook est démarré par le script init.
On a donc init qui démarre le démon udevd puis le hook udev qui lui aussi lance le démon udevd.
Le message est généré par le deuxième démon. Tu peux reproduire le phénomène en lançant manuellement le démon :
Code : Tout sélectionner
[root ~]# /sbin/udevd --daemon
error binding control socket, seems udevd is already running
Le démon udevd est donc lancé deux fois par initramfs, la deuxième exécution provoque le message d'erreur et s'arrête.
Re: [boot] message concernant udev
Publié : ven. 22 janv. 2010, 10:35
par oktoberfest
Pour être encore plus précis, ce phénomène se produit suite à la mise à jour du package mkinitcpio.
Voilà un diff entre les init de la version 0.5.26-1 et 0.5.28-1 :
Code : Tout sélectionner
> # if available, start udevd at this stage
> if [ -x /sbin/udevd ]; then
> msg ":: Starting udevd..."
> echo > /proc/sys/kernel/hotplug
> /sbin/udevd --daemon
> msg "done."
> fi
>
22a31
> [0-9]*) ;;
67c76
< if [ -z "${rootdelay}" -o ! "${rootdelay}" -ge 0 ]; then
---
> if [ -z "${rootdelay}" ] || ! [ "${rootdelay}" -ge 0 ]; then
108c117
< if [ ! -b "${root}" -a ! -L "${root}" ]; then
---
> if [ ! -b "${root}" -a ! -h "${root}" ]; then
Pour tester (et pour rigoler) j'ai créé un initramfs sans le hook udev.... ben ça marche pas.
Il faudra donc s'habituer au double démarrage du démon avec le message qui va avec
Re: [boot] message concernant udev
Publié : ven. 22 janv. 2010, 12:56
par tuxce
oktoberfest a écrit :
Si tu décompresses l'initramfs chargé par le noyau :
pas besoin, juste voir le /lib/initcpio/init
oktoberfest a écrit :Pour tester (et pour rigoler) j'ai créé un initramfs sans le hook udev.... ben ça marche pas.
c'est parce que init ne traite pas les événements, il ne fait que lancer le daemon, le but de la modif en fait est du à des firmware qui ont besoin d'udev pour se charger.
->
FS#17945
Re: [boot] message concernant udev
Publié : ven. 22 janv. 2010, 14:17
par oktoberfest
http://bugs.archlinux.org !!
Pile ce que je cherchais pour avoir les infos sur d'éventuels soucis avec des packages. Merci tuxce pour tes post toujours aussi précis et pertinents.
Re: [boot] message concernant udev
Publié : ven. 22 janv. 2010, 15:37
par ph11
oktoberfest a écrit :
Pour tester (et pour rigoler) j'ai créé un initramfs sans le hook udev.... ben ça marche pas.
Ouais, j'ai vu ça hier, j'ai du refaire l'initramfs en chroot pour ça.^^
Je présume qu'il n'y a plus qu'à attendre une MAJ pour résoudre cela.