Apa yang membuat / autoconf.h yang dihasilkan?


9

Kami mencoba membuat perangkat lunak yang membutuhkan sumber kernel, bukan hanya header. Jadi kami mengunduh sumber kernel melalui centos src rpm.

Namun autoconf.h hilang.

Kami sudah mencoba

  • Letakkan .config di tempatnya (salin satu dari / boot).

  • Lari make oldconfig

Jadi apa yang membuat file autoconf.h? Apakah kita benar-benar harus membangun kernel?


Jika seseorang menggunakan Kconfig sebagai arsitektur bangunan untuk proyek yang tidak terkait dengan Linux, jawaban untuk pertanyaan ini sedikit berbeda: untuk menghasilkan autoconf.h yang Anda butuhkan ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
— Étienne

Jawaban:


12

File include/generated/autoconf.hdihasilkan pada make preparelangkah. Jika Anda mencoba membangun modul kernel, Anda juga memerlukan make scriptslangkah:

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

Biasanya kernel disertai dengan paket header, sudahkah Anda mencoba menginstalnya terlebih dahulu? Untuk CentOS, coba instal kernel-develpaket. Detail dapat ditemukan di http://wiki.centos.org/HowTos/I_need_the_Kernel_Source


Terima kasih! Ya, kami telah menginstal paket tajuk, tetapi karena beberapa alasan skrip konfigurasi meminta sumber lengkap. Kami menggunakan halaman wiki yang Anda tautkan.
— Stefan

Hanya untuk kelengkapan: pada CentOS konfigurasi kernel berada /boot(bandingkan dengan uname -runtuk memilih yang benar).
— Stefan

1
@Stefan Pada beberapa distro (seperti Arch Linux) terletak di /lib/modules/$(uname -r)/build/.config( buildbiasanya symlinks ke /usr/src/linux-$(uname -r)), yang lain menggunakan /boot/config-$(uname -r)(seperti Ubuntu, Debian dan rupanya CentOS). Jika diaktifkan selama kompilasi, itu juga tersedia dari /proc/config.gz.
— Lekensteyn

0

File autoconf.hdihasilkan secara otomatis selama proses build dari .conffile. Banyak file sumber kernel digunakan autoconf.h.


1
Selamat Datang di Kesalahan Server! Kami lebih suka jawaban tambahan untuk menjawab pertanyaan dengan cara yang tidak dijawab sebelumnya, atau memberikan solusi yang lebih baik.
— Falcon Momot
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.