特定のカーネルモジュールを構築する方法は?

特定のカーネルモジュールを構築する方法は?

公式Linuxカーネルリポジトリからカーネルソースコードをインストールしました(http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.bz2)、モバイルIPv6をサポートするために必要ないくつかのオプションを含む再コンパイルしました。一部のデータを暗号化するためのモジュールが必要ですが、私が構築した残りのモジュールの中にそのモジュールが見つかりませんでした。必要なモジュールは「echainiv」と「authenc」です。

ベストアンサー1

最初のステップは、モジュールを構築するためにどの設定オプションを設定する必要があるかを決定することです。私は使う

make menuconfig

したがって、/次の設定オプションは、それが見つかる場所とその依存関係が何であるかを示します。の場合は有効にしてから有効にするECHAINIV必要があります(モジュールとして、後で項目を表示する必要があるため、代わりに項目を表示する必要があります)。CRYPTOECHAINIVmake menuconfig<M><*>

モジュールをビルドするには、そのソースコードを含むディレクトリを見つけます。

find . -name echainiv\*

コードはにcryptoあるので

make crypto/echainiv.ko

(最上位ディレクトリから) このモジュールをビルドします。

モジュールをインストールするには、ターゲットカーネルを実行しているとし、以下を実行します。

sudo mkdir -p /lib/modules/$(uname -r)/kernel/crypto
sudo cp -i crypto/echainiv.ko /lib/modules/$(uname -r)/kernel/crypto

おすすめ記事