Confirmed this still exists in 22.04 (Jammy Jellyfish), with symptoms being SystemD booting always into "degraded" state because wdmd.service (Watchdog Multiplexing Daemon) will always fail due to missing watchdog kernel module(s).
Check this is the case with: sudo systemctl status sudo systemctl list-units --failed The solution suggested by @ishworgurung works to allow iTCO_wdt (and other watchdogs) to be loaded by the kernel during boot appropriately. Then, wdmd.service starts up successfully and SystemD enters successful "running" state (assuming all other SystemD services are working properly). However, every kernel package update will place another blacklist file in /lib/modprobe.d/blacklist_linux_$(uname -r).conf. So this is only a temporary workaround until these modules are not blacklisted by default. The blacklist files are part of linux-modules-$(uname -r) package(s). Therefore, this bug should be listed as also affecting Linux kernel source packages for Ubuntu. $ dpkg -S /lib/modprobe.d/blacklist_linux_*.conf linux-modules-5.15.0-74-generic: /lib/modprobe.d/blacklist_linux_5.15.0-74-generic.conf linux-modules-5.4.0-149-generic: /lib/modprobe.d/blacklist_linux_5.4.0-149-generic.conf # ^^ These packages own /lib/modprobe.d/blacklist_linux*.conf files $ apt-cache show linux-modules-$(uname -r) | grep -C5 Source: | sed -e 's/^/ /' Package: linux-modules-5.15.0-74-generic Architecture: amd64 Version: 5.15.0-74.81 Priority: optional Section: kernel Source: linux Origin: Ubuntu Maintainer: Ubuntu Kernel Team <kernel-t...@lists.ubuntu.com> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 123864 Depends: linux-image-5.15.0-74-generic | linux-image-unsigned-5.15.0-74-generic ## ^^ Part of Linux APT package(s) in Ubuntu -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1535840 Title: systemd ignoring /etc/modules due to blacklist Status in systemd package in Ubuntu: Opinion Bug description: I tried the daily build of 16.04 32-bit to test out the watchdog daemon code. Usually (Ubuntu 10.04-14.04) I add the watchdog module in /etc/modules so it is loaded at boot-time, as watchdog timer modules are not normally auto-loaded due to the risk of an unexpected reboot. However I now find that systemd is choosing to ignore my command to load the module in /etc/modules since it appears in the watchdog blacklist. Typical syslog entries look like this: Jan 19 16:46:14 ubuntu systemd-modules-load[337]: Module 'softdog' is blacklisted Jan 19 17:53:23 ubuntu systemd-modules-load[342]: Module 'softdog' is blacklisted This is just dumb! I have explicitly told the system to load the module, an action that works perfectly well using modprobe or by adding it to the start script for the watchdog, and yet systemd chooses to override that because of the blacklist for auto-loaded modules (in this case in /etc/modprobe.d/blacklist-watchdog.conf). $ lsb_release -rd Description: Ubuntu Xenial Xerus (development branch) Release: 16.04 $ apt-cache policy systemd systemd: Installed: 228-4ubuntu1 Candidate: 228-4ubuntu1 Version table: *** 228-4ubuntu1 500 500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages 100 /var/lib/dpkg/status What I expect to happen is modules added to /etc/modules are loaded at boot time, and not subject to the blacklist for hardware detect / automatic loading. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1535840/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp