私の考えでは、独自の Linux カーネルをコンパイルすることで実際に得られる唯一の利点は次のとおりです。
独自の Linux カーネルをコンパイルする方法を学びます。
必要ではない より多くの速度/メモリ/ xxxのために行うことは何でも。それがあなたの発達段階にあると感じている場合、それは価値のあることです.この「オープンソース」全体が何であるか、カーネルのさまざまな部分がどのように、どのようなものであるかについて、より深く理解したい場合は、試してみてください。起動時間を 3 秒短縮したいだけなら... なんということでしょう... SSD を購入してください。興味があり、学習したい場合は、独自のカーネルをコンパイルすることは素晴らしいアイデアであり、多くのことを得ることができるでしょう。
そうは言っても、独自のカーネルをコンパイルすることが適切な特定の理由がいくつかあります(他の回答で何人かが指摘しているように)。通常、これらは特定の結果に対する特定のニーズから生じます。たとえば、次のようになります。
- リソースが限られているハードウェアでシステムを起動/実行する必要があります
- パッチをテストして、開発者にフィードバックを提供する必要があります
- 競合を引き起こしているものを無効にする必要があります
- Linux カーネルを開発する必要がある
- サポートされていないハードウェアのサポートを有効にする必要があります
- システムの現在の限界に達しているため、x のパフォーマンスを改善する必要があります (そして、自分が何をしているのかを知っています)
問題は、すべてが正常に機能しているときに独自のカーネルをコンパイルすることには本質的な利点があると考えていることにありますが、私はそうは思いません。必要のないものを無効にしたり、調整可能なものを微調整したりするのに数え切れないほどの時間を費やすことはできますが、実際には、Linux カーネルは (ディストリビューションによって) ほとんどの 用に既にかなりよく調整されています。 ユーザーの状況。
ほとんどのユーザーは、独自のカーネルをコンパイルする必要はありません。ディストリビューションがこの作業を行っています。通常、ディストリビューションには、ディストリビューションの動作方法の特定の部分と統合するための一連のパッチ、デバイス ドライバーのバックポート、および新しいがリリースされていないカーネルのバージョンからの修正、またはユーザーと一緒に開拓している機能のいずれかが含まれます。
独自のカーネルをコンパイルする場合、いくつかのオプションがあります。公式の Linus Torvalds カーネルをコンパイルすることができます。これには、ディストリビューションによって追加されたパッチやカスタマイズが含まれません (良い場合も悪い場合もあります)。ディストリビューション再構築ツールを使用して独自のカーネルを構築してください。
カーネルを再構築する理由は次のとおりです。
- バグにパッチを当てたり、特定の機能を本番システムに追加したりします。1 回か 2 回の修正のためにカーネル全体をアップグレードする危険を実際に冒すことはできません。
- 特定のデバイス ドライバまたは新機能を試す
- カーネルを拡張するには、それに取り組みます
- 「アルファ」モジュールまたは機能の一部をテストする
多くの開発者は、特別なデバイス ドライバが必要な場合や不要な機能を削除したい場合に、組み込みシステムやセットトップ ボックス用のカーネルのカスタム バージョンを作成するためにも使用します。
カーネルを自分でコンパイルすると、コンピューターに関連する部分のみを含めることができるため、特に起動時に、カーネルが小さくなり、潜在的に高速になります。汎用カーネルには、可能な限り多くのハードウェアのサポートを含める必要があります。起動時に、どのハードウェアがコンピュータに接続されているかを検出し、適切なモジュールをロードしますが、それをすべて行うには時間がかかり、コードをカーネルに直接焼き込むのではなく、動的モジュールをロードする必要があります。コンピューターに CPU が 1 つしかない場合に 400 の異なる CPU をカーネルがサポートする理由はありません。または、Bluetooth マウスがない場合に Bluetooth マウスをサポートする理由はありません。解放できるスペースはすべて無駄です