Did you setup this server with a boot partition?
Rolling back the root subvolume with an older kernel could create a mismatch to the boot partitions kernel. Not sure if that's contributing to your problem, but might be worth looking into.
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Did you setup this server with a boot partition?
Rolling back the root subvolume with an older kernel could create a mismatch to the boot partitions kernel. Not sure if that's contributing to your problem, but might be worth looking into.
Yes, I have a separate boot partition. How would I fix a mismatch? The only posible solution I've found is to directly edit the grub entries, but that's a bit beyond what I've done with grub before. Thanks for the response!
Only thing I can think of is the subvolumes left over might be causing an issue. I don't know how snapper performs a rollback and I've seen a couple ways to do it. Sometimes its modifying the default subvolume to the snapshot you want to rollback to. This is fine IF your kernel params are NOT specifying the subvol. That would look like this rootflags=subvol=subvolume_name
.
Usually I just rename the subvols and make sure the snapshot I'm renaming to replace the current root subvol is not set to read only.
So rename current root to root.broken Then rename snapshot to root Then set readonly prop to false.
Well, I tried rolling back to another snapshot and checked my kernel params and its not in there. My port issue seems to be fixed but i still do not boot into the new kernel after updating and rebooting. Edit: I think I need to clean up my /boot directory somehow since it's partition is not btrfs. But I'm unsure how to do it, or where to read up on it.
Well as long as you take a snapshot of your data and move that snapshot to another drive, you're free to tinker without real worry. Arch Linux wiki should have lots of examples of what you're trying to fix or modify. There's always a fresh install as well, which isn't ideal most of the time but as long as the data is safe, then its an option. Best of luck, hope you're able to resolve the issue.
Thanks, it's looking like I'll be doing a reset. It looks like grub-btrfs creates its own entries and points towards the boot directory within the /.snapshot/ directory, completely ignoring my boot partitions current files.
Ubuntu was never my first choice but was necessary for using my arc380 with plex transcoding. Might as well take this opportunity to move back to debian with bookworm. Only trouble is I would prefer a 6.2 over 6.1 kernel distribution, and while I enjoy arch on my laptops, I'm not sure I'd want to update my server so frequently.
I think you've hit the nail on the head. The way grub-btrfs works is by changing the default root snapshot subvolume. I'm still not sure what I did wrong to get the rollback stuck to the particular kernel. But I'll give what you've written here a try. Thanks again.
Have you tried a normal "grub-update" command to make sure it gets the right kernel to boot up for you? Not 100% familiar with Ubuntu, but perhaps that's all you'd need to run to get it booting to the right version.
Yes, I've done that to no avail. And when I run "dpkg -l | grep linux-image" it shows I have five different kernels on my system, despite me only having the latest one installed through apt. Edit: Scratch that, I think I was misreading the input but the fact remains I can't seem to get rid of 6.2.0-24
Edit: autocorrect being annoying
Again, no Ubuntu expert here, so do this at your own risk (someone jump in and say this is a bad idea if it is). Not irreversible as you can just revert what I'm telling you via live CD, but just wanted to leave the warning.
If uname -r
shows the old kernel *-24, and grub update is choosing that instead of *-25, perhaps Ubuntu relies on the last change/created date or something weird. What you can check is if *-24 AND *-25 show up in /usr/src. If both are there, do (as root/sudo): mv /usr/src/*6.2.0-24* /root
. Now run grub-update
again. I think it should tell you which version it chose for the boot menu.
Next try: grep 6.2.0 /boot/grub/grub.cfg
to verify you see the new version.
grub-update
again.grub-update
to avoid not being able to boot back in. This wasn't the fix we were hoping for.^ this is all assuming Ubuntu puts its kernels in /usr/src and uses that location as reference to what's available/installed. If you see nothing there, then something else will need to be attempted
Edit 2: another thing to check is if the compiled kernels are in /boot. Basically follow the same instructions above but use /boot/*-24 instead. This might actually be what needs to be done now that I think about it, not necessarily /usr/src.