linux44 -> linux48 -> linux44 = unhappy systemd

Hi,

today I’ve encountered a strange error. I realised that I can upgrade to linux48 so I decided to try it out. You know how it is when you have a perfectly working system and trying out new things… :slight_smile:

I found out that the network driver I’m using seems not so reliable anymore so I wanted to switch back to linux44. And oops, systemd is totally unhappy about it.

During the boot I can see there has been a problem.

systemctl --failed says:

UNIT LOAD ACTIVE SUB DESCRIPTION
● sddm.service loaded failed failed Simple Desktop Display Manager
● systemd-modules-load.service loaded failed failed Load Kernel Modules

LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.

2 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use ‘systemctl list-unit-files’.

Nice. Furthermore, systemctl --status systemd-modules-load.service:

Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2016-10-31 22:52:58 AEST; 1min 9s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 171 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
Main PID: 171 (code=exited, status=1/FAILURE)

/etc/modules-load.d/mhwd-gpu.conf:

Generated by mhwd - Manjaro Hardware Detection

nvidia

and finally, dmesg:

nvidia: disagrees about version of symbol module_layout

Same happens for the other two modules (8168 and vboxdrv) is I install them. If I switch back to linux48 kernel, everything is fine.

I don’t understand it – I haven’t changed anything and yet it seems some upgrade script has modified a systemd config / setting so it expects 4.8.x modules only.

Any ideas how to revert it back so 4.4 modules are happily loaded?

Unfortunatly. Linux48 is completely broken for me as well. On my Intel I3 systems I get a kernel panic and had to return to linux44 or linux47 on them. There are quite a few bug reports about Linux 4.8 breaking things in the Manjaro:
https://bugs.manjaro.org/

Did you use mhwd-kernel to handle the installion and removal of these kernels?

Uhm, now that I slept it over I remember one minor “detail”. I did temper with /lib/modules//build, to be precise, I deleted the build directory for all kernels. :wink: /I wanted to get rid off one driver, yeah, very stupid/

So it’s possible the reason why I’m building kernel modules for linux48 only might be some kind of fallback or so.

Any idea how to repair it? I thought re-installing linux44/linux48 packages would do the job but it seems it doesn’t.

You can’t just install the kernel packages, you need to use mhwd-kernel so that the additional drivermodule packages, etc, are installed as well.
https://wiki.manjaro.org/index.php?title=Manjaro_Kernels