何が生成された/autoconf.hを作成していますか?


9

ヘッダーだけでなく、カーネルソースを必要とするソフトウェアを構築しようとしています。そこで、centos src rpmを使用してカーネルソースをダウンロードしました。

ただし、autoconf.hがありません。

試しました

  • .configを配置します(/ bootからコピーします)。

  • 走る make oldconfig

では、autoconf.hファイルを作成しているものは何でしょうか。実際にカーネルを構築する必要がありますか?


Linuxに関連しないプロジェクトのビルドアーキテクチャとしてKconfigを使用している場合、この質問に対する答えは少し異なります。autoconf.hを生成するには、。/ kconfig
エティエンヌ

回答:


12

ステップinclude/generated/autoconf.hでファイルが生成されますmake prepare。カーネルモジュールをビルドする場合は、次のmake scripts手順も必要です。

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

通常、カーネルにはヘッダーパッケージが付属していますが、それを最初にインストールしてみましたか?CentOSの場合は、kernel-develパッケージをインストールしてみてください。詳細はhttp://wiki.centos.org/HowTos/I_need_the_Kernel_Sourceにあります


ありがとう!はい、ヘッダーパッケージをインストールしましたが、何らかの理由で、構成スクリプトが完全なソースを要求していました。リンクしたWikiページを使用しました。
ステファン

完全を期すために:CentOSでは、カーネル構成は次の場所にあります/bootuname -r適切なものを選択する場合と比較してください)。
Stefan

1
それが中に位置しています(アーチLinuxのような)いくつかのディストリビューションで@Stefan /lib/modules/$(uname -r)/build/.configbuild通常にシンボリックリンク/usr/src/linux-$(uname -r))、他の人が使用して/boot/config-$(uname -r)(例えばUbuntuの、Debianと明らかにCentOSのように)。コンパイル時に有効にすると、からも利用できます/proc/config.gz
Lekensteyn 2014年

0

ファイルautoconf.hは、ビルドプロセス中に.confファイルから自動的に生成されます。多くのカーネルソースファイルはを使用しますautoconf.h


1
サーバー障害へようこそ!以前の回答ではできなかった方法で質問に対処するか、より良い解決策を提供するために、追加の回答を優先します。
Falcon Momot 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.