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


15

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

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

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

回答:



30

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

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

私は(Freenodeの上のUbuntuのカーネル人でチェックしている#ubuntu-kernel)と、彼らは「本当にそこではないというのが私の信念を確認した設定を」が、それが実際の数などによってビルド/コンパイル時に構築されるファイル。これらは、正確なアーキテクチャとターゲット(デスクトップ/サーバー/クラウド)に依存します。以下の(短い)会話を読むことができるはずです。Kconfig

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

狩りは、周りに.configは、linux-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行にまとめてください。

お役に立てば幸いです!


これを調査してくれてありがとう。irclogを読んだので、重要なダウンロードなしで欲しいものを手に入れるつもりはないようです。自動化に関しては、ビルド時にパッケージを自動生成/boot-config-*するために使用するウィザードをエミュレートするよりも、パッケージを取得して抽出する方が簡単です。パッケージから1つのファイルをオンライン
オリ

私は別の質問でそれを尋ねると思います。
オリ


1

Ubuntu gitカーネルリポジトリ

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-genericマージしますconfig.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各アーチの各設定の値を含むと思われるファイルもありますが、どのように使用されますか?

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

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でテスト済み。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.