Lors de l’installation de Debian 2.6.18-6-amd64 sur un Dell PowerEdge R300 (et a priori sur beaucoup d’autre Dell aussi), le pilote tg3 (qui se trouve déjà dans la distrib) n’est pas une version suffisamment récente pour faire tourner certains chipsets réseaux Broadcom (les 57xx entre autre).
Il faut donc télécharger le nouveau driver (disponible en zip ici), extraire le « tg3-x.xxy.tar.gz », et le transférer par la méthode de votre choix (clé USB) sur votre machine préférée (ou pas car elle vous énerve à ne pas détecter cette #ù£*@% carte réseau !!!)
Sauf que voilà, hé bien vous avez installé votre distrib avec une « netinstall » et qu’il faut absolument des packages qui ne sont pas disponible sur les 170Mo du CD…
Ma méthode :
Téléchargez l’ISO du premier DVD pour votre plateforme (AMD64/EM64T, i386,…) et gravez la (sur un DVD RW histoire de pas flinguer un DVD bêtement)
Installez là avec la méthode habituelle (je suis adepte de l’install « expert » afin de ne pas installer trop de paquet inutiles) puis sélectionnez le noyau à utiliser (il y en a beaucoup plus par rapport à la version « net-install »)
C’est là que ça se complique un petit peu, vu qu’il faut beaucoup de paquets complémentaires (merci le DVD parceque sinon ça aurait été chiant, sans carte réseau, hihihi)
apt-get install linux-kernel-headers linux-source-2.6.18 build-essential kernel-package patchutils linux-headers-$(uname -r) flex bzip2 libc6-i386
Attention, pour le paquet linux-source-2.6.18 (dans mon cas précis) : il ne faut pas préciser la sous révision du kernel (2.6.18-6-amd64) mais bien la version principale : impossible donc de faire linux-source-$(uname -r)
Le paquet build-essential est un meta paquet qui comporte les outils principaux de compilation (entre autre gcc, make, …)
libc6-i386 permet d’exécuter des applications 32bits sur une plateforme 64bits (je ne sais pas si c’est utile pour ce cas présent, mais ça sert toujours dans le futur)
Voilà, on attends un petit peu qu’il mouline le tout dans son coin, ensuite, on continue (parceque ce n’est pas encore fini !!! aïe aïe aïe !!!
cd /usr/src/ ls -al ooooo
!!! il n’y a pas de « /usr/src/linux » nécessaire à la compilation, on va le faire alors :
tar jxvf linux-source-2.6.18.tar.bz2 ln -s linux-source-2.6.18 /usr/src/linux cd /usr/src/linux make oldconfig make prepare
Si tout se passe bien, il ne devrait pas y avoir d’erreurs, et vous avez correctement préparé le nécessaire à la compilation des futurs modules.
Il ne reste plus grand chose à faire, juste à compiler !
Prenez votre clé USB équipée de « tg3-x.xxy.tar.gz » et pluggez sur votre machine
mkdir /mnt/usb mount /dev/sdb1 /mnt/usb cp /mnt/usb/tg3-3.81c.tar.gz /root/ cd tar zxvf tg3-3.81c.tar.gz cd tg3-3.81c
On va quand même virer le module qui est peut être chargé (on sait jamais)
rmmod tg3 make clean
Histoire de flusher tout ce qui aurai pu être make avant
make
Si tout c’est bien passé, vous ne devriez pas avoir d’erreurs, et le module devrait être chargé, et avoir détecté la (les) interface(s) réseau(x) en question (un coup de « lsmod | grep tg3″ pour s’en assurer, sinon :
insmod tg3.ko
Super !!! mais ce n’est pas fini encore ! Il faut encore aller le mettre au bon endroit pour qu’il soit chargé au démarrage de la machine.
cat /etc/modules | grep tg3
si il y est, on ne fait rien, sinon :
echo "tg3" >> /etc/modules
dans tout les cas :
mv /lib/modules/$(uname -r)/kernel/drivers/net/tg3.ko /lib/modules/$(uname -r)/kernel/drivers/net/tg3.ko.old
On déplace l’ancien module (on sait jamais) afin de pouvoir le retrouver en cas de panne
cp tg3.ko /lib/modules/$(uname -r)/kernel/drivers/net/
On copie le nouveau afin que le kernel puisse aller le charger au démarrage
Puis on édite le fichier de configuration des interfaces afin de pouvoir les déclarer : (DHCP dans mon cas, mais peut être fixe dans le vôtre)
pico /etc/network/interfaces auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp ifup eth0
Et voilà, l’interface est montée, et va aller chercher une IP sur le réseau !
C’est fini ! un petit reboot pour vérifier que tout fonctionne correctement et on en parle plus !
Source : blog.Sn4kY.net