Kernel.orgで利用可能な最新のカーネルでMaverickを使用し、自分でビルドしています。これまで、私は設定を標準のMaverickカーネルに基づいており、make oldconfig
デフォルトを受け入れてきました。私はこれを3つのメジャーリリースで行ってきたので、現在の「標準」に遅れをとり始めていると思います。
新しいNatty .config
ファイルからカーネルをリベースしたいと思います。これはオンラインのどこかで入手できますか、それともカーネルパッケージ全体をダウンロードして展開する必要がありますか?
編集:私は手動で最新のNattyカーネルパッケージから設定を取得しました。おそらくこれをもっと早く行うべきだったことを確認できます。私の古い「進化した」構成とNattyのデフォルトとの多くの違い。これで、パッケージを探してダウンロードするのに20分もかからずにこれを行うことができれば、将来的にリベースできます。
各linux-image
パッケージには、/boot/config-*
で作成された正確な構成ファイルが含まれています。現在実行中のLinuxカーネルの構成ファイルを表示するには、次を実行します。
less /boot/config-$(uname -r)
私はUbuntuカーネルの人々(Freenode #ubuntu-kernel
で)に確認しましたが、彼らは実際には存在しないという私の信念を確認しました。その config」ですが、実際にはビルド/コンパイル時にいくつかのKconfig
ファイルを含めることで構築されます。これらは正確なアーキテクチャとターゲット(デスクトップ/サーバー/クラウド)に依存します。 )での会話:
その多様性のリストは、packages.ubuntu.comと次の検索を使用して見つけることができます。
ハンティングは、.config
もlinux-headers-*
パッケージに含まれているようです。これらは.deb
ファイル(.ar
で開くシンプルなfile-roller
アーカイブ)で、それぞれ約800 kBです。特定のターゲット、アーキテクチャ、およびバージョンがわかっている場合は、これらをLaunchpadまたはアーカイブ自体から直接取得できます。
/usr/src/linux-headers-2.6*/
.config
を調べますプロセス全体を1つのコマンドに自動化する場合は、次を試してください。すべてを1行にまとめてください。
wget -qO- http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-2.6.38-6-generic_2.6.38-6.34_i386.deb | dpkg-deb --fsys-tarfile /dev/stdin | tar Ox --wildcards './usr/src/*/.config'
お役に立てば幸いです!
Ubuntu 11.10システムでは、カーネル構成はファイル '/boot/config-3.0.0-12-generic'にあります。
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-generic
がconfig.common.ubuntu
、config.common.AMD64
、config.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でテスト済み。