web-dev-qa-db-ja.com

Ubuntuに同梱されているカーネルとアップストリームカーネルの違いは何ですか?

メインのLinuxカーネルとUbuntuで使用されているカーネルの機能セットの違いは何ですか?メインカーネルを直接使用する代わりに、Ubuntuがメインカーネルから分岐するのはなぜですか?

31
Andrew Stern

アップストリームカーネル(提供時に メインラインカーネル と呼ばれる)は、指定されたバージョンの単なるアップストリームカーネルであり、ごくわずかな構成変更が追加されているため、 Ubuntuのインストール。

これらのカーネルとUbuntuバージョン用にリリースされたカーネルの違いは、他にも多数あります 構成の変更 、ソースパッチ*、および場合によっては、モジュールとハードウェアサポートでコンパイルされます。

基礎となるコードのほとんどは、上記のコード以外のアップストリームとは異なります。

*:ほとんどの場合、ソースパッチはカーネルのデフォルトの動作に対する変更です。これらは、ブラックリスト、ビデオの奇抜なテーブル、ビルトインモジュール、まだLinusのツリーにないソースの変更、またはステーブルキューなどに限定されません。

ソースパッチは、特定のバージョンのUbuntu向けにリリースされた膨大なソフトウェアをサポートするために必要な構成オプションを導入するためにチームが使用するものです。多くの場合、これらのアプリケーションが適切に動作するために必要です。これとアップストリームカーネルの根本的な違いは、純粋なアップストリームカーネルがディストリビューション固有ではないことです。

したがって、構成は、特定のアプリケーションが期待どおりに動作することを保証することを目的としていません。これらの構成は、特定の事柄についてカーネルにそのレベルの変更可能性を提供するために存在します。さらに、癖を使用することで、特定の設定を必要とするカーネルの特定のハードウェアを特定できます。

これはLinuxの主要な機能の1つであり、長年にわたって非常に多くの多様なプラットフォームで実行できた理由の1つです。癖とソースパッチが互いに問題を引き起こす場合があります。これらの時間の間に、私たちは基礎となるカーネルの振る舞いの変更に伴う問題を軽減するために働きます。多くの場合、これらの変更は、修正を適切にコーディングし、実行内容を文書化し、変更をテストし、他のさまざまなテストとストレステストを行う必要があるため、リリース後までアップストリームになりません。

これらの場合、アップストリームに向かうパッチは、事前安定版やまだLinusのツリーにないパッチとほぼ同じ方法でソースパッチとして運ばれます。デルタレビュー仕様へのリンクは、Ubuntuカーネルの現在のNattyリリースでレビューされたもののリファレンスとして機能するはずです。

18
Jeremy Foshee

Linuxカーネルは常に開発中です。次のリリースをパッケージ化するとき、ある時点で、Ubuntuチームは「OK、現在のカーネルをそのまま使用します」と言う必要があります。現在の分布。

この場所 は興味深い読み物になる可能性がありますが、非常に技術的です。上流で料理をしているものと、現在見逃しているものを見つけることができるかもしれません(最終的には得られるでしょう)。

他のソフトウェアと同様に、カーネルはバグに陥りやすい傾向があり、リグレッションが発生することがよくあります(新しいものが追加されると古い機能が壊れます)。最近のカーネルは、新しい機能の点で私を本当に興奮させません。たとえば、2年前のカーネルを非常に喜んで実行していました。

2
boehj

Ubuntuのgitツリーをダウンロードし、グラフィカルビューアーを使用してgitツリーを表示できます。 Ubuntuのすべてのパッチが表示されます。 https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide

別の可能なオプションは、ubuntu-kernelメーリングリストを購読します。彼らの仕事はすべてそこに投稿されており、彼らが何をしているのかを知ることができます。しかし、それは高トラフィックであり、私見、迷惑です。 (しかし、それはtheirリストです)

0
user1974