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.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
各アーチの各設定の値を含むと思われるファイルもありますが、どのように使用されますか?
誰かが何らかの方法で詳細モードでビルドスクリプトを実行することですべてを確認する必要がありますが、今私は怠け者です。
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でテスト済み。
/boot-config-*
するために使用するウィザードをエミュレートするよりも、パッケージを取得して抽出する方が簡単です。パッケージから1つのファイルをオンライン