Gentooを使ったことがある人なら、このLinuxディストリビューションがプリコンパイル済みのバイナリを使用しないため、非常にカスタマイズ性が高いことをご存知でしょう。つまり、ユーザー自身がシステムをコンパイルする必要があるため、他のディストリビューションに比べて大きな利点があります。コンピュータのコンポーネントに合わせてビルドできるため、よりスムーズでパフォーマンスの高い動作を実現できるのです。
Portageは、依存関係管理、管理者の好みに合わせたパッケージの精密な調整、OpenBSDスタイルのダミーインストール、コンパイル時のサンドボックス化、安全なアンインストール、システムプロファイル、仮想パッケージ、構成ファイル管理、同じパッケージの異なるバージョン用の複数のスロットなど、高度な機能を実装しているからです。
しかし現在、状況は変わりつつある。Gentooの開発者たちは、コンパイル時に手動設定を必要とせず、従来のバイナリディストリビューションで提供されるカーネルパッケージと同様の汎用Linuxカーネルパッケージを提供する可能性について議論しているからだ。
Gentooで行われているカーネルパラメータの手動調整を使用する際に発生する問題の一例として、アップグレード後の動作を保証する統一されたデフォルトオプションのセットが欠如していることが挙げられます(手動で設定した場合、カーネルが起動しない、または障害が発生した場合、問題の原因がパラメータ設定の誤りによるものなのか、カーネル自体のバグによるものなのかが明確ではありません)。
カーネルを取得する従来のGentooの方法は、ソースをインストールしてから、自分で構成してビルドすることです。 手動で設定するという面倒なプロセスを経たくない人のために、genkernelを使用するための代替ルートが提供されました。 ただし、これらのバリアントはいずれも、バイナリディストリビューションによって提供されるコアと同等のものを実際に提供することはできませんでした。
開発者たちは、最小限の手間でインストールできる、すぐに使える明らかに機能的なカーネルを提供することを意図しており(他のパッケージと同様の方法で構築されたebuildのようなもの)、パッケージマネージャーが通常のシステムアップデートの一環として自動的に更新するようにする予定です。
現在、主要なカーネルソースに基づいてsys-kernel/vanilla-kernelパッケージが既に提案されており、これは従来利用可能だったビルドスクリプトに、一般的なgenkernelオプションのセットを追加するものです。
カスタムカーネルの古い伝統からユニバーサルカーネルパッケージへの変更を正当化する必要がある場合は、最初にカスタムカーネルを構成する理由について説明することから始める必要があります。
バニラカーネルパッケージは今のところソースコードからのアセンブル(ebuildの形式で提案されている)のみを対象としているが、バイナリカーネルアセンブリを生成する可能性についても議論されている。
主な反論は努力です。 上で述べたように、私は個人的に自分のカーネルを手動で処理しなければならないことにうんざりしていました。 言及された潜在的な利益は、カスタムカーネルのセットアップと保守における人的時間の損失を上回りますか?
カーネルを手動で調整する利点としては、パフォーマンスの調整、コンパイル時の不要なコンポーネントの削除、コンパイル時間の短縮、生成されるカーネルのサイズの縮小などが挙げられます(例えば、提案者のカーネルはモジュールを含めて44MBですが、汎用カーネルは294MBになります)。
欠点としては、設定時にミスをしやすいこと、アップデート時に問題が発生する可能性があること、互換性の問題、問題の診断が難しいことなどが挙げられます。
バイナリビルドの提供が検討されているのは、ユニバーサルカーネルはそのサイズが大きいためコンパイルに非常に時間がかかり、完成したカーネルを提供することで低電力システムのユーザーの利便性が向上するからである。
これは現時点では単なる「アイデア」に過ぎないものの、 Gentooの開発者たちはその可能性を否定しておらず、議論を進めている。一方、ユーザーの意見はすでに分かれている。
さらに詳しく知りたい場合は、以下のリンクから元の記事を参照してください。