The changes to the systemd-boot configuration file /boot/loader/entries/linux-cachyos.conf disappear after kernel updates because CachyOS uses a system to automatically regenerate these entries. The configuration file you edited is not meant to be manually maintained for persistent changes; instead… Answer from ChillZone on discuss.cachyos.org
🌐
CachyOS
wiki.cachyos.org › configuration › boot_manager_configuration
Boot Manager Configuration | CachyOS
5 days ago - To pass kernel parameters to the commandline, modify “Boot using default options” in /boot/refind_linux.conf ... "Boot using default options" "root=PARTUUID=1cb353ec-7f03-4820-8b4b-03baf53a208f rw zswap.enabled=0 nowatchdog quiet splash" Changes to both configuration files will immediately take effect. Running a command to “save” changes is unnecessary. ... Unlike systemd-boot and rEFInd, GRUB only has one configuration file located in /etc/default/grub.
🌐
CachyOS
wiki.cachyos.org › configuration › secure_boot_setup
Secure Boot Setup | CachyOS
1 week ago - sbctl ships with a pacman hook meaning it will automatically sign all new files upon a kernel or boot manager update. CachyOS uses systemd-boot-update.service provided by systemd to update the boot manager on reboot.
Discussions

Update/configure systemd-boot after Kubuntu install
Hi, I’ve had CachyOS installed for about a week now (coming from Mint) and have just installed Kubuntu alongside to act as a (hopefully) very stable backup option. Neither Kubuntu’s GRUB nor CachyOS’ systemd-boot have automatically recognised the other OS and looking at https://wiki.... More on discuss.cachyos.org
🌐 discuss.cachyos.org
6
0
August 27, 2025
Systemd-boot: How can I specify that the system always boots from the LTS kernel?
I recently installed CachyOS (KDE) on a test laptop, so everything is still in its out-of-the-box state. From what I’ve read, CachyOS boots with the LTS kernel by default. However, mine is different. My loader.conf file contains `default: linux-cachyos`. Changing it to `linux-cachyos-lts` ... More on discuss.cachyos.org
🌐 discuss.cachyos.org
5
0
December 7, 2025
How do I set a default Linux kernel (or downgrade it)?
I had no issues so far so I never had to switch kernels, but if I am not wrong then you can just use the CachyOS Kernel Manager to use other kernels. More on reddit.com
🌐 r/cachyos
11
1
December 7, 2025
Select kernel at boot
Hello, If I have installed two kernels. Where can I set which one is loaded automatically on boot? More on discuss.cachyos.org
🌐 discuss.cachyos.org
11
0
November 11, 2024
🌐
ArchWiki
wiki.archlinux.org › title › Systemd-boot
systemd-boot - ArchWiki
2 weeks ago - Notes: All partitioning info should be moved to partitioning, to leave only steps relevant to installing systemd-boot if you have such a setup. (Discuss in Talk:Systemd-boot) A separate /boot partition of type "Linux extended boot" (XBOOTLDR) can be created to keep the kernel and initramfs ...
🌐
GitHub
github.com › CachyOS › systemd-boot-manager
GitHub - CachyOS/systemd-boot-manager · GitHub
# config file for sdboot-manage # kernel options to be appended to the "options" line #LINUX_OPTIONS="" #LINUX_FALLBACK_OPTIONS="" # the DEFAULT_ENTRY option determines if and how the default entry in loader.conf should be managed # "latest" The most recent CachyOS kernel will be used(the one with the highest version number) # "oldest" The oldest CachyOS kernel will be used(the one with the lowest version number) # "manual" Don't modify the default setting #DEFAULT_ENTRY="latest" # ENTRY_ROOT is a template that describes the beginning of the name for system-boot entries # The ENTRY_ROOT will b
Starred by 8 users
Forked by 5 users
Languages   Shell
🌐
System76 Support
support.system76.com › articles › kernelstub
Kernelstub Usage - System76 Support
April 13, 2026 - -o "OPTIONS", --options "OPTIONS" The total boot options to be passed to the kernel -a "OPTIONS", --add-options "OPTIONS" Boot options to add to the configuration (if they aren't already present) -d "OPTIONS" --delete-options "OPTIONS" Boot options to remove from the configuration (if they're present already) -g LOG --log-file LOG The path to the log file to use. Defaults to /var/log/kernelstub.log -l, --loader Creates a systemd-boot compatible loader configuration -n, --no-loader Turns off creating loader configuration -s, --stub Set up NVRAM entries for the copied kernel -m, --manage-only Only copy entries, don't set up the NVRAM -f, --force-update Forcibly update any loader.conf to set the new entry as the default -v, --verbose Increase program verbosity and display extra output.
🌐
CachyOS Forum
discuss.cachyos.org › issues & assistance
Update/configure systemd-boot after Kubuntu install - Issues & Assistance - CachyOS Forum
August 27, 2025 - Hi, I’ve had CachyOS installed for about a week now (coming from Mint) and have just installed Kubuntu alongside to act as a (hopefully) very stable backup option. Neither Kubuntu’s GRUB nor CachyOS’ systemd-boot have …
Find elsewhere
🌐
CachyOS
wiki.cachyos.org › configuration › post_install_setup
Post Install | CachyOS
March 23, 2026 - CachyOS supports offline system upgrades using the pacman-offline script. This allows your system to download package updates and apply them on the next reboot. (Yes like on Windows) ...
🌐
Reddit
reddit.com › r/cachyos › how do i set a default linux kernel (or downgrade it)?
r/cachyos on Reddit: How do I set a default Linux kernel (or downgrade it)?
December 7, 2025 -

This has been infuriating me a lot. I updated the system, now it's on Linux 6.18 kernel. But as you may know it's buggy. The most fatal one for me is speaker not working. I managed to switch to the LTS kernel via grub.

So I thought of setting it as the default. After some google searches, apparently I need to go to /etc/default/grub, change to GRUB_DEFAULT=saved and GRUB_SAVEDEFAULT=true. I then rebuilt it using sudo grub-mkconfig -o /boot/grub/grub.cfg.

Except it doesn't work, I got error: commands/loadenv.c:check_blocklists:289: sparse file not allowed.. Apparently it's because I used btrfs. So I reverted the grub config file. But then I have to manually go to the "Advanced" menu (second menu) thing, then select the LTS kernel.

How do I just... set a default kernel? Is that not possible with btrfs?
If that's not possible, how do I just downgrade the kernel back to 6.17.9 then? I'm afraid it would screw my Linux installation

🌐
Siduction
manual.siduction.org › systemd-boot_en.html
systemd-boot
February 16, 2026 - If there is more than one OS on the medium, the file /efi/loader/loader.conf contains an additional line default <entry-token-or-machine-id>-* to define the default entry. timeout 3 #console-mode keep default e5cc6ff820c1450c93a29d8723c78cd1-* ... The configuration files are located in the directory /boot/loader/entries/ and their name corresponds to the format <entry-token-or-machine-id>-<kernelversion>.conf.
🌐
CachyOS Forum
discuss.cachyos.org › issues & assistance
How to manage systemd-boot? - Issues & Assistance - CachyOS Forum
June 28, 2024 - Hello there! I am trying to add a kernel parameter in systemd-boot. I want to add “acpi_backlight=native” parameter so that i can control my screen brightness. I added the line in /etc/sdboot-manage.conf. Also in /etc/kernel/cmdline but had no luck. In EndeavourOS i added the line in /etc/kernel/cmdline and then type “sudo reinstall-kernels” command but it seems it’s not available on cachyOS.
🌐
Manjaro Linux
forum.manjaro.org › support
How can I persist kernel options with systemd-boot? - Support - Manjaro Linux Forum
September 2, 2020 - Hey All I need to add some specific boot options, in my case it’s mem_sleep_default=deep I can add this to the /boot/loader/entries/ file but this seems to get regenerated when I upgrade (kernel or systemd, not figured…
🌐
Reddit
reddit.com › r/linux_gaming › corectrl and systemd-boot setup tutorial on cachyos
r/linux_gaming on Reddit: CoreCtrl and systemd-boot setup tutorial on CachyOS
July 22, 2024 -

Adding CoreCtrl systemd-boot Kernel Parameter

In CachyOS, changing the systemd-boot kernel parameter is not straightforward. In this case, we can use their Systemd-boot-manager sdboot and change its kernel parameter to force systemd-boot to boot with the parameters needed for CoreCtrl.

On your terminal, write:

sudo nano /etc/sdboot/manage.conf

or sometimes:

sudo nano /etc/sdboot-manage.conf

(On two installations, I had them in different locations.) Look for LINUX_OPTIONS—it's usually near the top of the file. Near the end of the line, before the quotation mark, add the following parameter:

amdgpu.ppfeaturemask=0xffffffff

acording to u/Equalescent you need to run the following command to make the changes take effect.

sudo sdboot-manage gen 

comment post

Reference: CoreCtrl Setup Docs

🌐
CachyOS
wiki.cachyos.org › features › cachyos_settings
CachyOS Settings | CachyOS
March 23, 2026 - Available both in binary and systemd service format. The systemd service will automatically apply the changes at boot, while the binary can be used to apply the changes on demand.
🌐
CachyOS
wiki.cachyos.org › installation › boot_managers
Offered Boot Managers | CachyOS
December 21, 2025 - If you encounter such issues, consider using systemd-boot or Limine.
🌐
Reddit
reddit.com › r/archlinux › updating the kernel removes all boot entries (systemd)
r/archlinux on Reddit: Updating the kernel removes all boot entries (systemd)
October 14, 2023 -

Hi! I get really strange behavior of pacman: updating kernel removes all entries:

> ls /boot/loader/entries
arch.conf

> cat /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=/dev/nvme0n1p5 rootflags=subvol=@ rw

> cat /boot/loader/loader.conf 
default arch.conf
timeout 3
#console-mode keep

> sudo pacman -Sy linux
....
....
(4/4) Updating systemd-boot entries
Error: There are no boot loader entries after entry generation
error: command failed to execute correctly

> ls /boot/loader/entries 
<empty>

Top answer
1 of 3
3

First, your system has now been updated to kernel 5.17.5, and 5.16.19 is now probably the old-kernel. Please show the output of sudo bootctl list.

I don't use Pop OS myself, but as far as I've understood systemd-boot, the command to set the default boot entry is probably bootctl set-default, and the command to view the available boot entries is bootctl list.

Assuming I've understood correctly, kernelstub command just manages the details of each kernel, defaulting to operating on the newest one if you don't specify the exact kernel.

Since your kernelstub -v -l ... command apparently worked, there should be now a third entry for Pop OS in the bootctl list, with the 5.15 kernel that was first pushed into the old-kernel slot by 5.16 and then off the list entirely(?) by the introduction of 5.17. So you're on the right track, but just need a few more steps.

By using sudo bootctl list and sudo bootctl set-default you should be able to get the 5.15 kernel back into position as the default boot option.


After that, as long as you need to stick with your old ElasticSearch, you'll want to stop the new kernel packages from arriving. You should set up a package manager hold for the the kernel metapackage that has the latest kernel package as a dependency. It's the upgrade of the metapackage that triggers the installation of a new kernel image package.

In Debian, that would be linux-image-amd64, and the highest-level linux-image-generic would be a virtual package. It seems the Pop OS builders have simplified the structure a bit, and in your case, the metapackage would seem to be linux-image-generic instead.

You can use a GUI package manager to set up holds too, but on the command line it would be:

sudo apt-mark hold linux-image-generic

or

echo "linux-image-generic hold" | sudo dpkg --set-selections 

To view existing package holds:

dpkg --get-selections | grep "\<hold$"

or

apt-mark showhold

Eventually, you might upgrade your ElasticSearch or otherwise get rid of the requirement to keep with the 5.15 kernel. At that point, you would want to remove the hold to allow kernel updates again:

sudo apt-mark unhold linux-image-generic

or

echo "linux-image-generic install" | sudo dpkg --set-selections
2 of 3
1

I've had a similar issue where I messed up the kernel versions on Pop!_OS 22.04 and had to go back and forth between versions to see the best one.

To set my kernel version to 6.6.10, I used

# update-initramfs -u -k 6.6.10-76060610-generic

Which is supposed to "Update an existing initramfs" using the kernel version 6.6.10-... (you can use tab to autofill the full kernel version if you only know the beginning of it)

This fixed the kernelstub -p display and used the wanted kernel (6.6.10) on startup. After a reboot:

$ uname -r
6.6.10-76060610-generic

$ sudo kernelstub -p
...
    Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash systemd.unified_cgroup_hierarchy=0
    Kernel Image Path:.../boot/vmlinuz-6.6.10-76060610-generic
    Initrd Image Path:.../boot/initrd.img-6.6.10-76060610-generic
    Force-overwrite:.....False
...

As for checking the kernel versions used by the "Current" and "Old" configs, I compared the checksum of the kernel images in the /boot/efi/EFI/Pop.../ directory and the /boot/ directory, as the ones in /boot/ had the versions in the filename. Hacky, but it worked.