Error booting kernel 6.10.3

Hi,
Updated the Kernel on my surface go 1 today and i am unable to boot the 6.10.3 kernel. The 6.9.12 and 6.9.11 have no problems.

When I remove the quit grub argument i see the following error:

Run /init as init process
/init: error while loading shared libraries: libsystemd-core-255.10-3.fc40.so: Cannot open shared object file: No such file or directory
Kernel panic - not syncing: attempted to kill init! exitcode=0x00007f00

The libsystemd-core-255.10-3.fc40.so file exists at /usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so

Ran ldd on it:

ldd /usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so

	linux-vdso.so.1 (0x00007f8c7b6ee000)
	libsystemd-shared-255.10-3.fc40.so => not found
	libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f8c7b69c000)
	libkmod.so.2 => /lib64/libkmod.so.2 (0x00007f8c7b67f000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f8c7b31c000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007f8c7b2cc000)
	libseccomp.so.2 => /lib64/libseccomp.so.2 (0x00007f8c7b65d000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f8c7b29f000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8c7b271000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f8c7b080000)
	libcap-ng.so.0 => /lib64/libcap-ng.so.0 (0x00007f8c7b654000)
	libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f8c7afc1000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f8c7af8e000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f8c7af6d000)
	libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f8c7aa00000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8c7b6f0000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f8c7af33000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f8c7a960000)

The libsystemd-shared-255.10-3.fc40.so exists in /usr/lib64/systemd but not /usr/lib64

I manually created the symlink but booting 6.10.3 still fails with the same error.

Any help would be appreciated.

I have the same missing module but my system booted okay:

ldd /usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so
	linux-vdso.so.1 (0x00007f1c2f232000)
	libsystemd-shared-255.10-3.fc40.so => not found
	libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f1c2f1e9000)

Edit: file does exist on disk:

ls -la /usr/lib64/systemd/libsystemd-shared-255.10-3.fc40.so
-rwxr-xr-x. 1 root root 4349608 Aug  5 02:00 /usr/lib64/systemd/libsystemd-shared-255.10-3.fc40.so

A quick check shows this.

 # dnf provides */libsystemd-core-255.10-3.fc40.so
Last metadata expiration check: 0:02:48 ago on Fri 09 Aug 2024 01:02:29 PM CDT.

systemd-255.10-3.fc40.x86_64 : System and Service Manager
Repo        : @System
Matched from:
Filename    : /usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so

systemd-255.10-3.fc40.x86_64 : System and Service Manager
Repo        : updates
Matched from:
Filename    : /usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so

Possibly a reinstall of the systemd package would solve the issue.
sudo dnf reinstall systemd-255.10-3.fc40.x86_64

It looks like the modules are loaded in initramfs, so fixing the symlink might not be enough:

Aug 09 19:31:51 fedora dracut[1689]: -rwxr-xr-x   1 root     root      2358320 Jul 13 02:00 usr/lib64/systemd/libsystemd-core-255.10-3.fc40.so
Aug 09 19:31:51 fedora dracut[1689]: -rwxr-xr-x   1 root     root      4349608 Jul 13 02:00 usr/lib64/systemd/libsystemd-shared-255.10-3.fc40.so

(i don’t know enough about Dracut to provide any meaningful help here…)

maybe the issue was that i was upgrading systemd and the kernel in the same transaction and things and the new systemd was not set up correctly yet when the new initramfs was created?

That’s a good call, that might be the cause yes.

@litemotiv Thank you so much for the hint.

I regenerated the initramfs with

dracut --kver 6.10.3-200.fc40.x86_64 --force

and was able to boot successfully.

3 Likes