输入命令 make menuconfig后,出现内核配置选项图一。
make menuconfig
本文主要转载了Enable loadable module support部分,详细的整个内核配置选项见参看文档Linux内核配置选项 - zengkefu - 博客园。
Enable loadable module support可加载模块支持
Enable loadable module support
CONFIG_MODULES打开可加载模块支持,可以通过"make modules_install"把内核模块安装在/lib/modules/中.然后可以使用 modprobe, lsmod, modinfo, insmod, rmmod 等工具进行各种模块操作.
Forced module loading
CONFIG_MODULE_FORCE_LOAD允许使用"modprobe --force"在不校验版本信息的情况下强制加载模块,这绝对是个坏主意!建议关闭.
Module unloading
CONFIG_MODULE_UNLOAD允许卸载已经加载的模块Forced module unloading
CONFIG_MODULE_FORCE_UNLOAD允许强制卸载正在使用中的模块(rmmod -f),即使可能会造成系统崩溃.这又是一个坏主意!建议关闭.
Module versioning support
CONFIG_MODVERSIONS允许使用为其他内核版本编译的模块,可会造成系统崩溃.这同样是个坏主意!建议关闭.
Source checksum for all modules
CONFIG_MODULE_SRCVERSION_ALL为模块添加"srcversion"字段,以帮助模块维护者准确的知道编译此模块所需要的源文件,从而可以校验源文件的变动.仅内核模块开发者需要它.
Module signature verification
CONFIG_MODULE_SIG在加载模块时检查模块签名,详情参见"Documentation/module-signing.txt"文件.[!!警告!!]开启此选项后,必须确保模块签名后没有被strip(包括rpmbuild之类的打包工具)
.Require modules to be validly signed
CONFIG_MODULE_SIG_FORCE仅加载已签名并且密钥正确的模块,拒绝加载未签名或者签名密钥不正确的模块
Automatically sign all modules
CONFIG_MODULE_SIG_ALL在执行"make modules_install"安装模块的时候,自动进行签名.否则你必须手动使用 scripts/sign-file 工具进行签名.
Which hash algorithm should modules be signed with?选择对模块签名时使用的散列函数.建议使用强度最高的"SHA-512"算法.注意:所依赖的散列算法必须被静态编译进内核.对于"SHA-512"来说,就是CONFIG_CRYPTO_SHA512和CONFIG_CRYPTO_SHA512_SSSE3(如果你的CPU支持SSSE3指令集的话).