Qu'est-ce qui crée le fichier généré / autoconf.h?


9

Nous essayons de créer un logiciel qui requiert la source du noyau, pas seulement les en-têtes. Nous avons donc téléchargé la source du noyau via le rpm centos src.

Cependant, autoconf.h est manquant.

Nous avons essayé

  • Mettez le .config en place (copié celui de / boot).

  • courir make oldconfig

Alors, qu'est-ce qui crée le fichier autoconf.h? Doit-on réellement construire le noyau?


Dans le cas où quelqu'un utilise Kconfig comme architecture de construction pour un projet non lié à Linux, la réponse à cette question est un peu différente: pour générer autoconf.h dont vous avez besoin ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Réponses:


12

Le fichier include/generated/autoconf.hest généré à l' make prepareétape. Si vous essayez de construire un module noyau, vous aurez également besoin de l' make scriptsétape:

gunzip < /proc/config.gz > .config
make oldconfig
make prepare
make scripts

Habituellement, le noyau est accompagné d'un paquet d'en-têtes, avez-vous essayé d'installer cela en premier? Pour CentOS, essayez d'installer le kernel-develpackage. Les détails peuvent être trouvés sur http://wiki.centos.org/HowTos/I_need_the_Kernel_Source


Merci! Oui, nous avons installé le paquet d'en-têtes, mais pour certaines raisons, le script configure demandait la source complète. Nous avons utilisé la page wiki que vous avez liée.
Stefan

Juste pour être complet: sur CentOS, la configuration du noyau est située dans /boot(comparer avec uname -rpour sélectionner la bonne).
Stefan

1
@Stefan Sur certaines distributions (comme Arch Linux), il est situé dans /lib/modules/$(uname -r)/build/.config( buildgénéralement des liens symboliques vers /usr/src/linux-$(uname -r)), d'autres utilisent /boot/config-$(uname -r)(comme Ubuntu, Debian et apparemment CentOS). S'il est activé lors de la compilation, il est également disponible sur /proc/config.gz.
Lekensteyn

0

Le fichier autoconf.hest généré automatiquement pendant le processus de génération à partir du .conffichier. De nombreux fichiers sources du noyau utilisent autoconf.h.


1
Bienvenue dans Server Fault! Nous préférons des réponses supplémentaires pour répondre à la question d'une manière différente des réponses précédentes, ou fournir une meilleure solution.
Falcon Momot
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.