Điều gì đang tạo ra / autoconf.h?


9

Chúng tôi đang cố gắng xây dựng một phần mềm yêu cầu nguồn kernel, không chỉ các tiêu đề. Vì vậy, chúng tôi đã tải xuống nguồn kernel thông qua vòng / phút src centos.

Tuy nhiên, autoconf.h bị thiếu.

Chúng tôi đã cố gắng

  • Đặt .config vào vị trí (sao chép từ / boot).

  • chạy make oldconfig

Vậy điều gì đang tạo ra tệp autoconf.h? Chúng ta có thực sự phải xây dựng kernel không?


Trong trường hợp ai đó đang sử dụng Kconfig làm kiến ​​trúc xây dựng cho một dự án không liên quan đến Linux, câu trả lời cho câu hỏi này hơi khác một chút: để tạo autoconf.h bạn cần ./kconfig-frontends/frontends/conf/conf --silentoldconfig Kconfig
Étienne

Câu trả lời:


12

Các tập tin include/generated/autoconf.hđược tạo ra trong make preparebước. Nếu bạn đang cố gắng xây dựng một mô-đun hạt nhân, bạn cũng sẽ cần make scriptsbước:

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

Thông thường kernel được đi kèm với gói tiêu đề, bạn đã thử cài đặt nó trước chưa? Đối với CentOS, hãy thử cài đặt kernel-develgói. Chi tiết có thể được tìm thấy trên http://wiki.centos.org/HowTos/I_need_the_Kernel_Source


Cảm ơn! Có, chúng tôi đã cài đặt gói tiêu đề, nhưng vì một số lý do, tập lệnh cấu hình yêu cầu nguồn đầy đủ. Chúng tôi đã sử dụng trang wiki mà bạn liên kết.
Stefan

Chỉ để hoàn thiện: trên CentOS, cấu hình kernel được đặt trong /boot(so sánh với uname -rđể chọn đúng).
Stefan

1
@Stefan Trên một số distro (như Arch Linux), nó được đặt trong /lib/modules/$(uname -r)/build/.config( buildthường là symlink đến /usr/src/linux-$(uname -r)), những cái khác sử dụng /boot/config-$(uname -r)(như Ubuntu, Debian và rõ ràng là CentOS). Nếu được bật trong quá trình biên dịch, nó cũng có sẵn từ /proc/config.gz.
Lekensteyn

0

Tệp autoconf.hđược tạo tự động trong quá trình xây dựng từ .conftệp. Nhiều tập tin nguồn kernel sử dụng autoconf.h.


1
Chào mừng bạn đến với Lỗi Máy chủ! Chúng tôi thích các câu trả lời bổ sung để giải quyết câu hỏi theo cách mà các câu trả lời trước không hoặc cung cấp giải pháp tốt hơn.
Falcon Momot
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.