現在、カーネルビルドオプションはどこに保存されていますか?

現在、カーネルビルドオプションはどこに保存されていますか?

CONFIG_PROC_EVENTS=yカーネルソースパッケージをインポートして設定ファイルを表示することなく、カーネルが有効な特定のオプション(たとえば)にコンパイルされたかどうかを知る方法はありますか?

答え1

/bootディレクトリを見て、次のファイルを見ることができます。

$ ls -l /boot/|grep config
-rw-r--r--  1 root root   109919 Oct 21  2011 config-2.6.35.14-100.fc14.x86_64
-rw-r--r--  1 root root   109919 Oct 27  2011 config-2.6.35.14-103.fc14.x86_64
-rw-r--r--  1 root root   109919 Nov 23  2011 config-2.6.35.14-106.fc14.x86_64

使用しているカーネルのバージョンを確認してください。

$ uname -r
2.6.35.14-106.fc14.x86_64

grep適切な "config-"ファイルを見ると、カーネルuname -rがどのオプションでビルドされたかを確認できます。

$ grep CONFIG_PROC_EVENTS= /boot/config-`uname -r`
CONFIG_PROC_EVENTS=y

引用する

答え2

カーネルオプションはで見つけることができます/proc/config.gz

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

カーネルが でコンパイルされている場合 カーネルがCONFIG_IKCONFIG_PROC=yでコンパイルされたCONFIG_IKCONFIG_PROC=m場合 まずmodprobe configs

答え3

カーネルが次のように構築されているCONFIG_IKCONFIG_PROC場合/proc/config.gz

zless /proc/config.gz

DebianとRedhatベースのカーネルパッケージはconfig-$version通常/boot

less /boot/config-$(uname -r)

kernel-package./kernel/Config/configDebianでは、デフォルトのオプションとアーキテクチャ固有の設定オプションを見つけることもできます./kernel/Config/

mkdir /tmp/k
cd /tmp/k
apt-get source kernel-package
find . -path '*/kernel/Config/*' -type f

答え4

sudo find / -xdev -name .config(-xdevは1つのファイルシステムに保存されます)

一般的にそれになります/usr/src/some-specific-kernel-header-version/.config

テキストで読んだり、grepで検索したり、2つのバージョンがどのように異なるかを確認してください。diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

関連情報