web-dev-qa-db-ja.com

各Linuxディストリビューションのカーネル構成はどこにありますか?

すべてのRedHatおよびDebianベースのディストリビューションは、カーネル構成を/boot/config-*で出荷するという規則に従っていると確信していますが、他のディストリビューションはどうでしょうか。または、この規則が非常に一般的である場合、どの分布いけないに従うか?

4
Matthew Cline

Debianとその派生物(Ubuntu、Linux Mint、…)

カーネル/boot/vmlinuz-VERSIONの構成は/boot/config-VERSIONに保存されます。 2つのファイルは、linux-VERSIONまたはkernel-VERSIONの同じパッケージで出荷されます。

Arch Linux、Gentoo(有効な場合)

実行中のカーネルの構成はカーネルバイナリに保存され、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カーネルでさえ、最近ではほとんどすべてのディストリビューションでこれが有効になっているため、これが最も標準的な場所です。

ただし、これらの場所はどちらも分布に依存していません。多くのディストリビューションでは、パッケージをこの方法で準備すると便利なため、パッケージ化時に「デフォルト」の場所を利用しますが、単一のディストリビューション内でも、非標準のカーネルパッケージがファイルを別の場所に配置したり、名前を変えたりする可能性があります。ありそうもない。

1
sirlark