メインLinuxカーネルとUbuntuで使用されているカーネルの機能セットの違いは何ですか?メインカーネルを直接使用するのではなく、メインカーネルからUbuntuが分岐するのはなぜですか?
メインLinuxカーネルとUbuntuで使用されているカーネルの機能セットの違いは何ですか?メインカーネルを直接使用するのではなく、メインカーネルからUbuntuが分岐するのはなぜですか?
回答:
アップストリームカーネル(メインラインカーネルとして提供される場合に参照)は、指定されたバージョンの単なるアップストリームカーネルであり、Ubuntuインストールでそれらを使用する際の問題が最小限になるように、ごくわずかな構成変更が追加されています。
これらのカーネルとUbuntuバージョン用にリリースされたカーネルの違いは、他の多数の構成変更、ソースパッチ*、および場合によってはモジュールとハードウェアサポートでコンパイルされていることです。
基礎となるコードのほとんどは、上記のコード以外のアップストリームとは異なります。
*:ほとんどの場合、ソースパッチはカーネルのデフォルトの動作に対する変更です。これらは、ブラックリスト、ビデオの奇抜なテーブル、ビルトインモジュール、まだLinusのツリーにないソースの変更、またはステーブルキューなどに限定されません。
ソースパッチは、特定のバージョンのUbuntu向けにリリースされた膨大なソフトウェアをサポートするために必要な構成オプションを導入するためにチームが使用するものです。多くの場合、これらのアプリケーションが適切に動作するために必要です。これとアップストリームカーネルの根本的な違いは、純粋なアップストリームカーネルがディストリビューション固有ではないことです。
したがって、構成は、特定のアプリケーションが期待どおりに動作することを保証することを目的としていません。これらの構成は、特定の事柄についてカーネルにそのレベルの変更可能性を提供するために存在します。さらに、癖を使用することで、特定の設定を必要とするカーネルの特定のハードウェアを特定できます。
これはLinuxの主要な機能の1つであり、長年にわたって非常に多くの多様なプラットフォームで実行できた理由の1つです。癖とソースパッチが互いに問題を引き起こす場合があります。これらの時間の間に、私たちは基礎となるカーネルの振る舞いの変更に伴う問題を軽減するために働きます。多くの場合、これらの変更は、修正を適切にコーディングし、実行内容を文書化し、変更をテストし、他のさまざまなテストとストレステストを行う必要があるため、リリース後までアップストリームになりません。
これらの場合、アップストリームに向かうパッチは、事前安定版やまだLinusのツリーにないパッチとほぼ同じ方法でソースパッチとして運ばれます。デルタレビュー仕様へのリンクは、Ubuntuカーネルの現在のNattyリリースでレビューされたもののリファレンスとして機能するはずです。
Linuxカーネルは常に開発中です。次のリリースをパッケージ化するとき、Ubuntuチームはある時点で「OK、現在のカーネルをそのまま使用します」と言う必要があります。現在の分布。
この場所は興味深い読書になりますが、非常に技術的なものになる可能性があります。上流で料理をしているものと、現在見逃しているものを見つけることができるかもしれません(最終的には得られるでしょう)。
他のソフトウェアと同様に、カーネルはバグが多い傾向があり、回帰が発生することがよくあります(新しいものが追加されると古い機能が壊れます)。最近のカーネルは、新しい機能の点で私を本当に興奮させません。たとえば、2年前のカーネルを非常に喜んで実行していました。
Ubuntuのgitツリーをダウンロードし、グラフィカルビューアーを使用してgitツリーを表示できます。Ubuntuのすべてのパッチが表示されます。 https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide
別の可能なオプションは、ubuntu-kernelメーリングリストを購読します。彼らの仕事はすべてそこに投稿されており、彼らが何をしているのかを知ることができます。しかし、それは高トラフィックであり、私見、迷惑です。(しかし、それは彼らのリストです)