すべてのRedHatおよびDebianベースのディストリビューションは、カーネル構成を/boot/config-*
で出荷するという規則に従っていると確信していますが、他のディストリビューションはどうでしょうか。または、この規則が非常に一般的である場合、どの分布いけないに従うか?
カーネル/boot/vmlinuz-VERSION
の構成は/boot/config-VERSION
に保存されます。 2つのファイルは、linux-VERSION
またはkernel-VERSION
の同じパッケージで出荷されます。
実行中のカーネルの構成はカーネルバイナリに保存され、zcat /proc/config.gz
で取得できます。
このファイルは、カーネルのコンパイル時にCONFIG_IKCONFIG
オプションが設定されている場合に存在します-したがって、配布に関係なくtrue (またはnot)になる可能性がありますが、指定された2つのデフォルトのカーネル構成では有効になります。
ちなみに、Arch Linuxのデフォルト設定では、カーネルに名前を付けていません(またはそのinitramfsイメージ)/boot
のバージョンでもバージョンごとにあります-そこにあるファイルは、対応するパッケージに対してのみ名前が付けられています。たとえば、典型的なArchLinuxブートカーネルの名前は/boot/vmlinuz-linux
です。ここで、linuxはデフォルトカーネル用にインストールするパッケージです。
Linuxカーネルソースには、インストールメカニズムmake install
が付属しています。これにより、ファイルが/ boot(vmlinuz-version、System.map-version、config-version)。
実行中のカーネルの構成を/proc/config.gz
経由で利用できるようにするオプションもカーネルの一部であるため、ifこの構成オプションが有効になっていると、ファイルは/proc
ファイルシステムに存在します。 Androidカーネルでさえ、最近ではほとんどすべてのディストリビューションでこれが有効になっているため、これが最も標準的な場所です。
ただし、これらの場所はどちらも分布に依存していません。多くのディストリビューションでは、パッケージをこの方法で準備すると便利なため、パッケージ化時に「デフォルト」の場所を利用しますが、単一のディストリビューション内でも、非標準のカーネルパッケージがファイルを別の場所に配置したり、名前を変えたりする可能性があります。ありそうもない。