Je dois actuellement recompiler mon pilote sans fil à partir de la source chaque fois que je reçois une nouvelle version du noyau. Pensant qu'il serait extrêmement hacker d'automatiser ce processus, j'ai lié symboliquement mon script de construction Bash à /etc/kernel/postinst.d
. J'ai vérifié qu'il s'exécute en fait lorsque la dernière mise à jour du noyau est installée, mais une chose reste un problème :le pilote se compile pour la version existante du noyau en cours d'exécution.
Par exemple, si j'utilise 3.0.0-14-generic et apt-get dist-upgrade
au noyau 3.0.0-15-generic, puis il compile pour le noyau 3.0.0-14-generic, ce qui ne m'aide pas vraiment du tout.
Existe-t-il un moyen de savoir à partir de mon script postinst du noyau quelle version du noyau a été installée afin que je puisse la transmettre à mon make
appeler pour qu'il puisse être compilé pour le noyau nouvellement installé ?
Réponse acceptée :
Ce n'est pas une vraie réponse à votre question, juste un pointeur vers un outil qui pourrait être lié et utile :
Avez-vous dkms
installée? (Quelques informations ici, la page alioth semble en panne pour le moment.) C'est censé faire exactement cela, si je ne me trompe pas. Cela nécessite les linux-headers
appropriés package et le package module/firmware/quelque chose comme ça à installer ; et cela fonctionne pour tous les linux-image
installés colis. (Je ne peux rien dire sur un module générique, mais cela a bien fonctionné lorsque je l'ai utilisé avec le module nvidia non libre.)
(Il y a plus de liens ici, comme la page de manuel et ce linuxjournal.com
article qui fournit une explication du programme non centrée sur l'écosystème Debian.)