Asahi gets stuck on U-boot screen after update- is this fixable without re-installation?

A couple of months ago I updated Asahi Fedora on my 2020 M1 MBP and ever since then it has gotten stuck on the U-boot screen. I have been using MacOS ever since then as I assumed this would require a fresh re-installation to fix but I figured it’s time to ask just in case there is something I can do about it. On other Linux distributions, I would try to fix an unbootable installation by booting from a live USB and restoring the installation to a pre-update version with timeshift or something, but I don’t think I can boot Asahi from a live USB. Any help would be greatly appreciated. Thanks.

I have two projects that could help with this issue.

I would start with the USB one, see if you can build that USB drive on a Fedora 39 system.

What happens if you press esc after u-boot’s “Hit any key to stop autoboot” countdown has expired? You should get to the grub menu which should offer to boot the previous kernel. This might not work either. This should be still recoverable but reinstalling fedora is probably less effort. I would provide instructions for recovery if there’s interest.
For a fresh installation delete the previous Fedora partitions (should be 4) see the partitioning cheatsheet in the AsahiLinux wiki.

I suspect the breaking change was Switch to the kernel-16k variant

Thank you this look like a very useful tool, I’ll have to check it out!

I was able to boot into kernel 6.4.11 by pressing esc. (Being able to get to grub menu seems to be a bit hit or miss, sometimes it works and sometimes it requires a couple of restarts.) It looks like kernel 6.6.3 was the breaking change. Is there any way to completely undo the update that caused this breaking change from within 6.4.11? It looks like when I boot into 6.4.11, it is using software rendering so maybe the graphics drivers got uninstalled or something.

See this:

Make sure your /etc/sysconfig/kernel looks like this

What Leif said, but to add: the software rendering is normal because breaking changes in userspace drivers will stop working with older kernels from time to time. It will work again once you switch to the kernel-16k version.

Thank you everyone, the instructions for switching to the 16k kernel worked!