diff --git a/man/bootctl.xml b/man/bootctl.xml
index 6db048b63b..d908d52d97 100644
--- a/man/bootctl.xml
+++ b/man/bootctl.xml
@@ -17,7 +17,7 @@
bootctl
- Control the firmware and boot manager settings
+ Control EFI firmware boot settings and manage boot loader
@@ -31,16 +31,18 @@
Description
- bootctl can check the EFI boot loader status, list available boot loaders and boot loader
- entries, and install, update, or remove the
- systemd-boot7 boot loader on the
- current system.
+ bootctl can check the EFI firmware and boot loader status, list and manage
+ available boot loaders and boot loader entries, and install, update, or remove the
+ systemd-boot7 boot
+ loader on the current system.
- Commands
-
+ Generic EFI Firmware/Boot Loader Commands
+ These commands are available on any EFI system, regardless of the boot loader used.
+
+
@@ -49,7 +51,69 @@
loaders and the current default boot loader entry. If no command is specified, this is the implied
default.
+
+
+ BOOL
+
+ Query or set the "Reboot-Into-Firmware-Setup" flag of the EFI firmware. Takes a
+ boolean argument which controls whether to show the firmware setup on next system reboot. If the
+ argument is omitted shows the current status of the flag, or whether the flag is supported. This
+ controls the same flag as systemctl reboot --firmware-setup, but is more
+ low-level and allows setting the flag independently from actually requesting a
+ reboot.
+
+
+
+ STRING
+
+ When called without the optional argument, prints the current value of the
+ SystemdOptions EFI variable. When called with an argument, sets the
+ variable to that value. See
+ systemd1
+ for the meaning of that variable.
+
+
+
+
+ Boot Loader Specification Commands
+
+ These commands are available for all boot loaders that implement the Boot Loader Specification and/or the Boot Loader Interface, such as
+ systemd-boot.
+
+
+
+
+
+
+ Shows all available boot loader entries implementing the Boot Loader Specification, as well as any
+ other entries discovered or automatically generated by a boot loader implementing the Boot Loader
+ Interface.
+
+
+
+ ID
+ ID
+
+ Sets the default boot loader entry. Takes a single boot loader entry ID string as
+ argument. The command will set the default entry only for the next boot,
+ the will set it persistently for all future boots.
+
+
+
+
+
+
+ systemd-boot Commands
+
+ These commands manage the systemd-boot EFI boot loader, and do not work in
+ conjunction with other boot loaders.
+
+
@@ -101,45 +165,6 @@
information.
-
- STRING
-
- When called without the optional argument, prints the current value of the
- SystemdOptions EFI variable. When called with an argument, sets the
- variable to that value. See
- systemd1
- for the meaning of that variable.
-
-
-
- BOOL
-
- Query or set the "Reboot-Into-Firmware-Setup" flag of the EFI firmware. Takes a
- boolean argument which controls whether to show the firmware setup on next system reboot. If the
- argument is omitted shows the current status of the flag, or whether the flag is supported. This
- controls the same flag as systemctl reboot --firmware-setup, but is more
- low-level and allows setting the flag independently from actually requesting a
- reboot.
-
-
-
-
-
- Shows all available boot loader entries implementing the Boot Loader
- Specification, as well as any other entries discovered or automatically generated by the boot
- loader.
-
-
-
- ID
- ID
-
- Sets the default boot loader entry. Takes a single boot loader entry ID string as argument. The
- command will set the default entry only for the next boot, the
- will set it persistently for all future boots.
-
-
diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c
index f464882186..0e24f0a499 100644
--- a/src/boot/bootctl.c
+++ b/src/boot/bootctl.c
@@ -1014,24 +1014,25 @@ static int help(int argc, char *argv[], void *userdata) {
if (r < 0)
return log_oom();
- printf("%s [OPTIONS...] COMMAND ...\n"
- "\n%sInstall/update/remove the systemd-boot EFI boot manager and list/select entries.%s\n"
- "\nBoot Loader Commands:\n"
- " status Show status of installed systemd-boot and EFI variables\n"
+ printf("%1$s [OPTIONS...] COMMAND ...\n"
+ "\n%5$sControl EFI firmware boot settings and manage boot loader.%6$s\n"
+ "\n%3$sGeneric EFI Firmware/Boot Loader Commands:%4$s\n"
+ " status Show status of installed boot loader and EFI variables\n"
+ " reboot-to-firmware [BOOL]\n"
+ " Query or set reboot-to-firmware EFI flag\n"
+ " systemd-efi-options [STRING]\n"
+ " Query or set system options string in EFI variable\n"
+ "\n%3$sBoot Loader Specification Commands:%4$s\n"
+ " list List boot loader entries\n"
+ " set-default ID Set default boot loader entry\n"
+ " set-oneshot ID Set default boot loader entry, for next boot only\n"
+ "\n%3$ssystemd-boot Commands:%4$s\n"
" install Install systemd-boot to the ESP and EFI variables\n"
" update Update systemd-boot in the ESP and EFI variables\n"
" remove Remove systemd-boot from the ESP and EFI variables\n"
" is-installed Test whether systemd-boot is installed in the ESP\n"
" random-seed Initialize random seed in ESP and EFI variables\n"
- " systemd-efi-options [STRING]\n"
- " Query or set system options string in EFI variable\n"
- " reboot-to-firmware [BOOL]\n"
- " Query or set reboot-to-firmware EFI flag\n"
- "\nBoot Loader Entries Commands:\n"
- " list List boot loader entries\n"
- " set-default ID Set default boot loader entry\n"
- " set-oneshot ID Set default boot loader entry, for next boot only\n"
- "\nOptions:\n"
+ "\n%3$sOptions:%4$s\n"
" -h --help Show this help\n"
" --version Print version\n"
" --esp-path=PATH Path to the EFI System Partition (ESP)\n"
@@ -1042,11 +1043,12 @@ static int help(int argc, char *argv[], void *userdata) {
" --no-pager Do not pipe output into a pager\n"
" --graceful Don't fail when the ESP cannot be found or EFI\n"
" variables cannot be written\n"
- "\nSee the %s for details.\n"
+ "\nSee the %2$s for details.\n"
, program_invocation_short_name
- , ansi_highlight()
- , ansi_normal()
- , link);
+ , link
+ , ansi_underline(), ansi_normal()
+ , ansi_highlight(), ansi_normal()
+ );
return 0;
}