Introduction
Quand on possède un modem géré par le protocole pppoe (ppp sur lien ethernet), la Mandriva crée (en général) les 2 interfaces réseau suivantes : eth0 et ppp0.
Il se peut que tout fonctionne parfaitement (notamment en Mandriva 2006), dans certains cas la Mandriva 2007 peut cependant devenir affreusement longue à “booter”. Après quelques investigations les cas rencontrés ont pu être améliorés.
Article rédigé par Jeanmm
Version initiale : 03/01/2007.
L'astuce
L'interface eth0 est créée dès lors qu'une carte ethernet existe. Toute tentative de la supprimer s'est soldée par un échec : il semble qu'elle soit incontournable.
L'ennui, c'est que Mandriva s'attend à du vrai trafic sur cette interface, par défaut de type DHCP, or tout le trafic devrait passer uniquement par ppp0. On constate donc au boot les tentatives d'activation d'eth0, voir les messages dans /var/log/messages :
Jan 3 19:10:24 Mandriva2007 kernel: eth0: VIA Rhine II at 0x1e800, 00:0e:a6:9d:35:73, IRQ 19. Jan 3 19:10:24 Mandriva2007 kernel: eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1. Jan 3 19:10:24 Mandriva2007 kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 Jan 3 19:10:26 Mandriva2007 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 Jan 3 19:10:34 Mandriva2007 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13 Jan 3 19:10:47 Mandriva2007 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 18 Jan 3 19:11:05 Mandriva2007 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 20 Jan 3 19:11:25 Mandriva2007 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 2 Jan 3 19:11:27 Mandriva2007 dhclient: No DHCPOFFERS received.
On voit ici le problème : la carte ethernet est initialisée (3 premières lignes), et ensuite dhclient envoie des requêtes DHCPDISCOVER qui n'aboutissent pas, le tout prenant ici plus d'une minute et pendant ce temps on attend inutilement. Il arrive que cette attente atteigne plusieurs minutes !
On en déduit qu'il faut absolument éviter le lancement de dhclient. Une solution “bulldozer” consiste à remplacer cet outil par un script bash vide, vu que dans notre cas simple on ne se servira jamais de DHCP.
On renomme l'outil d'origine :
cd /sbin mv dhclient dhclient.old
Et on le remplace par un nouveau script exécutable de même nom contenant :
#!/bin/sh exit 0
C'est tout.
Juste un bémol : si le paquetage dhcp-client subit un correctif, il y a fort à parier que notre petit script soit écrasé pa un nouvel outil dhclient tout neuf. Si celui-ci est mieux que son prédécesseur on ne s'en apercevra peut-être jamais; si par contre le temps de boot redevient démentiel, on refera la même manip une seconde fois.