Commit Graph

9686 Commits

Author SHA1 Message Date
Yu Watanabe
0c25f8fd0b sd-boot: allow configuration of log levels (#38701)
This allows for more liberal usage of logging functionality as messages
will no longer always show up on screen, regardless of urgency. The log
level to use can be configured through an SMBIOS type 11 string
(`io.systemd.boot.loglevel=`) or by using the `log-level` option in
loader.conf. Valid values are debug, info, notice, warning, err, crit,
alert, and emerg. By default, info will be used.
2025-09-18 12:06:48 +09:00
Yu Watanabe
f871c20bad systemd-repart: add encryption configs into repart.d/* (#38052)
As explained in https://github.com/systemd/systemd/issues/37892, it
would be nice to define per-partition PCRs/key file to use.

The global default config will be still defined as cmdline options, and
`TPM2PCRs=` and `KeyFile=` will be overriden by them.
2025-09-18 11:02:38 +09:00
Felix Pehla
b3f3ce28f8 sd-boot: allow setting the log level through loader.conf
Allow configuring the log level used by sd-boot by setting
`log-level=<level>` in loader.conf. `info` is used by default.
2025-09-18 08:54:52 +09:00
Felix Pehla
0ce83b8a57 sd-boot: allow setting the log level through SMBIOS 11
Allow configuring the log level used by sd-boot by setting
`io.systemd.boot.loglevel=<level>` as SMBIOS type 11 string.
`info` is used if unset.
2025-09-18 08:54:52 +09:00
Govind Venugopal
d64720bbe7 Feature/homectl recovery key update (#38702)
Implements the ability to add recovery keys to existing user accounts
via homectl update --recovery-key=yes. Previously, recovery keys could
only be configured during initial user creation, requiring users to
recreate their entire home directory to add recovery keys later.

Fixes: #23602
2025-09-18 08:49:26 +09:00
Yu Watanabe
b594bdeb97 journalctl: add -W as short for --no-hostname (#38704)
--no-hostname is one of the switches I use very often. In particular,
when looking at CI logs, the hostname is almost never interesting.
2025-09-18 08:45:44 +09:00
Yu Watanabe
fd1351e3c8 udev-rules: add OPTIONS="dump-json" to dump current status in JSON format
This produces the output similar to 'udevadm test --json=short'.
2025-09-18 08:43:18 +09:00
Zbigniew Jędrzejewski-Szmek
5510a98fda systemd-sysext: introduce a global config (#38250)
This PR implements what is proposed in
https://github.com/systemd/systemd/issues/37992.

Having a global config file that supports the same cmdline options for
sysext/confext allows the user to customize the behavior of
systemd-sysext.service unit too, without the need of hacking the service
manually.

The global config will live in
`CONF_PATHS_STRV()/systemd/{sysext/confext}.conf` and it will be
overridden by cmdline, so it is possible to customize a run if
`systemd-sysext` is executed manually.

For now support `--mutable=` (`Mutable`) and `--image-policy=`
(`ImagePolicy`).
2025-09-17 15:13:11 +02:00
Zbigniew Jędrzejewski-Szmek
86048cce95 journalctl: add -W as short for --no-hostname
--no-hostname is one of the switches I use very often. In particular,
when looking at CI logs, the hostname is almost never interesting.
-H is not yet used in journalctl, because journal operates locally, but
will want it if display of remote journals is implemented. Use -W.
2025-09-17 14:27:00 +02:00
Zbigniew Jędrzejewski-Szmek
8b6c1d392e journalctl: fix erroneuous mention of "local" hostnames
--no-hostname applies equally to remote and local logs.

This change is a separate commit to make it easy to backport.
2025-09-17 14:26:23 +02:00
Alan Brady
113ef23264 nspawn: add NamespacePath support for nspawn files
Commit d7bea6b6 ("nspawn: introduce an option for specifying network
namespace path") already did most of the work here enabling a command
line option for specifying the namespace path for a given container.
Someone even took care of the merging code in merge_settings as though
this already worked. All that's then needed is to add a line to the
nspawn-gperf.gperf file to actually enable being able to specify
NamespacePath from nspawn files as well.

This greatly simplifies how we configure nspawn containers by being able
to give all the options we need in .nspawn files instead of needing to
also use command line parameters.

Closes: #27188
2025-09-17 14:14:02 +02:00
Luca Boccassi
e80394e193 man: clarify that machined RootDirectory parameter is informational only
It's basically just a label, it is not used for any purpose
2025-09-16 15:58:28 +01:00
Andreas Schneider
775a31bdfa man: Update systemd-userdbd.service about .group extension 2025-09-16 16:13:22 +02:00
Christopher Head
fafe447dcd ukify: fix backend/option applicability docs
The `SecureBootPrivateKey` and `SecureBootCertificate` options are used
by the `systemd-sbsign` backend, not just the `sbsign` backend.
2025-09-11 12:07:03 +01:00
Raura
d18a6c861d Remove mention of inactive Tanglu distro from systemd-nspawn man page (#38873)
Distribution seems inactive for a long time, and the mentioned website has disappeared.
https://distrowatch.com/table.php?distribution=tanglu
2025-09-09 22:19:46 +01:00
Luca Boccassi
cb90434c2a bootctl: minor fixups (#38856) 2025-09-08 18:38:56 +01:00
Christian Hesse
e3b1743596 man/loader.conf: specify that default entry is id...
... which is the file name including literal suffix `.conf`.
2025-09-08 12:00:00 +01:00
Antonio Alvarez Feijoo
aa089759ad man/bootctl: replace reference to --no-variables with --variables=no 2025-09-08 12:32:13 +02:00
наб
f1fdfabcde sd_bus_message_read.1: fix x/t being [iu]32 instead of [iu]64 2025-09-07 12:50:00 +09:00
Yu Watanabe
a1eb53e934 man/repart.d: mention each field of MountPoint= needs to be quoted when contains colon
Closes #38749.
2025-09-04 01:46:11 +09:00
Allison Karlitskaya
5a1b64fee0 man: add docs for ssh.ephemeral-authorized_keys-all
This was added in 071155a1fb ("ssh-generator: support
ssh.ephemeral-key.all-users") without corresponding documentation.  Add
the missing docs now.
2025-09-03 13:04:34 +02:00
Felix Pehla
823fc6e9f7 man: loader.conf(5): document auto-reboot/auto-poweroff
These options were added in v255 with commit
cb341090d0, but were not documented as
standalone options in loader.conf. See #29440 for more information.
2025-08-31 08:22:44 +09:00
Emanuele Giuseppe Esposito
eb44fa4d19 repart: make --key-file also configurable in repart.d/*
Add repart.d KeyFile= option with the same syntax as --key-file.
This allows a per-partition key file encryption, and not rely on a global key
applicable to all partitions.

The global --key-file overrides KeyFile config. If none of them is
defined, rely on default.
2025-08-26 07:17:12 -04:00
Emanuele Giuseppe Esposito
49dcc89ddc repart: make --tpm2-pcrs also configurable in repart.d/*
Add repart.d TPM2PCRs= option with the same syntax as --tpm2-pcrs.
This allows a per-partition pcr binding, and not rely on a global config
applicable to all partitions.

The global --tpm2-pcrs overrides TPM2PCRs config. If none of them
is defined, rely on default.
2025-08-26 07:17:01 -04:00
Jörg Behrmann
7175007020 man: unify spelling of OS-specific 2025-08-25 14:38:00 +02:00
Jörg Behrmann
09a89190bb man: add note about extending machine-info to man page 2025-08-25 14:38:00 +02:00
Yu Watanabe
4fd9b83c20 man: add missing comma 2025-08-14 23:33:39 +09:00
Antonio Alvarez Feijoo
13358b7ce2 bootctl: specify that kernel image commands require a kernel image argument 2025-08-13 11:28:22 +01:00
Zbigniew Jędrzejewski-Szmek
f8976ad3c1 man: fix links
Found using linkchecker.
For virtiofsd, the man page is maintained upstream, but doesn't seem to be
available in any of the usual places. So let's link to the Debian version.
systemd.filter I have no idea what it is.
2025-08-11 10:30:26 +02:00
Zbigniew Jędrzejewski-Szmek
ee1ded6cd6 man: add sd-path page
We have similar pages for other parts of libsystemd too.
2025-08-10 13:40:32 +02:00
Luca Boccassi
9cd3e63014 stub: also pickup global .raw sysexts, like per-UKI ones
It is extremely confusing to use different filenames for different
locations, so pick up the same images for both per-UKI and global
extensions

Follow-up for 9f7e3820e9
2025-08-05 17:06:15 +02:00
Yu Watanabe
f9711c771a man: fix typo 2025-08-04 05:30:16 +09:00
Graham Clinch
9753ab34cd Correct order for implied time & date specifications.
The text now reads as:
[if] time specification is omitted, 00:00:00 is implied
[if] date specification is omitted, *-*-* is implied
2025-08-01 12:43:44 +01:00
Yu Watanabe
bbc10f31ae Print location of loader.conf in bootctl status and related updates (#38389) 2025-07-29 22:34:16 +09:00
Zbigniew Jędrzejewski-Szmek
509f701ab3 man/systemd-boot: recommend holding space by default
https://github.com/systemd/systemd/pull/15509/files#r2234113960 complains that the
advice is still not clear enough. systemd-boot itself says
  "Menu hidden. Hold down key at bootup to show menu."
so let's do the same and tell users to hold down space as the first option.
This should work fine for 99% of people. Then invert the following advice to
try repeated pressing as the alternative option.

Also, fix the advice about --boot-loader-menu=. The whole para is about getting
the menu to show, so 0 is not a good value.

Follow-up for https://github.com/systemd/systemd/pull/15509.
2025-07-29 11:36:21 +02:00
Zbigniew Jędrzejewski-Szmek
7a800a6656 man/systemd-boot: describe which keys use EFI variables
Some keys have only a transient effect, e.g. 'e', but some have a persistent
effect, e.g. 'd'. This is important informations, but the reader might be
forgiven for not finding that at all obvious when reading the descriptions of
the keys.

Also, mention in loader.conf man page that the settings there might be overriden
by EFI variables. This is another thing that is important but not obvious.
2025-07-29 11:36:21 +02:00
Zbigniew Jędrzejewski-Szmek
ec7e81ae3d man/loader.conf: wrap some very wrong lines 2025-07-29 11:36:21 +02:00
Zbigniew Jędrzejewski-Szmek
a83de23353 man: fix confusion in loader.conf
For some reason, the man page for loader.conf also mentioned type#1 entries
in passing. Except for using the same file extension, those files are in a
completely different format and with a different purpose. This mixup was
first introduced in f37d383582, was then
reported in #10923, which was closed by cbae79b8d0,
but that didn't fix the actual issue.

Really fixes #10923.

While at it, simplify and improve the wording a bit.
2025-07-29 11:36:21 +02:00
Emanuele Giuseppe Esposito
887d0f8e93 sysext: support ImagePolicy global config option
Just as Mutable=, support ImagePolicy in systemd/{sysext/confext}.conf and
dropins in systemd/{sysext.confext}.conf.d/* configs.
2025-07-29 05:34:51 -04:00
Emanuele Giuseppe Esposito
afbf09350b man/sysext.conf: add systemd-sysext config files
Add sysext.conf, which similar to other configs like coredump, will be
searched in:
/{etc run usr/lib}/systemd/{sysext/confext}.conf
but also
/{etc run usr/lib}/systemd/{sysext/confext}.conf.d/*

This config is an alternative to command line options, especially useful
if we want to extend the service units without modifying them.
2025-07-29 05:34:50 -04:00
Brett Holman
04abe03189 man: correct the number of active unit states 2025-07-28 20:32:48 +01:00
Yu Watanabe
e9eaa66ed8 man/repart: fix the required btrfs-progs version
Follow-up for 12c29e5b3a.

Prompted by #38355.
2025-07-27 00:56:28 +01:00
Luca Boccassi
bcc73cafdb bootctl: automatically set --graceful when running in chroot
Installing stuff in a chroot should not fail because efivars are
not available. When running in a container touching efivars is
completely disabled, but there are some cases (recovery) where
it is needed to touch them in a chroot, so don't disable them but
avoid failing the run instead.
2025-07-25 20:44:03 +01:00
Zbigniew Jędrzejewski-Szmek
8aedfd979f tools: make all .py program files executable
All those files are standalone programs that can be executed directly.
Some .py files were marked executable, others weren't, probably accidentally.
Mark them all as executable in preparation for subsequent changes.
2025-07-25 12:33:13 +02:00
Zbigniew Jędrzejewski-Szmek
0e371ebb12 man: consistently use #!/usr/bin/python
Some files were using that, others weren't. Since those are user-facing
docs, we should use the nice clean form, not the workaround for strange
systems that we use in other places.
2025-07-25 12:33:13 +02:00
Luca Boccassi
28eec22f2f Fix typos found by Lintian 2025-07-24 11:38:47 +02:00
Allison Karlitskaya
3a883e89bc getty-generator: add support for fine-grained control of execution modes
This makes the systemd.getty_auto= kernel command line option and the
$SYSTEMD_GETTY_AUTO environment variable takes the list of classes of
services: credential, container, console, builtin.

This also add getty.auto credential that can take the same value as the
kernel command line option.

Closes #37928.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
2025-07-23 08:35:51 +09:00
haxibami
238c427aa9 network/dhcp6: add SIP server support 2025-07-22 17:05:13 +09:00
Yu Watanabe
3941032c6c journald-audit: do not control kernel auditing by non-default namespace instances by default
The kernel (thus system-wide) auditing should not be controlled by
non-default namespace instances, unless explicitly requested.
2025-07-18 15:27:03 +09:00
ZIHCO
ad6e02e7b4 systemd-analyze: added the verb unit-gdb to spawn and attach gdb 2025-07-17 15:09:58 +01:00