logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

systemd-bless-boot.service, systemd-bless-boot - Mark current boot process as successful

Description

       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-440b29bb8c4f), which is passed from the boot loader to the OS. It contains a file
       system path (relative to the EFI system partition) of the BootLoaderSpecification[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.)

Name

       systemd-bless-boot.service, systemd-bless-boot - Mark current boot process as successful

Notes

        1. Boot Loader Specification
           https://uapi-group.org/specifications/specs/boot_loader_specification

systemd 257.7                                                                      SYSTEMD-BLESS-BOOT.SERVICE(8)

Options

       The /usr/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.

           Added in version 240.

       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.

           Added in version 240.

       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
           will not 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.

           Added in version 240.

       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.

           Added in version 240.

       -h, --help
           Print a short help text and exit.

       --version
           Print a short version string and exit.

See Also

systemd(1), systemd-boot(7), systemd.special(7)

Synopsis

       systemd-bless-boot.service

       /usr/lib/systemd/systemd-bless-boot

See Also