Older systems won't boot newer kernels

I have an old Dell Poweredge T105 which has been happily running Fedora for ages. It now will not boot the latest kernel 6.15.3 although does boot the previous 6.14.11.
This has also happened with 2 ASUS M2V-MX SE based systems and earlier kernels.
I have filed bugs for the latter on bugzilla but had no response so far. All are running with dnf exclude=kernel* set but I would like to resolve properly if possible.

What error do you see what booting the 6.15 kernel?
Can you link to the bug report please?

System halts early in the boot process. No journal is created.
I have managed to get the Dell system to boot 6.15.3 by installing dkms
but not entirely sure why this helped. It did not work on the the Asus systems.

The key information is just of the top of your screen.
Not sure how you can get to see the start of the kernel panic.

Rats! 'tried using pause/break key but no use.
I spoke too soon about the T105. It still isn’t happy
but gets past the early crash. I’ll go back to the
previous config to see if there are any more clues in
the output.

Try taking a video with your phone

Good idea! 'will try that.

Does this system still have a rs232 serial connector? Then boot with serial console and you’ll see all messages on another system.

Thanks for all the suggestions.
Video not clear at 30fps so will try 60fps.
It’s been years since I used an rs232 terminal connection.
How do I set this up. if nec?


I think this is the output before the final screen. I don’t see any kernel panic or anything
else untoward in here…

kernel: Trying to unpack rootfs image as initramfs... means the boot went far enough to start adding journal entries. Try journalctl --no-hostname -b [N] -p [priority]. There are lots of “filter” options to help select just relevant details from the massive amount of detail in the journal. If you have never used journalctl, see: journalctl Command in the Linux Handbook.

Before retiring I worked with scientists from developing countries using a niche application that required a POSIX command-line environment (e.g., linux or macOS). Many users relied on old “unloved and unwanted” PC’s they rescued from their institutions storage closet. In general, older systems are prone to hardware problems. Due to large enterprises dumping both old systems that don’t support Enterprise Windows 11 as well as reducing staff, there are good prices for “reconditioned” systems originally sold with Windows 10. Use the LHDB to see how linux works on systems offered for sale.

All previous journal entries are for the older kernel. There are none for the 6.15.3 boots…

1 Like

there are still lots of line missing between this and the final screen.

because kernel crashes very early. it had no chance to mount the root fs and update the journal

serial console, have not tried this in a very long time, search for the console= parameter

EDIT:
this system should have an AMD CPU and an older ATI/AMD GPU
and such systems were hit by a recent firmware upgrade, but usually this are newer systems with more modern GPUs.

Could you try this, boot a 6.14 kernel and downgrade amd ucode and gpu firmware.

assuming this is Fedora 42:
this will install the updates-archive repository and reconfigure it as disabled

sudo dnf install fedora-repos-archive
sudo dnf config-manager setopt updates-archive.enabled=0

the next step will downgrade to the previous AMD firmware and ucode release (May 2025)

sudo dnf downgrade  amd-gpu-firmware-20250509-1.fc42 \
amd-ucode-firmware-20250509-1.fc42  --enable-repo=updates-archive

recreate the initramfs for kernel 6.15.3

sudo dracut --kver=6.15.3-200.fc42.x86_64 --force

reboot

for Fedora 41 replace fc42 with fc41 and in the dracut line change -200.fc42 to -100.fc41

ok. I tried this. All ok until the last part. dracut needed ALLOW_MODDIR=1 in its config
and could not find the modules directory so I had to add a “-k” parameter.
All this overwrote the 6.14.11 initrd because that was the running kernel version.
(I thought I was supposed to be doing this for 6.15.3, so I added that initrd name as well
and a new 6.15.3 initrd was created. Neither of these will boot the system, breaking just after
the vconsole setup. I think this might be where the rootfs is mounted?
I have tried booting with a fc41 live USB and recreating the initrds but to no avail…

what fedora version are you using?

dracut --kver 6.15.3-200.fc42.x86_64 --force 

recreates the initramfs for kernel 6.15.3 on F42.
don’t you have a 3rd kernel 6.14.9 available or the rescue kernel?

and it works the same with F41 Workstation

# uname -r
6.11.4-301.fc41.x86_64
# dracut --kver=6.15.3-100.fc41.x86_64 
dracut[F]: Will not override existing initramfs (/boot/initramfs-6.15.3-100.fc41.x86_64.img) without --force
# dracut --kver=6.15.3-100.fc41.x86_64 --force 
# echo $?
0

live USB: you need to perform the steps described here How to Reset the root Password :: Fedora Docs and The GRUB2 Bootloader – Installation and Configuration :: Fedora Docs
after chroot you should be able to run the dracut command.

I am running fc42 with installonly_limit=2.
rescue kernel would not boot with an error like “you need to load the kernel first” or somesuch…
Is there a way to get this to boot?
For live USB, why do I need to change root password and install grub, chroot etc?
I have sudo rights already?

I have the system running in rescue mode now.
How should I proceed?

you don’t need to change pw or install grub, but the steps for mounting filesystems and chroot are necessary.

first try again dracut with --kver
If that does not work then add the -k option (this is usually not required, so something may be off with your setup i.e old stale dracut config files?

dracut --kver 6.14.11-300.fc42.x86_64 
dracut --kver 6.14.11-300.fc42.x86_64   -k /lib/modules/6.14.11-300.fc42.x86_64/

dracut --kver 6.15.3-200.fc42.x86_64 
dracut --kver 6.15.3-200.fc42.x86_64   -k /lib/modules/6.15.3-200.fc42.x86_64/

EDIT: If above steps don’t work, then try this instead

sudo kernel-install add "6.14.11-300.fc42.x86_64" \
    "/lib/modules/6.14.11-300.fc42.x86_64/vmlinuz" 

sudo  kernel-install add "6.15.3-200.fc42.x86_64" \
     "/lib/modules/6.15.3-200.fc42.x86_64/vmlinuz"

ok. 'made some progress.
rescue mode, mount broken filesystems, chrooted and rebuilt both initrds - all ok.
6.14.11 now boots again but 6.15.3 stops late on with blue text:
Performance counters on
input device check on
Actions configured
just after

bridge: filtering…etc

'happy to at least have the system up again - many thanks for your patience.

Something is puzzling me though - the amd firmware is the same whichever kernel
I boot. So how come 6.14.11 was happy with the 20250627 firmware if that update
was the problem and, conversely, why is 6.15.3 not booting with same?

1 Like

Which command did you have to use to create the initrd?

firmware and drivers are part of the initramfs file and were not updated for 6.14
see sudo lsinitrd |grep -e gpu -e firmware

The amd firmware files were just a guess, unclear if it is the cause with this system

kernel 6.15.4 and updated firmware files are available. This has resolved most of the issues for more modern systems.
See if this kernel is able to boot on your system.

1 Like