Cosa sta creando il file generato / autoconf.h?


9

Stiamo cercando di creare un software che richieda il sorgente del kernel, non solo le intestazioni. Quindi abbiamo scaricato il sorgente del kernel tramite centos src rpm.

Tuttavia manca autoconf.h.

Abbiamo provato

  • Metti il ​​.config in posizione (copiato quello da / boot).

  • correre make oldconfig

Quindi cosa sta creando il file autoconf.h? Dobbiamo davvero compilare il kernel?


Nel caso in cui qualcuno stia usando Kconfig come architettura di compilazione per un progetto non correlato a Linux, la risposta a questa domanda è un po 'diversa: per generare autoconf.h è necessario ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Risposte:


12

Il file include/generated/autoconf.hviene generato nel make preparepassaggio. Se stai cercando di compilare un modulo del kernel, avrai anche bisogno del make scriptspassaggio:

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

Di solito il kernel è accompagnato da un pacchetto di intestazioni, hai provato a installarlo prima? Per CentOS, prova a installare il kernel-develpacchetto. I dettagli sono disponibili su http://wiki.centos.org/HowTos/I_need_the_Kernel_Source


Grazie! Sì, avevamo installato il pacchetto headers, ma per alcuni motivi lo script di configurazione richiedeva la fonte completa. Abbiamo usato la pagina wiki che hai collegato.
Stefan

Solo per completezza: su CentOS si trova la configurazione del kernel /boot(confrontare con uname -rper selezionare quella giusta).
Stefan

1
@Stefan In alcune distro (come Arch Linux) si trova /lib/modules/$(uname -r)/build/.config(di buildsolito collegamenti simbolici a /usr/src/linux-$(uname -r)), altri usano /boot/config-$(uname -r)(come Ubuntu, Debian e apparentemente CentOS). Se abilitato durante la compilazione, è disponibile anche da /proc/config.gz.
Lekensteyn,

0

Il file autoconf.hviene generato automaticamente durante il processo di generazione dal .conffile. Molti file sorgente del kernel usano autoconf.h.


1
Benvenuti in Server Fault! Preferiamo risposte aggiuntive per rispondere alla domanda in un modo in cui le risposte precedenti non lo hanno fatto, o fornire una soluzione migliore.
Falcon Momot,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.