Outside of Arch(-derived) enthusiast circles, I haven't seen systemd-boot used anywhere.
It has some really nice tools and features that Grub lacks (i.e. it has tooling for checking the state of things like secure boot and analysing the security risks of your boot configuration), but every mainstream Linux OS I've used still relies on tools like Grub to boot.
I have some gripes with systemd-boot's limitations (notably, the insistence on an unthemed, white-on-black menu system that's not exactly enticing to Linux newcomers) but it's hard to deny its merits. Grub is tied together with a spider web of scripts calling each other, loading modules, generating code that is then executed again, and one mistake in one script can cause the bootloader config four scripts down the line to fail, leaving the system unbootable; the concise configuration file for systemd-boot makes for a much better bootloader configuration system in my opinion.
OpenSUSE uses systemd-boot for its GRUB2 BLS implementation (<https://news.opensuse.org/2024/10/08/grub2-bls/>). It's really awesome because it lets me boot from Btrfs snapshots on a fully LUKS2 argon2id encrypted system.
The argon2id issue remains an annoying problem (AFAIK Grub still doesn't support argon2id), but for tools like Timeshift there are Grub scripts to also boot BTRFS snapshots.
and grub is a rotting pile while systemd-boot is a simple boot entry multiplexer that rides off the kernel's capability of being run as an EFI executable, it just happens to live in systemd's tree. not a good example
It's a pretty good example of why people think systemd is bloated and does too much. It's a simple boot entry multiplexer. Does it need to live in systemd's tree?
Outside of Arch(-derived) enthusiast circles, I haven't seen systemd-boot used anywhere.
It has some really nice tools and features that Grub lacks (i.e. it has tooling for checking the state of things like secure boot and analysing the security risks of your boot configuration), but every mainstream Linux OS I've used still relies on tools like Grub to boot.
I have some gripes with systemd-boot's limitations (notably, the insistence on an unthemed, white-on-black menu system that's not exactly enticing to Linux newcomers) but it's hard to deny its merits. Grub is tied together with a spider web of scripts calling each other, loading modules, generating code that is then executed again, and one mistake in one script can cause the bootloader config four scripts down the line to fail, leaving the system unbootable; the concise configuration file for systemd-boot makes for a much better bootloader configuration system in my opinion.
OpenSUSE uses systemd-boot for its GRUB2 BLS implementation (<https://news.opensuse.org/2024/10/08/grub2-bls/>). It's really awesome because it lets me boot from Btrfs snapshots on a fully LUKS2 argon2id encrypted system.
The argon2id issue remains an annoying problem (AFAIK Grub still doesn't support argon2id), but for tools like Timeshift there are Grub scripts to also boot BTRFS snapshots.
NixOS uses it by default
and grub is a rotting pile while systemd-boot is a simple boot entry multiplexer that rides off the kernel's capability of being run as an EFI executable, it just happens to live in systemd's tree. not a good example
It's a pretty good example of why people think systemd is bloated and does too much. It's a simple boot entry multiplexer. Does it need to live in systemd's tree?
Nobody complains about a very wide variety of only vaguely related utilities being in the Gnu coreutils tree.
3 replies →
so its a marketing problem, irregardless of whether it's in systemd's tree because the systemd maintainers want to maintain it in-tree
Even better example, I don't think systemd-boot is broadly adopted yet although there are certainly some distributions that use it.