Skip to main content

Linux kernel not booting

·818 words·4 mins
Gabriel Guzmán
Author
Gabriel Guzmán
A regular human. (he/him)
This is the first post in a new category “Debug Logs.” Usually, when I run into a problem with my computer I start a file like this one, where I describe the problem and then start researching what the issue might be. These won’t be as polished as my regular posts, since I don’t really know what I’m doing as I’m trying to figure out the problem.

2025-01-06
#

After updating (dnf update, or maybe topgrade) to a recent Linux kernel, I was unable to boot my laptop. I got the following error:

error: ../../grub-core/fs/fshelp.c:257:file
'/initramsf-6.8.11-300.f40.x86_64.img' not found.

(or similar, this was from a forum post)

There seems to be a bug when the initramfs file for the new kernel is created after a dnf update.

Here’s a discussion I found

But turned into a dead end, as I had plenty of space.

Found this bug

I think some of the older modules I installed to get DisplayLink working are the root cause of the issue, but I haven’t had the time to dig deeper into that. For now there is a workaround in the following forum post

sudo dracut -f --regenerate-all

Which apparently recreates any missing initramfs files for installed kernels.

This is way above my paygrade, so I’m just happy this works. I guess I’ll have to do this manually until the bug above is fixed.

2025-03-22 Sat 09:19 PM
#

Update, this seems to happen when I use topgrade, so maybe I should not be using that in the future and just use dnf update.

2025-04-15 Tue 12:03 PM
#

The last update was wrong, it happens with dnf update as well. I see these warnings when dnf update runs dracut

dracut[W]: If you need to use bluetooth, please include it explicitly.

Lookup to see what that’s about.

2025-08-01 Fri 06:37 PM
#

Another update, I think I managed to fix the issue. It seems like it was related to the displaylink package that I’d installed. One of the dependencies, a kernel module called evdi was installed improperly, or had broken somewhere down the line. I kept seeing error messages like this when I’d run dracut -f:

evdi/1.14.4 is broken! Missing the source directory or the symbolic link pointing to it.
Manual intervention is required!

I’d also see some strange errors when running dkms status which is apparently the linux command for listing kernel modules. evdi was showing as having errors with multiple different versions. It was similar to what I’d see when running dracut -f to fix the issue with initramfs.

I’m not as comfortable in linux as I am in OpenBSD, so I wasn’t quite sure what was going wrong, but I did some more internet searching and found a few pointers that suggested I needed to remove the offending module, but running the command that was suggested dkms remove evdi didn’t work.

This post on the Manjaro forums gave me a few extra pointers though, it was asking to see the directory listings for a bunch of paths, and when I checked those on my system I found a bunch of broken symlinks, which seemed to line up well with what the error message was telling me. The post asks for the output of the /var/lib/dkms/evdi directory. When I did that I saw several broken symlinks like the ones below:

$ tree /var/lib/dkms/evdi/
/var/lib/dkms/evdi/
├── 1.14.10
│   ├── 6.15.6-200.fc42.x86_64
│   │   └── x86_64
│   │       ├── log
│   │       │   ├── auto.conf
│   │       │   └── make.log
│   │       └── module
│   │           ├── evdi.ko.xz
│   │           └── Module.symvers
│   ├── 6.15.8-200.fc42.x86_64
│   │   └── x86_64
│   │       ├── log
│   │       │   ├── auto.conf
│   │       │   └── make.log
│   │       └── module
│   │           ├── evdi.ko.xz
│   │           └── Module.symvers
│   └── source -> /usr/src/evdi-1.14.10
├── kernel-6.15.6-200.fc42.x86_64-x86_64 -> 1.14.10/6.15.6-200.fc42.x86_64/x86_64
└── kernel-6.15.8-200.fc42.x86_64-x86_64 -> 1.14.10/6.15.8-200.fc42.x86_64/x86_64

The bottom two lines kernel… I had several of those, but except for these two, they were all broken links. I’m not sure why or how, but apparently something had gone wrong with the install of this evdi module. I did a bit more research to see if it was ok to just delete the broken symlinks as I did still appear to have a few that were working. It seemed like it wouldn’t make things worse, so I deleted them, and then re-ran dkms status and now I didn’t see the errors.

We’ll have to wait until the next time I run dnf upgrade to upgrade the kernel to see if it’s able to complete the install process from now on, but it looks promising.

For whatever reason, it seems like the broken symlinks were causing whatever script calls dracut during the dnf upgrage process was causing dracut to not complete (or not run at all, not sure).

I’m not seeing any error messages anymore, so I think I may have finally tracked this issue down.

Reply by Email