Sdbootutil does not appear to produce any effect

When I edit my cmdline(in /etc/kernel/cmdline), and then try to apply these settings using sdbootutil as so: sudo sdbootutil update-all-entries -vvvvvv, it does not appear to have any effect when I check in the entry configuration of the default entry from bootctl

sdbootutil output:

Found container virtualization none.
Using EFI System Partition at /boot/efi.
DEBUG: root_snapshot:
DEBUG: boot_root: /boot/efi
DEBUG: boot_dst: /EFI/opensuse
Updating all boot entries
Required free space in ESP: 1024 KB
Found container virtualization none.
Using EFI System Partition at /boot/efi.
Directory "/boot" is not the root of the file system.
Didn't find an XBOOTLDR partition, using the ESP as $BOOT.
Reading EFI variable /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
Reading EFI variable /sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
open("/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f") failed: No such file or directory
Reading EFI variable /sys/firmware/efi/efivars/LoaderEntryDefault-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
Reading EFI variable /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
Found default: id "snapper-opensuse-tumbleweed-6.18.1-1-default.conf" is matched by LoaderEntryDefault
DEBUG: Entry filter: jq [.[]|select(has("options"))|select(.options|test("root=(?:UUID=1f5791d7-5ab0-4931-a36c-a602b9bfdff1|/dev/nvme0n1p3) .*rootflags=subvol=/.snapshots//snapshot"))]
DEBUG: /tmp/sdbootutil.VwZFIp/entries.json
[]
DEBUG: Cleaning temporary directory /tmp/sdbootutil.VwZFIp

(exits with 0)

bootctl output:

systemd-boot not installed in ESP.
System:
      Firmware: n/a (n/a)
 Firmware Arch: x64
   Secure Boot: disabled
  TPM2 Support: yes
  Measured UKI: no
  Boot into FW: supported

Current Boot Loader:
      Product: GRUB2 2.12
     Features: ✗ Boot counting
               ✗ Menu timeout control
               ✗ One-shot menu timeout control
               ✗ Default entry control
               ✗ One-shot entry control
               ✗ Support for XBOOTLDR partition
               ✗ Support for passing random seed to OS
               ✗ Load drop-in drivers
               ✗ Support Type #1 sort-key field
               ✗ Support @saved pseudo-entry
               ✗ Support Type #1 devicetree field
               ✗ Enroll SecureBoot keys
               ✗ Retain SHIM protocols
               ✗ Menu can be disabled
               ✗ Multi-Profile UKIs are supported
               ✓ Boot loader set partition information
    Partition: /dev/disk/by-partuuid/f362531a-4d8f-418a-b6a4-0643a4abfa9b
Current Entry: snapper-opensuse-tumbleweed-6.18.1-1-default.conf
Default Entry: snapper-opensuse-tumbleweed-6.18.1-1-default.conf

Random Seed:
 System Token: set

(exits with 0 aswell)

Are you using GRUB2-BLS? /etc/kernel/cmdline and sdbootutil only apply when GRUB2-BLS (or systemd-boot) is active.

It appears that i am indeed using grub2-bls, and when I edit /boot/loader/…/kernel-name.conf and add it to options it does have an effect.
In grub2 bls, am I supposed to edit the /boot directly, or is that incorrect?

To understand why sdbootutil update-all-entries didn’t update your entry, could you please share the contents of your /etc/kernel/cmdline?

This will show whether your current kernel is using the snapshot-style subvolume workflow (rootflags=subvol=/.snapshots/...), which sdbootutil looks for when updating entries. If it doesn’t match that pattern, that would explain why sdbootutil didn’t make any changes, even though manual edits to /boot/efi/loader/entries/*.conf do work.

/etc/kernel/cmdline just contains loglevel, quiet, no boot logo and the regulatory domain that was the thing i added.

Ok, that explains why sdbootutil didn’t update the entries. It only updates entries that match the snapshot filter, so it skipped yours. For non-snapshot kernels, manual edits are the only option. From that, I assume that you are using an ext4 root filesystem?

Yes indeed, ext4 for root and fat32 for efi

Then it is irrelevant to your needs.

Tool to manage systemd-boot and grub2-bls in a btrfs based, snapper managed system.

Whoops. Alright then, ill just edit the files manually when editing cmdline. How do I generate a new conf file when a new kernel releases tho? Do I manually change the conf file to the new kernel version, or is there some utility for that?

The entries will be updated automatically when new kernels are installed.

Alright, thank you.