¿Qué está creando el / autoconf.h generado?

9

Estamos tratando de construir un software que exija la fuente del núcleo, no solo los encabezados. Así que descargamos la fuente del núcleo a través de centos src rpm.

Sin embargo, falta el autoconf.h.

Nosotros tratamos

  • Coloque el archivo .config en su lugar (copié el de / boot).

  • correr make oldconfig

Entonces, ¿qué está creando el archivo autoconf.h? ¿Realmente tenemos que construir el núcleo?

Stefan
fuente
En caso de que alguien use Kconfig como arquitectura de compilación para un proyecto no relacionado con Linux, la respuesta a esta pregunta es un poco diferente: para generar autoconf.h necesita ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Respuestas:

12

El archivo include/generated/autoconf.hse genera en el make preparepaso. Si está intentando construir un módulo de kernel, también necesitará el make scriptspaso:

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

Por lo general, el núcleo se realiza con un paquete de encabezados, ¿ha intentado instalarlo primero? Para CentOS, intente instalar el kernel-develpaquete. Los detalles se pueden encontrar en http://wiki.centos.org/HowTos/I_need_the_Kernel_Source

Lekensteyn
fuente
¡Gracias! Sí, teníamos el paquete de encabezados instalado, pero por alguna razón el script de configuración exigía la fuente completa. Usamos la página wiki que vinculaste.
Stefan
Solo para completar: en CentOS, la configuración del kernel se encuentra en /boot(comparar con uname -rpara seleccionar la correcta).
Stefan
1
@Stefan En algunas distribuciones (como Arch Linux) se encuentra en /lib/modules/$(uname -r)/build/.config( buildgeneralmente enlaces simbólicos /usr/src/linux-$(uname -r)), otras usan /boot/config-$(uname -r)(como Ubuntu, Debian y aparentemente CentOS). Si se habilita durante la compilación, también está disponible en /proc/config.gz.
Lekensteyn
0

El archivo autoconf.hse genera automáticamente durante el proceso de compilación a partir del .confarchivo. Se utilizan muchos archivos fuente del núcleo autoconf.h.

Behnam Dezfouli
fuente
1
¡Bienvenido a Server Fault! Preferimos respuestas adicionales para abordar la pregunta de una manera que las respuestas anteriores no lo hicieron, o proporcionar una mejor solución.
Falcon Momot