There are multiple (and even overlapping) issues at hand in this thread (and the wider discussion). One of which is immediately resolved thanks to @Yochanan defining that kernel-alive
(Manjaro exclusive) now conflicts with kernel-modules-hook
(former AUR promoted to Community).
Another unresolved issue that still exists (and yes “not everyone is affected” / “but it doesn’t bother me”):
Due to how upstream Arch (and thus Manjaro) handles kernel updates, it can absolutely leave you with a borked or unbootable system if the update process is interrupted or you lose power. This is because kernel updates are not handled as an atomic process, while every single minor kernel iteration within the same base version is included under the same umbrella package (e.g, linux514
, linux515
, linux516
, etc).
That’s an inherit issue with Arch / Manjaro. I hate to sound repetitive, but Ubunt, Mint, and others (including PCLinuxOS and openSUSE) have zero risk. Every single kernel iteration, even minor versions, are distinct packages, with distinct modules, and distinct directories.
Any interrupted or aborted update does not touch anything in regards to the current/live kernel.
This is how it should always be.
However, for some reason (I still don’t know why, tradition?) upstream Arch wants to use a sledgehammer approach and place all minor kernel versions/updates under the same package name:
-
linux514
– 5.14.16
– 5.14.17 ← linux514
update installs this, and wipes out everything 5.14.16
– 5.14.18 ← linux514
update installs this, and wipes out everything 5.14.17
– 5.14.20 ← linux514
update installs this, and wipes out everything 5.14.18
-
linux515
– 5.15.01
– 5.15.05 ← linux515
update installs this, and wipes out everything 5.15.01
– 5.15.10 ← linux515
update installs this, and wipes out everything 5.15.05
– 5.15.11 ← linux515
update installs this, and wipes out everything 5.15.10
This has, and always does, create unnecessary risks, as well as additional issues that I and others have experienced on multiple occasions. I realize there are Manjaro users that “aren’t bothered” by it because it doesn’t really affect them that often. Or they just immediately reboot after every update.
Always being forced to reboot causes you to lose data cache’d to RAM, which hurts performance; it interrupts your workflow; it’s not feasible if downloading/uploading files or sharing on the network; etc.
For now, we have kernel-alive
that tries to address this underlying problem.
With Ubuntu and related distros, you can keep using your system indefinitely without rebooting, no matter how many updates you’ve pulled. The only reason to intentionally reboot is if you absolutely need to be running the latest minor kernel iteration. I never had this problem on Ubuntu, or Mint, or even openSUSE (as far as I can remember), due to their package naming convention. If a kernel update is interrupted, nothing is touched with regards to the live / running kernel, and thus the user can safely reboot into a working system. (Snapshots aren’t even necessary.)
And so for now, we require hack’ish-workarounds like kernel-alive
and kernel-modules-hook
, as well as an additional emphasis on snapshots and/or Timeshift backups. (They’re nice to have, but shouldn’t be a strong recommendation to hedge against an inherit design flaw.)
You want to know why such workarounds aren’t needed for other distros? Because they do it the correct way from the start. (Once again, I have yet to hear a clear justification for why Arch Linux insists on their sledgehammer approach.)
This is an especially bad impression for new users to Manjaro, since in many cases they install a brand new ISO that ships with a soon-to-be-EOL kernel, and they’re already on a precarious approach to maintaining their system.
Even Windows 10 after many, many, many updates, still works seamlessly without ever rebooting.
I understand I sound overly harsh and critical.
I should reiterate:
-
This is an inherited issue from upstream Arch. When I used Arch, this was one of my main gripes, where I couldn’t believe that an “experienced users distro” (Arch) sits atop a poorly designed shaky ground, whereas a “kids toy distro” (Ubuntu) handles kernel updates beautifully.
-
To implement it the proper way (i.e, how other distros handle kernel updates) will not cost nor take away anything from users who always immediately reboot and/or use snapshots, anyways; while at the same time it will benefit other users, such as myself, @openminded, and @andreas85. It’s a win-win, everyone benefits. (Perhaps it requires additional space in /boot/
and /
, but with Ubuntu and Mint, one can choose to “prune” older kernels whenever they please. Mint even includes an in-house tool to present a GUI for reviewing/trimming older kernels.)
-
To implement this would require extra work, testing, and care on Manjaro’s part (so this is the real cost: implementation itself.) If it works, it’s smooth sailing for the end-users.
EDIT: If a mod tries to temporarily suspend my account, I should let you know that @Fabby has gifted me with a coupon that removes 5 days from my ban. It doesn’t expire until July 2025.