Si, comme moi, vous avez encore une ou plusieurs machines en parfait état de marche mais dotées de cartes graphiques de marque NVIDIA vieillissante, vous risquez de rencontrer un jour le problème suivant.
Vous venez, pour une raison ou pour une autre, de mettre à jour votre noyau linux vers une version plus récente[1]. Vous devez utiliser la version "Old Legacy Chipsets"[2] des drivers nvidia, ce dernier ayant décidé de ne plus assurer le support de ces cartes "dépassées"[3] dans les nouveaux drivers. Et là, c'est le drame.
linux/config.h: No such file or directory
Et oui, bien que le fichier config.h présent dans les sources des versions antérieures des noyaux soit clairement indiqué comme à ne plus utiliser, le driver[4] fait toujours appel à lui. Et bien sûr ce fichier n'existe plus dans les versions récentes du noyau.
La solution la plus simple à ce problème est, à mon sens, de recréer ce fichier dans les sources de votre noyau,
[path vers votre kernel]/include/linux/config.h avec le contenu suivant :
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H
/* This file is no longer in use and kept only for backward compatibility.
* autoconf.h is now included via -imacros on the commandline
*/
#include <linux/autoconf.h>
#endif
Voilà, fin de l'astuce, l'installation du driver NVIDIA devrait maintenant se dérouler normalement. Et vous n'avez pas besoin de racheter un Bi-Xeon Dual Core Woodcrest avec 4 Go de RAM et une GeForce 8800 pour remplacer une machine qui fait tout ce dont vous avez besoin sans nécessiter la construction d'une centrale électrique pour elle seule.
[1] dans mon cas un kernel 2.6.19.2 vanilla
[2] 1.0-7184 dans mon cas : http://www.nvidia.com/object/linux_display_ia32_1.0-7184.html
[3] comprenez ne leur rapportant plus assez d'argent
[4] ou plus exactement la glue entre le kernel et le module binaire nvidia, mais ne chipotons pas