web-dev-qa-db-ja.com

11.04カーネルの.configファイルはどこで入手できますか?

Kernel.orgで利用可能な最新のカーネルでMaverickを使用し、自分でビルドしています。これまで、私は設定を標準のMaverickカーネルに基づいており、make oldconfigデフォルトを受け入れてきました。私はこれを3つのメジャーリリースで行ってきたので、現在の「標準」に遅れをとり始めていると思います。

新しいNatty .configファイルからカーネルをリベースしたいと思います。これはオンラインのどこかで入手できますか、それともカーネルパッケージ全体をダウンロードして展開する必要がありますか?

編集:私は手動で最新のNattyカーネルパッケージから設定を取得しました。おそらくこれをもっと早く行うべきだったことを確認できます。私の古い「進化した」構成とNattyのデフォルトとの多くの違い。これで、パッケージを探してダウンロードするのに20分もかからずにこれを行うことができれば、将来的にリベースできます。

15
Oli

カーネルチームは、Nattyの構成をここに投稿しました。

ソース:

7
Jorge Castro

linux-imageパッケージには、/boot/config-*で作成された正確な構成ファイルが含まれています。現在実行中のLinuxカーネルの構成ファイルを表示するには、次を実行します。

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

私はUbuntuカーネルの人々(Freenode #ubuntu-kernelで)に確認しましたが、彼らは実際には存在しないという私の信念を確認しました。その config」ですが、実際にはビルド/コンパイル時にいくつかのKconfigファイルを含めることで構築されます。これらは正確なアーキテクチャとターゲット(デスクトップ/サーバー/クラウド)に依存します。 )での会話:

その多様性のリストは、packages.ubuntu.comと次の検索を使用して見つけることができます。

ハンティングは、.configlinux-headers-*パッケージに含まれているようです。これらは.debファイル(.arで開くシンプルなfile-rollerアーカイブ)で、それぞれ約800 kBです。特定のターゲット、アーキテクチャ、およびバージョンがわかっている場合は、これらをLaunchpadまたはアーカイブ自体から直接取得できます。

  1. archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-header-2.6*.deb
  2. 次に、/usr/src/linux-headers-2.6*/.configを調べます

プロセス全体を1つのコマンドに自動化する場合は、次を試してください。すべてを1行にまとめてください。

お役に立てば幸いです!

29
sladen

Ubuntu 11.10システムでは、カーネル構成はファイル '/boot/config-3.0.0-12-generic'にあります。

4
Marat BN

Ubuntu git kernel repository

構成を含むdebian/メタデータとカーネルツリーは、リリースごとに単一のgitリポジトリで追跡されます: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

リポジトリには、各カーネルパッケージのタグがあります。 Ubuntu 18.04には、パッケージlinux-image-4.15.0-36-genericがあります。これは、タグUbuntu-4.15.0-36.39に対応すると推測しています。

https://help.ubuntu.com/community/Kernel/Compile は、カーネルのコンパイル方法を説明しています。したがって、カーネルの構成方法と、構成が最終構成にマージされる方法を説明しています。

設定はすべて debian.master/config/Arch の下にあるようです。

config.common.ubuntu
config.common.ports
AMD64/config.common.AMD64
AMD64/config.flavour.generic
AMD64/config.flavour.lowlatency

だから、linux-image-4.15.0-36-genericconfig.common.ubuntuconfig.common.AMD64config.flavour.genericをマージすると推測しています。

マージを行うスクリプトは debian/scripts/misc/kernelconfig のようで、コメントが含まれています:

# Merge configs
# We merge config.common.ubuntu + config.common.<Arch> +
# config.flavour.<flavour>

TODO: debian.master/config/annotations ファイルもあります。このファイルには、各Archの各設定の値が含まれているようですが、どのように使用されますか?

誰かが何らかの方法で詳細モードでビルドスクリプトを実行することですべてを確認する必要がありますが、今私は怠け者です、あなたはでビルドできます:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic

次に、これにより、ローカルにあるものとまったく同じ構成が生成されることを確認しました。

diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic

Ubuntuカーネルのgitリポジトリには、アップストリームLinuxの上に何千ものパッチもあるため、動作を再現するには適切な設定を取得するだけでは不十分です。

ブートのdmesgの開始を調べることにより、ビルドしたカーネルがパッケージ化されたカーネルと一致することをトリプルチェックすることもできます。

[    0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-AMD64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)

.debの設定

他の人が述べたように、最終的な完全な構成は以下にもあります。

/boot/config-4.15.0-36-generic

各Linuxカーネルイメージに対応します。

/boot/vmlinuz-4.15.0-36-generic

したがって、他のバージョンでは、どのパッケージからのものかを見つけることができます:

dpkg -S /boot/config-4.15.0-36-generic

与えるもの:

linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic

そして、 https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic から.debをダウンロードし、それを抽出して設定を取得することができます:

mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_AMD64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_AMD64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic

Ubuntu 18.04でテスト済み。