Co tworzy wygenerowany plik / autoconf.h?

9

Staramy się zbudować oprogramowanie, które wymaga źródła jądra, a nie tylko nagłówków. Więc pobraliśmy źródło jądra poprzez centos src rpm.

Jednak brakuje pliku autoconf.h.

Próbowaliśmy

  • Umieść .config na swoim miejscu (skopiowałem ten z / boot).

  • biegać make oldconfig

Więc co tworzy plik autoconf.h? Czy faktycznie musimy zbudować jądro?

Stefan
źródło
Jeśli ktoś używa Kconfig jako architektury kompilacji dla projektu niezwiązanego z Linuksem, odpowiedź na to pytanie jest nieco inna: do wygenerowania autoconf.h potrzebujesz ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Odpowiedzi:

12

Plik include/generated/autoconf.hjest generowany w make preparekroku. Jeśli próbujesz zbudować moduł jądra, będziesz również potrzebować make scriptskroku:

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

Zwykle do jądra dołączany jest pakiet nagłówków. Czy próbowałeś go najpierw zainstalować? W przypadku systemu CentOS spróbuj zainstalować kernel-develpakiet. Szczegóły można znaleźć na http://wiki.centos.org/HowTos/I_need_the_Kernel_Source

Lekensteyn
źródło
Dzięki! Tak, mieliśmy zainstalowany pakiet nagłówków, ale z pewnych powodów skrypt konfiguracyjny wymagał pełnego źródła. Wykorzystaliśmy połączoną stronę wiki.
Stefan
Dla kompletności: w CentOS znajduje się konfiguracja jądra /boot(porównaj z, uname -raby wybrać właściwą).
Stefan
1
@Stefan Na niektórych dystrybucjach (takich jak Arch Linux) znajduje się w /lib/modules/$(uname -r)/build/.config( buildzwykle dowiązań symbolicznych /usr/src/linux-$(uname -r)), inni używają /boot/config-$(uname -r)(takich jak Ubuntu, Debian i podobno CentOS). Jeśli włączone podczas kompilacji, jest również dostępne w /proc/config.gz.
Lekensteyn,
0

Plik autoconf.hjest generowany automatycznie podczas procesu kompilacji z .confpliku. Wykorzystuje wiele plików źródłowych jądra autoconf.h.

Behnam Dezfouli
źródło
1
Witaj w Server Fault! Wolimy dodatkowe odpowiedzi, aby odpowiedzieć na pytanie w sposób, w jaki poprzednie odpowiedzi nie, lub zapewnić lepsze rozwiązanie.
Falcon Momot,