config_find_entry() matches the case folded patterns from loader.conf and the LoaderEntry* EFI variables against entry IDs with the case sensitive efi_fnmatch(), relying on the IDs being lower case already. Type #1 entries fold their ID after the boot counter has been parsed, but Type #2 entries only did so when the file name carried no boot counter, because boot_entry_parse_tries() rebuilds the ID from the original file name. The ID of a secondary UKI profile was not folded either, as the profile ID from the .profile section is appended verbatim. Hence a UKI like EFI/Linux/Foo+3.efi, or a profile with ID=Profile1, could never be selected via default, preferred, @saved, bootctl set-default or systemctl reboot --boot-loader-entry=, while bootctl (which matches case insensitively) claimed that it was the default. Fold the ID unconditionally, like Type #1 entries do, and fold the profile suffix as well. The file names used for renaming the boot counter keep their case. Follow-up for4301ad00efand941b91600c. (cherry picked from commit 1402519771a45745de3f6b7e93d08d7c96d3d65b)
System and Service Manager
Details
Most documentation is available on systemd's website.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
