Kmod 软件包包含用于加载内核模块的库和工具。
准备编译 Kmod:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-openssl \ --with-xz \ --with-zstd \ --with-zlib \ --disable-manpages
配置选项的含义:
--with-openssl
该选项允许 Kmod 处理内核模块的 PKCS7 数字签名。
--with-xz
,--with-zlib
,以及 --with-zstd
这些选项允许 Kmod 处理压缩过的内核模块。
--disable-manpages
该选项禁止生成手册页,因为生成手册页需要不属于 LFS 的程序。
编译该软件包:
make
该软件包的测试套件需要内核的原始头文件 (不是之前安装的 “净化的” 内核头文件),原始头文件超出了 LFS 的范畴。
安装该软件包,并重新创建一些用于和 Module-Init-Tools (曾用于处理 Linux 内核模块的软件包)
相兼容的符号链接。构建系统会将所有兼容性符号链接创建在 /usr/bin
中,但我们只希望 lsmod
位于该目录,而其他符号链接应该位于 /usr/sbin
中:
make install for target in depmod insmod modinfo modprobe rmmod; do ln -sfv ../bin/kmod /usr/sbin/$target rm -fv /usr/bin/$target done