We’re happy to announce the rollout of clr-boot-manager in our stable repository. clr-boot-manager, from the Clear Linux Project For Intel Architecture, enables a more bulletproof update experience by handling the maintenance and garbage collection of kernels, as well as configuration of the bootloader itself (i.e. GRUB2 for Legacy Boot,
goofiboot for UEFI boot on Solus). Furthermore, it enables us to retain older, known-working kernels, so in the event a kernel upgrade results in the inability to boot, you’ll still be able to roll back to the last good kernel.
clr-boot-manager also addresses the issue of modules of the currently running kernel being removed from the disk during an update. The Linux kernel loads modules at runtime from uniquely namespaced trees, as each tree is specific for each kernel. Prior to clr-boot-manager, those unique module paths would be removed, meaning if the module wasn’t previously loaded, it can’t load. This would result in USB devices not functioning, like a headset or mounting an external drive. Similarly,this would also result in failing to load the NTFS filesystem module, thus not being able to mount an NTFS disk. This would result in Windows disappearing during GRUB, since it could no longer “see” it. From a developer perspective, this offers a far simpler approach to kernel maintenance - we do not need dozens of meta packages to offer this experience.
On the configuration front, clr-boot-manager enables easier management and use of custom cmdline arguments, such as the common
You can add your required kernel arguments to
/etc/kernel/cmdline/*.conf, and clr-boot-manager will merge those as appropriate into the final command line for each kernel. This is merged with the vendor cmdline, part of the kernel package, and any automatic cmdline that may be generated by clr-boot-manager itself (such as the
rd.luks.uuid= parameters). Once done, just run
sudo clr-boot-manager update to commit the changes.
As of now, all Solus users are on the
linux-lts package by default. This now ensures that we no longer “branch jump” existing users onto a mainline kernel. Prior to this change, we had a single
kernel package within Solus, meaning we’d follow the most stable in our consideration.
In future, we’d like to expand our supported kernels, with plans for a
linux-mainline package, and allow our users to pick the most appropriate kernel for their needs, whilst retaining stability for the majority.
This change is entirely automated. Once you’ve updated and rebooted your system, you’ll now be using a clr-boot-manager managed system, and the new
linux-lts package. No user intervention is necessary here.