I installed a kernel source from the official Linux kernel repository (http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.bz2) and I recompiled it with some needed options to support the mobility IPv6. When I needed a module to encrypt some data I didn't find it among the rest of the modules already built. The modules that I need are: "echainiv" and "authenc".

1 Answer 1


The first step is to determine what configuration options you need to set in order for the module to build. I use

make menuconfig

for that; / followed by the configuration option you want will tell you where to find it and what its dependencies are. For ECHAINIV, you need to enable CRYPTO and then enable ECHAINIV (as a module since that’s what you’re after — in make menuconfig, the entry must show <M>, not <*>).

To build the module, look for the directory containing the corresponding source code:

find . -name echainiv\*

The code lives in crypto, so

make crypto/echainiv.ko

(from the top-level directory) will build the module for you.

To install the module, assuming you’re running the target kernel, run

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .