Linuxカーネルのライブラリルーチン

Linuxカーネルのライブラリルーチン

Linuxカーネルには「ライブラリルーチン」セクションがあり、その一部は次のとおりです。

Library routines  --->
  <M> CRC-CCITT functions
  <M> CRC ITU-T V.41 functions
  <M> CRC7 functions
  <M> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check
  <M> CRC8 function
  ...
  ...

ほとんどのオプションを「モジュール」にコンパイルしますが、モジュールはロードされません。このモジュールはどの用途に使用され、どのような場合に必要かを知りたいです。

カーネル構成ヘルプはそれほど有益ではありません。

This option is provided for the case where no in-kernel-tree
modules require <XYZ> functions, but a module built outside
the kernel tree does. Such modules that use library  <XYZ>
functions require M here.

答え1

CCITTは「Comité Consultatif International Téléphonique et Télégraphique」の略で、ITUは「International Telecommunication Union」の略です。このモジュールは電話モデム接続(エラー修正)に関連しています。

(通常は実際のハードウェアシリアルポートを介して通信する)古い高度なモデムもCRC自体のようなタスクを実行するため、これらのモジュールは処理の大部分がCPUによって実行される低コストのハードウェア用であると推測されます。 、いわゆるソフトモデム

したがって、単純なモデムハードウェアを持って使用しない限り、カーネルがこれらのモジュールをロードする可能性はほとんどありません。

答え2

これらのルーチンが必要なドライバーまたはモジュールをアクティブにすると、そのルーチンは自動的に強制されます。これらのオプションのいずれかを無効にできる場合は、カーネルにそのオプションが必要ないため、そのオプションはロードされません。

しかし、すべてのドライバがカーネルから出てくるわけではありません。一部の外部パッケージはカーネルモジュール(バイナリnvidiaドライバなど)もインストールします。これらの特定のライブラリルーチンが必要な場合は、直接アクティブにする必要があります。を使用して、ツリー外のドライバがどのモジュールに依存しているかを確認できますlsmod

外部モジュールを取り付けないと、すべての外部モジュールを無効にできます。

関連情報