systemd/docs
Emil Velikov 6efdd7fec5 sd-boot: add way to disable the 100ms delay when timeout=0
Currently we have a 100ms delay which allows for people to enter/show
the boot menu even when timeout is set to zero.

In a handful of cases, that may not be needed - both in terms of access
policy, as well as latency.

For example: the option to provide the boot menu may be hidden behind an
"expert only" UX in the OS, to avoid end users from accidentally
entering it.

In addition, the current 100ms input polling may cause unexpected
additional delays in the boot. Some example numbers from my SteamDeck:

 - boot counting/rename/flush doubles 300us -> 600us
 - seed/hash setup doubles 900us -> 1800us
 - kernel/image load gets ~40% slower 107ms -> 167ms

It's not entirely clear why the UEFI calls gets slower, nevertheless the
information in itself proves useful.

This commit introduces a new option "menu-disabled", which omits the
100ms delay. The option is documented throughout the manual pages as
well as the Boot Loader Specification.

v2:
 - use STR_IN_SET

v3:
 - drop erroneous whitespace

v4:
 - add a new LoaderFeature bit,
 - don't change ABI keep TIMEOUT_* tokens the same
 - move new token in the 64bit range, update API and storage for it
 - change inc/dec behaviour to TIMEOUT_MIN : TIMEOUT_MENU_FORCE
 - user cannot opt-in from sd-boot itself, add assert_not_reached()

v5:
 - s/Menu disablement control/Menu can be disabled/
 - rewrap comments to 109
 - use SYNTHETIC_ERRNO(EOPNOTSUPP)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2023-10-17 15:09:53 +01:00
..
_data docs: beef up entrypoint documentation page 2019-12-11 10:53:14 +01:00
_includes update footer to 2023 2023-01-29 20:26:28 +09:00
_layouts docs: adapt forward layout to systemd.io design 2022-05-21 18:09:50 +02:00
assets docs: add dark mode 2022-05-17 23:00:18 +02:00
fonts docs: make it pretty 2019-12-11 17:04:20 +01:00
sysvinit tree-wide: use https for the 0pointer.de doc links 2023-06-23 13:46:56 +01:00
var-log tree-wide: use https for the 0pointer.de doc links 2023-06-23 13:46:56 +01:00
.gitattributes docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
.gitignore gitignore: add jekyll cache directory 2021-06-24 10:20:29 +02:00
_config.yml docs: use https:// for fd.o links 2022-01-12 16:05:59 +01:00
ARCHITECTURE.md core: add systemd-executor binary 2023-10-12 15:01:51 +01:00
AUTOMATIC_BOOT_ASSESSMENT.md docs: fix grammar a bit 2023-01-23 22:52:34 +00:00
BLOCK_DEVICE_LOCKING.md tree-wide: use -EBADF for fd initialization 2022-12-19 15:00:57 +01:00
BOOT_LOADER_INTERFACE.md sd-boot: add way to disable the 100ms delay when timeout=0 2023-10-17 15:09:53 +01:00
BOOT_LOADER_SPECIFICATION.md docs: DPS and BLS have moved to uapi-group.org 2022-11-02 07:31:18 +09:00
BUILDING_IMAGES.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
CGROUP_DELEGATION.md core: add DelegateSubgroup= setting 2023-04-27 12:18:32 +02:00
CODE_OF_CONDUCT.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
CODE_QUALITY.md docs: fix formatting a bit 2023-01-23 22:52:34 +00:00
CODING_STYLE.md doc: readd vanished ``` 2023-10-11 11:41:56 +02:00
CONTAINER_INTERFACE.md tree-wide: use https for the 0pointer.de doc links 2023-06-23 13:46:56 +01:00
CONTRIBUTING.md docs: update link to RHEL/CentOS Stream tracker 2023-08-11 09:55:10 +01:00
CONVERTING_TO_HOMED.md docs: tweak rsync flags for moving existing home dir to systemd-homed 2023-02-01 20:47:56 +00:00
COREDUMP.md tree-wide: code spelling fixes 2023-04-20 21:54:59 +02:00
COREDUMP_PACKAGE_METADATA.md docs: rename COREDUMP_PACKAGE_METADATA → ELF_PACKAGE_METADATA 2022-05-21 18:08:19 +02:00
CREDENTIALS.md docs: fix order 2023-07-13 09:37:00 +00:00
DESKTOP_ENVIRONMENTS.md docs: fix typo in key name and adjust grammar a bit 2022-01-10 13:22:48 +01:00
DISCOVERABLE_PARTITIONS.md docs: DPS and BLS have moved to uapi-group.org 2022-11-02 07:31:18 +09:00
DISTRO_PORTING.md Drop split-usr and unmerged-usr support 2023-07-28 19:34:03 +01:00
ELF_PACKAGE_METADATA.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
ENVIRONMENT.md repart: add simple mechanism to override fstype choices 2023-10-05 19:18:36 +02:00
favicon.png docs: make it pretty 2019-12-11 17:04:20 +01:00
favicon.svg docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
FILE_DESCRIPTOR_STORE.md docs/FILE_DESCRIPTOR_STORE: NotifyAccess=cgroup -> all 2023-10-17 11:59:38 +01:00
GROUP_RECORD.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
HACKING.md docs: update fuzzers docs 2023-10-14 17:55:29 +02:00
HOME_DIRECTORY.md treewide: fix "an" before consonant U sounds 2023-07-06 11:59:41 +01:00
index.md tree-wide: use https for the 0pointer.de doc links 2023-06-23 13:46:56 +01:00
INITRD_INTERFACE.md tree-wide: use mode=0nnn for mount option 2022-12-14 22:12:44 +01:00
JOURNAL_EXPORT_FORMATS.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
JOURNAL_FILE_FORMAT.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
JOURNAL_NATIVE_PROTOCOL.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
MEMORY_PRESSURE.md tree-wide: code spelling fixes 2023-04-20 21:54:59 +02:00
NETWORK_ONLINE.md docs/NETWORK_ONLINE: Use until instead of while ! 2023-08-14 09:15:31 +02:00
PASSWORD_AGENTS.md Use https for man7.org 2022-06-28 16:05:31 +02:00
PORTABILITY_AND_STABILITY.md docs: list all public headers in stability promise 2023-05-16 08:50:11 +02:00
PORTABLE_SERVICES.md portable: add PORTABLE_NAME_AND_VERSION= and other metadata to LogsExtraFields= 2023-03-28 12:14:21 +01:00
PORTING_TO_NEW_ARCHITECTURES.md docs: fix grammar a bit 2023-01-23 22:52:34 +00:00
PREDICTABLE_INTERFACE_NAMES.md docs: move some stuff into "Networking" section 2022-07-05 11:22:06 +01:00
RANDOM_SEEDS.md docs: fix grammar a bit 2023-01-23 22:52:34 +00:00
RELEASE.md doc-sync: add support for uploading the documentation for main 2023-10-10 17:50:04 +01:00
RESOLVED-VPNS.md docs: avoid multiple first-level headlines 2022-05-17 23:00:18 +02:00
ROOT_STORAGE_DAEMONS.md docs: note root storage daemons can now also use SurviveFinalKillSignal=yes 2023-09-28 13:48:14 +01:00
SECURITY.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
style.css docs: desaturate dark-mode background color 2022-06-10 13:52:31 +02:00
TEMPORARY_DIRECTORIES.md a colloquial abbreviation 'btw' in TEMPORARY_DIRECTORIES.md (#27365) 2023-04-23 10:48:17 +01:00
TESTING_WITH_SANITIZERS.md mkosi: Update to latest 2023-03-29 13:27:19 +02:00
TPM2_PCR_MEASUREMENTS.md docs: document that in future we'll do EV_EVENT_TAG only, no EV_IPL 2023-10-10 23:31:33 +01:00
TRANSIENT-SETTINGS.md man: document CoredumpReceive= setting 2023-10-13 15:28:50 -04:00
TRANSLATORS.md docs: replace <pre>, <code> and <tt> tags by backticks 2022-05-17 22:35:54 +02:00
UIDS-GIDS.md treewide: fix "an" before consonant U sounds 2023-07-06 11:59:41 +01:00
USER_GROUP_API.md docs, man: consistently use comma after "For example" 2023-01-23 22:52:34 +00:00
USER_NAMES.md docs, man: consistently use comma after "For example" 2023-01-23 22:52:34 +00:00
USER_RECORD.md tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
USERDB_AND_DESKTOPS.md docs, man: consistently use comma after "For example" 2023-01-23 22:52:34 +00:00