各種カーネルバージョンのコンパイル

各種カーネルバージョンのコンパイル

特定のオペレーティングシステムソフトウェアライブラリに対して正常にコンパイルおよび実行できるカーネルバージョンのルールはありますか?

つまり、glibc、GTK、および他の多数のサポートソフトウェアの特定のバージョンを含むUbuntu 16.04を使用していると仮定すると、コンパイルすることはできません。どのこれらのサポートユーザー領域コンポーネントのほとんどは、特定のカーネルバージョンによって異なります。カーネルバージョンをダウンロードして実行してください。それでは基本的なルールはありますか?たとえば、マイナーリリースでは大丈夫です。

ベストアンサー1

Linuxカーネル管理者は、以前のバージョンとの互換性を非常に重要に考えています。システムが特定のバージョンのカーネルで実行されている場合は、最新バージョンでも実行する必要があります。 Ubuntu 16.04 はカーネル 4.4.0 に付属しているので、4.4.0 よりも最新のバージョンであればすべて動作します。

最新のカーネル機能に依存するソフトウェアはあまりありません。 libcといくつかのシステムユーティリティを除いて、ほとんどのソフトウェアはカーネルと直接対話せずにlibcを介して対話します。一部のシステムは再起動せずに長期間実行を続ける必要がありますが、人々は最新のソフトウェア(通常は重要で非常に重要でアップグレードされていないインストールのルートで)を実行したいので、libcはしばしば最新のカーネルバージョンを必要としません。 Ubuntu 16.04に含まれるglibc 2.232.6.32より前のLinuxカーネルを許可します。ほとんどのUbuntu 16.04ソフトウェアはこれらの古いカーネルで実行する必要がありますが、一部のシステムソフトウェア(systemdやudevなど)には最新のカーネルが必要です。v229、少なくとも3.11が必要です。

これらはすべてユーザーレベルのソフトウェアにのみ適用されます。サードパーティのドライバをコンパイルする必要がある場合は、直接コンパイルする必要があります。内部カーネルAPIは頻繁に変更されます。

おすすめ記事