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?

Stefan
la source
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

Lekensteyn
la 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.

Behnam Dezfouli
la source
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