Sources du noyau 4.19.0-11-amd64 non installées

Tags: #<Tag:0x00007faa2730c310> #<Tag:0x00007faa2730c248>

Bonjour,

J’ai un soucis pour compiler le module noyau dahdi pour ma carte téléphonique PBX.

/opt/dahdi-linux-complete-2.11.1+2.11.1# make
make -C linux all
make[1] : on entre dans le répertoire « /opt/dahdi-linux-complete-2.11.1+2.11.1/linux »
make -C drivers/dahdi/firmware firmware-loaders
make[2] : on entre dans le répertoire « /opt/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmware »
make[2] : on quitte le répertoire « /opt/dahdi-linux-complete-2.11.1+2.11.1/linux/drivers/dahdi/firmware »
You do not appear to have the sources for the 4.19.0-11-amd64 kernel installed.
make[1]: *** [Makefile:72: modules] Error 1
make[1] : on quitte le répertoire « /opt/dahdi-linux-complete-2.11.1+2.11.1/linux »
make: *** [Makefile:9: all] Error 2

Mon noyau est :

/opt/dahdi-linux-complete-2.11.1+2.11.1# uname -v
#1 SMP Debian 4.19.146-1 (2020-09-17)

et j’ai installé les paquets suivants :

/opt/dahdi-linux-complete-2.11.1+2.11.1# aptitude search '~i (linux|kernel|source)'
i A binutils-x86-64-linux-gnu                                                                                                       - outils binaires GNU pour la cible x86-64-linux-gnu                                                                                       
i A console-setup-linux                                                                                                             - partie spécifique pour Linux de console-setup                                                                                            
i A firmware-linux-free                                                                                                             - micrologiciels binaires pour des pilotes du noyau Linux                                                                                  
i A liblinux-lvm-perl                                                                                                               - Perl module to access LVM status information                                                                                             
i   libselinux1                                                                                                                     - bibliothèque partagée d'exécution SELinux                                                                                                
i A linux-base                                                                                                                      - paquet de base pour les images du noyau Linux                                                                                            
i A linux-config-4.19                                                                                                               - Debian kernel configurations for Linux 4.19                                                                                              
i A linux-image-4.19.0-11-amd64                                                                                                     - Linux 4.19 for 64-bit PCs (signed)                                                                                                       
i A linux-image-4.19.0-11-amd64-dbg                                                                                                 - Debug symbols for linux-image-4.19.0-11-amd64                                                                                            
i   linux-image-amd64                                                                                                               - Linux pour les ordinateurs 64 bits (métapaquet)                                                                                          
i   linux-image-amd64-dbg                                                                                                           - symboles de débogage pour la configuration Linux amd64 – métapaquet                                                                      
i A linux-libc-dev                                                                                                                  - en-têtes de gestion Linux pour le développement en espace utilisateur                                                                    
i   linux-source                                                                                                                    - sources du noyau Linux – métapaquet                                                                                                      
i   linux-source-4.19                                                                                                               - Linux kernel source for version 4.19 with Debian patches                                                                                 
i   nfs-kernel-server                                                                                                               - gestion du serveur NFS du noyau                                                                                                          
i A python-pkg-resources                                                                                                            - découverte de paquets et accès aux ressources avec pkg_resources                                                                         
i A python3-pkg-resources                                                                                                           - découverte de paquets et accès aux ressources avec pkg_resources                                                                         
i   util-linux                                                                                                                      - divers utilitaires système                                                                                                               
i A util-linux-locales                                                                                                              - fichiers de paramètres linguistiques pour util-linux

Que me manque-t-il ?
Pourquoi le compilateur ne trouve-t-il pas les sources du noyau ?

Merci à vous.

Non ton noyau indiqué dans le message d’erreur c’est ```
4.19.0-11-amd64

et non 

`dahdi-linux-complete-2.11.1+2.11.1`

Que dit uname -ar ?
/opt/dahdi-linux-complete-2.11.1+2.11.1# uname -ar
Linux astuce 4.19.0-11-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux
`dahdi-linux-complete-2.11.1+2.11.1`

C’est le répertoire où se situent les sources du module noyau pour dahdi.

Dans ton configure faut que tu précise quel noyau tu compiles sinon il prend celui qui est indiqué par uname, c’est à dire le noyau courant.
Tu essaye de compiler un autre noyau donc il faut que tu lui indique en paramètre l’emplacement des sources au niveau du ./configure

Ah. Mais je n’ai installé qu’un seul noyau, le 4.19.0-11-amd64.
Pourquoi en trouve-t-il un autre ?

Quel paquet fournit les sources pour le noyau 4.19.0.11-amd64 ?

Ce que je ne comprends pas, c’est que jusqu’à maintenant à chaque mise à jour du noyau au niveau du dépôt de debian, je recompilais le module dahdi en faisant un simple ‹ make › et ‹ make install › et tout fonctionnait très bien.

C’est plutôt étonnant qu’avec la mise à jour vers le noyau 4.19.0-11-amd64, il ne trouve plus les sources…

Il faut faire un configure avant ton make.

Merci Zargos pour ton aide.
Malheureusement, je ne suis pas assez calé pour modifier le fichier configure.

Mais, j’ai trouvé l’origine du problème ! :smiley:
Il me manquait les paquets :

i A linux-headers-4.19.0-11-amd64                                                                                                   - Header files for Linux 4.19.0-11-amd64                                                                                                   
i A linux-headers-4.19.0-11-common                                                                                                  - Common header files for Linux 4.19.0-11                                                                                                  
i   linux-headers-amd64

Je ne sais pas pourquoi, ils n’ont pas été mis à jour automatiquement.

Mais maintenant ça fonctionne correctement et toujours avec un simple ‹ make › et ‹ make install ›. :+1:

Pourquoi ne pas utiliser dkms pour entretenir le module automatiquement lors de la mise à jour du kernel :

https://packages.debian.org/buster/dahdi-dkms