linux – 覆盖modprobe.d黑名单

我使用的是Ubuntu 18.04.我正试图在启动时加载模块;有问题的模块是iTCO_wdt.有关将内核模块列入黑名单的问题很多,但我试图将其列入白名单.

以下是我尝试在启动时加载模块的步骤:

>将iTCO_wdt添加到/ etc / modules(符号链接到/etc/modules-load.d/modules.conf)
>在/etc/modprobe.d/blacklist-watchdog.conf中评论黑名单iTCO_wdt一行

我认为这已经足够了,但是syslog仍然显示该模块被列入黑名单:

 

systemd-modules-load[331]: Module 'iTCO_wdt' is blacklisted
复制代码

经过一番调查后,我发现该模块还被列入/lib/modprobe.d中几个维护者安装的黑名单文件的黑名单:

 

$grep -l 'blacklist iTCO_wdt' /lib/modprobe.d/*
/lib/modprobe.d/blacklist_linux_4.15.0-20-generic.conf
/lib/modprobe.d/blacklist_linux_4.15.0-23-generic.conf
复制代码

我发现每个文件确实会影响modprobe行为,这是令人惊讶的,因为当linux_4.15.0.23-generic是当前内核时,我不希望linux_4.15.0.20-generic.conf文件影响机器的行为.

在每个文件中注释掉黑名单iTCO_wdt行并重新启动后,模块会自动加载,这是所需的行为.

所以,正如我所看到的,即使它被/lib/modprobe.d文件列入黑名单,我也可以通过几种方式加载模块:

>手动注释掉每个文件中的黑名单iTCO_wdt行
>在我自己的脚本中加载模块,该脚本在启动时运行

问题是未来的更新可能会安装新的/lib/modprobe.d黑名单文件,这可能会重新将黑名单列入iTCO_wdt.考虑到这一点,似乎我最好的选择是最后一个,虽然我真的不喜欢它,因为它依赖于我自己的脚本而不是内置的模块加载系统.

考虑到每次内核更新后我都不想编辑/lib/modprobe.d文件,在模块加载系统中将iTCO_wdt模块永久列入白名单的最佳方法是什么?

最佳答案

实际上它的initrd(ramdisk)也阻止了它.您还需要更新ramdisk中的黑名单conf:

$sudo update-initramfs -u

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值