Cet article s’applique à coup sûr à la dernière Debian stable (Lenny) ; probablement à quelques Ubuntu, au moins la LTS actuelle (8.04), je n’en sais rien pour les versions suivantes (8.10…). Le principe que j’expose reste le même ; il faudra simplement adapter pour de l’Ubuntu.
J’ai eu l’idée de consigner ça par écrit pour les gens qui tomberaient sur le même problème et aussi car la méthode utilisée peut être utile dans d’autres cas (changement de noyau en allant chercher un .deb plus récent ; simple pour beaucoup, mystérieux pour d’autres)
Le contexte
J’installe une Debian stable (Lenny) par le réseau (netinst) sur une machine « trop récente » (DELL Optiplex 760) équipée du dernier chipset Intel ICH10 (ou ICH9, j’ai trouvé des infos contradictoires sur Google, à vrai dire, je m’en cogne). Souci : carte réseau non gérée, ce qui est passablement gênant pour une installation par le réseau.
Je décris ici 3 méthodes pour s’en sortir (2 méthodes théoriques et celle que j’ai utilisée pour s’en sortir facilement).
Méthode 1 : je compile
Sur Google, on tombe rapidement sur des types expliquant comment compiler le driver fourni par Intel sur son site (driver e1000e, dernier en date : e1000e-0.5.18.3.tar.gz)
Le problème dans le cas qui m’intéresse est que je n’ai pas tous les outils de compilation sur une « Lenny netinst », il manque « make » par exemple. Déjà on a les « headers » du noyau, c’est bien.
J’ai voulu compiler sur une autre machine Lenny Stable, mais, elle avait un minimum de vécu et notamment un kernel 2.6.28 mis à jour (le -2 et pas le -1 du dernier CD Lenny officiel en date).
Donc j’avais des doutes sur la simplicité de la manip, genre : rebooter la machine de compilation en 2.6.28-1, compiler, injecter ce driver sur ma machine cible, mettre à jour l’OS (donc le noyau en 2.6.28-2) en descendant les outils de compilation et rebooter en 2.6.28-2 pour recompiler à nouveau. Chiantissime.
A noter aussi qu’on tombe sur des articles flippants comme quoi les noyaux avant 2.6.27-14 (de tête) ont un driver pourri et on risque de tout casser (physiquement, si j’ai bien lu en diagonale)
Méthode 2 : je cherche un .deb
Je ne connais pas de liste super géniale de paquets non-officiels pour Debian (à part les classiques backports, apt-get.org etc). Bref, je n’ai pas trouvé un mec sympa pour me filer un .deb qu’il aurait fait pour le noyau qui m’intéresse / pour les noyaux en fait, puisqu’il y a un upgrade qui guette (cf. méthode 1)
Bref, pénible là aussi.
Méthode 3 recommandée : je change de noyau
L’autre méthode fût de voir que le noyau disponible en « SID unstable » (noyau 2.6.29-xxx) contenait un driver à jour pour ma carte réseau.
Comme le noyau n’a pas beaucoup de dépendances à respecter et qu’il y a un meta-paquet englobant le noyau (linux-image-2.6-686), ça m’a paru être une bonne méthode pour installer facilement ce driver tout en restant dans les clous vis-à-vis des outils d’update du système.
Solution plus propre que de créer son .deb à l’arrache je trouve
J’ai donc été cherché les paquets suivants : linux-image-2.6-686 pour SID (un meta-paquet) et le noyau, le vrai, le 2.6.29-1 à ce jour sur SID
Ensuite, j’ai ramené ça par clef USB (forcément, le réseau est mort…) et ai exécuté un dpkg -i linux-image*deb
dans le répertoire où j’avais stocké tout ça.
GRUB a fait le reste automatiquement.
Enfin, une fois rebooté, comme j’avais forcément un peu zappé la configuration réseau lors de l’installation, il faudra aller injecter le minimum, par exemple :
user@opti:~$ cat /etc/network/interfaces [...] auto eth0 iface eth0 inet dhcp
puis initialiser la carte réseau : ifup eth0
Voilà, ça devrait le faire
Un grand merci pour ce tip. Je sais pas comment j’aurais fait autrement (j’ai déjà eu beaucoup de mal avec).
Sinon je pense que ca s’adresse quand meme a des gens qui ont un certain niveau de connaissance en linux (je m’exclut de cette liste).
de rien
de toute façon, ça ne servira plus d’ici quelques semaines/mois lorsque les distrib auront monté de version leurs noyaux
Quoique, pour ubuntu, ça prendra 6 mois max
pour debian, 2 ans environ…
J’y pense : il risque de manquer un bout de conf APT, je ne sais plus
Il faudrait pour être sûr, vérifier que ces lignes sont dans /etc/apt/sources.list :
deb ftp://ftp.fr.debian.org/debian/ lenny main non-free contrib
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
C’est une conf standard, pas la bible
Je reviens un ti peu sur ton article.
J’ai rencontré le même problème pour une carte réseau utilisant le driver e1000e.
Je tente une netinstall que je laisse poursuivre sans accéder au réseau.
Je récup le make-xxx.deb sur le site, installe make et les headers du kernel.
Je compile les sources fournies sur CD et nickel, la carte réseau s’active.
Le soucis s’est produit lorsque j’ai fait un update / upgrade, le kernel s’est mis à jour, il a donc gentillement écrasé ma version compilée.
Dans le doute pour faire une install plus « propre ».
J’ai téléchargé l’install normale de Lenny, celle sur CD, je n’ai récupéré que le premier.
Même principe, sauf que la, les paquets headers et make étaient présent sur le CD 🙂
J’ai ensuite activé le réseau et pareil, la mise à jour kernel m’a viré le pilote compilé, mais j’avais prévu le coup ;).
J’ai écrasé la version du paquet pour remettre ma version compilée.
Dommage que cette différence ne soit pas détectée quelque part.
Enfin, la ça fonctionne bien.
Ah oui, pour les sources du pilote de la carte réseau, une tite clé usb suffit, elle s’active nickel, heureusement.
Par contre, chose que je n’ai pas pu approfondir.
Lorsque la carte résean n’est pas détectée, il est possible de passer sur un menu qui précise que le système va tenter de détecter un support pour récupérer les pilotes.
Sauf que dans ce cas, je ne capte pas ce qu’il essaye de faire ?
Il cherch les .ko ? quelque chose ? rien d’explicite.
Si vous avez de quoi m’aider pour cela 🙂
Je n’arrive pas à utilsier vos techniques, j’ai installé une debian avec dvd, la je bloque.
Bonjour,
Si c’est une « lenny » (stable actuelle), je suppose que ça tombe pile poil dans le cas décrit ; j’ai eu plusieurs remontées comme quoi ça passait.
Suivant votre niveau en linux / debian, je vous recommande la technique qui consiste à installer un noyau plus récent (méthode 3) ; il se peut que les versions de noyaux aient changés en « SID », donc les liens doivent être KO. Mais le principe est le même.
Bon courage
Il y a effectivement la possibilité de monter un kernel plus récent, mais attention … celui de Sid est quand même considéré comme unstable, c’est en cela que je me suis permis de préciser une méthode qui lorsqu’on à les sources du pilote de la carte réseau, permet d’éviter de monter un kernel plus à jour.
Question que se passe t il dans les évolutions du kernel ?
dans ce cas, en mélangeant les versions ? ne faut il pas passer une fichier dans apt pour indiquer quels paquets sont dans tel version ? j’avais vu cela quelque part, mais jamais tenté.
Sinon, autre question, quelle est la différence entre :
auto eth0
allow-hotplug eth0 ?
Personnellement la différence elle est clair … avec hallow hotplug lorsque je relance le networking, je perds à chaque fois le réseau.
Du coup je passe toujours avec l’ancienne façon d’écrire, à savoir auto eth0.
Jamais vraiment compris pourquoi j’avais ce problème à chaque fois.
Et quand je ne perds pas le réseau, c’est ma console SSH qui part en live, alors qu’avec auto eth0, pas de problèmes 😉
Urgent le lien 2.6.29-1 ‡ ce jour sur SID ne fonctionne pas ???
faut il prendre le kernel :
linux-image-2.6.32-3-686-bigmem (2.6.32-9)
Linux 2.6.32 for PCs with 4GB+ RAM
disponible sur http://packages.debian.org/sid/kernel/
Je dirais qu’il ne marche plus. Admettons
Qui peut le plus peut le moins. Je dirais que le 2.6.32 englobe les drivers du 2.6.29
Bonne chance
Bonjour,
Pour ceux qui tomberont sur cette page comme moi, une autre solution est d’utiliser les netinstall backportés : http://kmuto.jp/debian/d-i/ (avec un noyau un peu plus à jour).
C’est la solution que j’ai retenu.