なぜサーバーで別のカーネルソースを使用するのですか?

なぜサーバーで別のカーネルソースを使用するのですか?

私はLinuxカーネルの開発が初めてです。システムコールを作成し、カーネルをコンパイルする作業があります。このタスクでは、サーバー上の他のカーネルソース(kernel.orgなど)を使用する必要があります。これがなぜ必要なのか知りたいです。ネイティブカーネル(実行中のOSのデフォルトカーネル)を直接コンパイルできますか?

答え1

あなたを混乱させる2つのことがあります:

  • カーネルの実行(システムに電力を供給する)
  • カーネルを構築するために使用できるカーネルソースコード。

実行中のカーネルは通常、圧縮されたバイナリとして配布されます。通常は/bootシステムディレクトリにあり、linuxソフトウェアパッケージの一部として配布されます。

カーネルの構築に使用されるLinuxソースコードは独立しており、通常は別々のパッケージにあります。たとえば、Ubuntuはこれを次の場所に配布します。linux-sourceパック。パッケージをダウンロードすると、これはカーネルソースコードのリパッケージにすぎず、作業に直接使用できることがわかります。

関連情報