web-dev-qa-db-ja.com

vmlinuzファイルから.configファイルを取得できますか?

/boot/vmlinuz-linux1として保存されているカスタムカーネルでArchLinuxを使用しています。動作させたくない機能もありますが、それらの機能が動作する/boot/vmlinuz-linuxカーネルもあります。テキストエディタで最初のカーネルの構成と比較するために、2番目のvmlinuzファイルから.configカーネル構成ファイルを取得するにはどうすればよいですか?

4

私の知る限り、カーネルから.config構成ファイルを抽出できるのは、構成オプションCONFIG_IKCONFIG(構成メニューでエントリGeneral setup > Kernel .config supportとして使用可能)を使用してコンパイルした場合のみです。その構成オプションのドキュメントは次のとおりです。

CONFIG_IKCONFIG:                                                                                                                                                                      

This option enables the complete Linux kernel ".config" file
contents to be saved in the kernel. It provides documentation
of which kernel options are used in a running kernel or in an
on-disk kernel.  This information can be extracted from the kernel
image file with the script scripts/extract-ikconfig and used as
input to rebuild the current kernel or to build another kernel.
It can also be extracted from a running kernel by reading
/proc/config.gz if enabled (below).

最後の文は、追加の構成オプションCONFIG_IKCONFIG_PROCを参照しています。これにより、proc疑似ファイルシステム内のファイルを介して実行中のカーネルの構成にアクセスできます。

カーネルがCONFIG_IKCONFIGでコンパイルされていない場合、その構成を簡単に取得できるとは思いません。そうでなければ、それは同じくらい簡単です

gunzip /proc/config.gz > .config

CONFIG_IKCONFIG_PROCが選択されていて、現在/boot/vmlinuz-linuxカーネルを実行している場合、または

scripts/extract-ikconfig /boot/vmlinuz-linux

スクリプトextract-ikconfigは、カーネルソースとともにフォルダscriptsにあるスクリプトです。

6
lgeorget