systemd-bless-boot.service, systemd-bless-boot - Mark current boot
process as successful
systemd-bless-boot.service
/lib/systemd/systemd-bless-boot
systemd-bless-boot.service is a system service that marks the
current boot process as successful. It's automatically pulled into the
initial transaction when systemd-bless-boot-generator(8) detects that
systemd-boot(7) style boot counting is used.
Internally, the service operates based on the
LoaderBootCountPath EFI variable (of the vendor UUID
4a67b082-0a4c-41cf-b6c7-440b29bb8c4), which is passed from the boot
loader to the OS. It contains a file system path (relative to the EFI system
partition) of the Boot Loader Specification[1] compliant boot loader
entry file or unified kernel image file that was used to boot up the system.
systemd-bless-boot.service removes the two 'tries done' and 'tries
left' numeric boot counters from the filename, which indicates to future
invocations of the boot loader that the entry has completed booting
successfully at least once. (This service will hence rename the boot loader
entry file or unified kernel image file on the first successful boot.)
The /lib/systemd/systemd-bless-boot executable may also be invoked
from the command line, taking one of the following command arguments:
status
The current status of the boot loader entry file or
unified kernel image file is shown. This outputs one of "good",
"bad", "indeterminate", "clean", depending on
the state and previous invocations of the command. The string
"indeterminate" is shown initially after boot, before it has been
marked as "good" or "bad". The string "good" is
shown after the boot was marked as "good" with the
good
command below, and "bad" conversely after the
bad command was
invoked. The string "clean" is returned when boot counting is
currently not in effect.
This command is implied if no command argument is specified.
good
When invoked, the current boot loader entry file or
unified kernel image file will be marked as "good", executing the
file rename operation described above. This command is intended to be invoked
at the end of a successful boot. The systemd-bless-boot.service unit invokes
this command.
bad
When called the 'tries left' counter in the boot loader
entry file name or unified kernel image file name is set to zero, marking the
boot loader entry or kernel image as "bad", so that the boot loader
won't consider it anymore on future boots (at least as long as there are other
entries available that are not marked "bad" yet). This command is
normally not executed, but can be used to instantly put an end to the boot
counting logic if a problem is detected and persistently mark the boot entry
as bad.
indeterminate
This command undoes any marking of the current boot
loader entry file or unified kernel image file as good or bad. This is
implemented by renaming the boot loader entry file or unified kernel image
file back to the path encoded in the LoaderBootCountPath EFI
variable.
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
- 1.
- Boot Loader Specification
https://systemd.io/BOOT_LOADER_SPECIFICATION