[Message posté sur le forum presence-pc]
Bon, j'explique le problème. Je suis actuellement en stage et mon projet est de faire un système sur cd bootable. Ce système est lancé sur un serveur qui démarre ensuite des vieilles machines diskless. Le boot pxe marche, le wol aussi, bref tout va pour le mieux. Tant que je travaille sur disque dur, il n'y a aucun problème.
Par contre, ça se gate dès que je fais un cd bootable. Ma technique pour faire le cd et de créer un fichier contenant mon système de fichier en entier (sauf /home qui est monté sur le disque dur). Je compresse ensuite ce fichier. Mon initrd se charge de décompresser ce fichier en RAM puis d'effectuer un pivot_root et un chroot afin de démarrer mon système "normalement". Tout ca marche très bien sauf une chose. En effet, lorsque les machines diskless se lancent, lors de la requête XDMCP, rien ne se passe. Le serveur X sur les clients se lance mais il reste sur le fond gris et je n'ai pas de bannière de login (celle de kdm). J'ai essayé de faire un tcpdump sur le serveur et en regardant les paquets, on a l'impression que le serveur ne répond pas. Encore plus étrange, il suffit que j'appuie sur les touches [CTRL] et [ALT] sur le clavier du serveur pour que comme par magie, le bazar se déclanche et que j'ai enfin mon login graphique sur les tx. Si j'attend sans rien faire, sur les tx j'ai soit le message "XDM: too many retransmissions" ou bien "Auth name: MIT-MAGIC-COOKIE-1 ID: -1" à répétition avec un XDMCP fatal error comme final. Si quelqu'un à déjà eu ce genre de problème.
Si vous avez des questions supplémentaires, n'hésitez pas.
En vous remerciant.
# R/W
Posté par Guillaume Ceccarelli . Évalué à 2.
En espérant avoir pu t'aider...
[^] # Re: R/W
Posté par Anthony Bourguignon (site web personnel) . Évalué à 1.
Quand à /tmp et /var/lock, au cas où, ils sont en tmpfs.
# Résolu
Posté par Anthony Bourguignon (site web personnel) . Évalué à 2.
C'est un ps axlf qui m'a permis de trouver la solution. J'en avais fait un avant que ça marche puis un après. En comparant les deux, je me suis rendu compte que la colonne WCHAN était renseignée quand la connexion ne voulait pas s'établir. En recherchant dans le man, j'ai vu que cette colonne indiquait ce que le processus attendait pour pouvoir continuer normalement. En clair, il était en attente de quelque chose. Et ce quelque chose, c'était random. En effet, pour créer un MAGIC-COOKIE, kdm à besoin d'un nombre pseudo-aléatoire (le /dev/random). Or, avec un système de fichier en ram, il ne pas y avoir assez d'évènements pour pouvoir en générer un. Donc kdm attendait. Il m'a suffit de lancer des commandes demandant des accès disques pour que kdm se débloque (la colonne WCHAN est nulle dans ce cas). C'est aussi pour cela que cela marchait avec la touche [CTRL] - [ALT] car les évènements clavier permettait de peupler /dev/random. Pourquoi ces deux touches particulièrement, bonne question :p .
Bon, sur ce, je vais chercher un moyen de peupler /dev/random automatiquement. Il m'aura quand même fallu 4 jours pour trouver ça. Content d'être enfin débarassé :p .
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.