Commit Graph
7711 Commits
Author SHA1 Message Date
Lennart Poettering 95dafd30da battery-check: rework unit
Let's rename the unit to systemd-battery-check.service. We usually want
to name our own unit files like our tools they wrap, in particular if
they are entirely defined by us (i.e. not just wrappers of foreign
concepts)

While we are at it, also hook this in from initrd.target, and order it
against initrd-root-device.target so that it runs before the root device
is possibly written to (i.e. mounted or fsck'ed).

This is heavily inspired by @aafeijoo-suse's PR #28208, but quite
different ;-)
2023-07-01 03:19:16 +08:00
Ivan Vecera 88d2bda812 udev-builtin-net_id: align VF representor names with VF names
Certain cards support to set their eswitch to switchdev mode. In this
mode for each created VF there is also created so called VF representor.
This representor is helper network interface used for configuration of
mentioned eswitch and belongs to an appropriate PF.

VF representors are identified by the specific value of phys_port_name
attribute and the value has format "pfMvfN" where M is PF function
number and N is VF number inside this PF.

As the VF representor interfaces belong to PF PCI device the naming
scheme used for them is the same like for other PCI devices. In this
case name of PF interface is used and phys_port_name suffix is appended.

E.g.
 PF=enp65s0f0np0 # phys_port_name for PF interface is 'p0'
 VF=enp65s0f0np0v0 # v0 is appended for VF0 in case of NAMING_SR_IOV_V
REP=enp65s0f0np0pf0vf0 # phys_port_name for VF0 representor is 'pf0vf0'

First as the phys_port_name for representors is long (6+ chars) then the
generated name does not fit into IFNAMSIZ so this name is used only as
alternate interface name and for the primary one is used generic one
like eth<N>. Second 'f0' and 'pf0' in REP name is redundant.

This patch fixes this issue by introducing another naming scheme for VF
representors and appending 'rN' suffix to PF interface name for them.
N is VF number so the name used for representor interface is similar to
VF interface and differs only by the suffix.

For the example above we get:
 PF=enp65s0f0np0
 VF=enp65s0f0np0v0
REP=enp65s0f0np0r0

This eases for userspace to determine which representor interface
represents particular VF.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2023-06-29 22:18:05 +01:00
Luca Boccassi 3a6a93220a Merge pull request #28191 from yuwata/network-ipv6-privacy-extensions
network: introduce global setting for IPv6 privacy extensions
2023-06-29 22:16:10 +01:00
Lennart Poettering eb99c45914 man: add brief smbios-type-11 man page 2023-06-29 22:13:11 +01:00
Lennart Poettering 452cfd983f man: document vmm.notify_socket credential in systemd(1) man page
Let's move the long explanation to the man page of the component that
interprets the credential, and keep only a brief summary in
systemd.system-credentials(7).
2023-06-29 22:11:41 +01:00
Yu Watanabe 932ef6ecd4 network: add global setting for IPv6PrivacyExtensions=
Closes #28186.
2023-06-29 21:40:47 +09:00
Yuxiang Zhu b67e8a4e3e network: Add IgnoreDdontFragment= option for Fragmentation control (#28131)
From `ip-link(8)`:
> [no]ignore-df - enables/disables IPv4 DF
                      suppression on this tunnel.  Normally datagrams
                      that exceed the MTU will be fragmented; the
                      presence of the DF flag inhibits this, resulting
                      instead in an ICMP Unreachable (Fragmentation
                      Required) message.  Enabling this attribute causes
                      the DF flag to be ignored.

If this option is enabled for a GRE/GRETAP tunnel, the `DF` flag in the outer IP header
will not inherit the inner IP header's `DF` flag.

This is useful to transfer packets that exceed the MTU of the underlay
network.
2023-06-29 12:11:52 +02:00
Alexander Krabler 9d5c20657a man: Extend journalctl color information
Add sentence about colored warning messages in journalctl.
2023-06-29 10:10:09 +02:00
Yu Watanabe be994c2640 battery-check: several follow-ups
Follow-ups for e3d4148d50.

- add reference to initrd-battery-check.service in man page, and move
  its section from 1 to 8,
- add link to man page in help message,
- introduce ERRNO_IS_NO_PLYMOUTH(),
- propagate error in battery_check_send_plymouth_message(),
- rename battery_check_send_plymouth_message() -> plymouth_send_message(),
- return earlier when the first battery level check passed to reduce
  indentation,
- fix potential use of invalid fd on battery restored,
- do not use emoji for /dev/console,
- add simple test (mostly for coverity),

etc, etc...
2023-06-29 15:41:00 +09:00
Lennart Poettering b50aadaff2 tmpfiles: teach tmpfiles the new XDG_STATE_HOME variable too 2023-06-28 22:13:13 +02:00
Lennart Poettering cc8fdd5d30 man: properly close XML tags 2023-06-28 22:12:03 +02:00
Lennart Poettering fa1d34825a man: rebreak lines in file-hierarchy(7) a bit
(Does not change a single word, just rebreaks a bunch of paragraphs
matching our current line breaking rules)
2023-06-28 22:11:06 +02:00
Franklin Yu b4d6bc63e6 man: mention the newly-added XDG_STATE_HOME
The description is copied from config-home.

Taken from: #27795
2023-06-28 22:10:18 +02:00
Lennart Poettering f9c91932b4 execute: add support for XDG_STATE_HOME for placing service state data in --user mode
This adds support for the new XDG_STATE_HOME env var that was added to
the xdg basedir spec. Previously, because the basedir spec didn't know
the concept we'd alias the backing dir for StateDirectory= to the one
for ConfigurationDirectory= when runnin in --user mode. With this change
we'll make separate. This brings us various benefits, such as proper
"systemctl clean" support, where we can clear service state separately
from service configuration, now in user mode too.

This does not come without complications: retaining compatibility with
older setups is difficult, because we cannot possibly identitfy which
files in existing populated config dirs are actually "state" and which
one are true" configuration.

Hence let's deal with this pragmatically: if we detect that a service
that has both dirs configured only has the configuration dir existing,
then symlink the state dir to the configuration dir to retain
compatibility.

This is not great, but it's the only somewhat reasonable way out I can
see.

Fixes: #25739
2023-06-28 22:01:55 +02:00
Lennart Poettering 9a653235d1 sd-path: add support for XDG_STATE_HOME 2023-06-28 21:55:33 +02:00
Lennart Poettering 5e4c66450c Merge pull request #27830 from 1awesomeJ/initrd
PID1: Detect battery level in initrd and if low refuse continuing to …
2023-06-28 19:18:03 +02:00
Lennart Poettering f70c90f5ca analyze: add new "pcrs" verb
It shows the PCRs we know about along with their name strings and
current values.
2023-06-28 16:50:50 +02:00
OMOJOLA JOSHUA e3d4148d50 PID1: detect battery level in initrd and if low refuse continuing to boot, print message and shut down. 2023-06-28 14:48:54 +01:00
Lennart Poettering 5d97475b27 sysv-generator: deprecate even more
Let's add a comment about the deprecation to the docs, and as comment to
the sources.

Follow-up for: #28179
2023-06-28 10:39:06 +01:00
Lennart Poettering a27e6fb71b man: rework BPFForeign= documentation a bit
Various assorted changes, among them make clear that a missing BPF
program is not reason to abort unit activation.
2023-06-26 13:16:11 +02:00
Mike Yuan 9deeca1275 hibernate-resume: support resuming through efivar HibernateLocation 2023-06-24 00:04:32 +08:00
Mike Yuan 760e99bb52 hibernate-resume: rework to follow the logic of sleep.c and use
main-func.h

Preparation for #27247
2023-06-23 23:57:49 +08:00
Antonio Alvarez Feijoo 191b891bf1 man: fix references to gethostname/sethostname 2023-06-23 23:38:05 +08:00
Frantisek Sumsal dc7e580e64 tree-wide: use https for the 0pointer.de doc links 2023-06-23 13:46:56 +01:00
Lennart Poettering e6421b6ccd man: correct and extend JournalSizeMax=
The man page claimed the default was 10M, but that's not true, it's
767M.

Also mention there's no point in increasing it further.

See: #26748
2023-06-23 09:49:41 +02:00
Lennart Poettering 58373cebb8 Merge pull request #28104 from DaanDeMeyer/emergency-kexec-halt
core: Add halt and kexec emergency actions
2023-06-22 16:07:35 +02:00
Lennart Poettering 947c4d3952 core: restrict ImportCredential= globbing
Let's restrict how we apply credential globbing in ImportCredential=, so
that we have some flexibility in automatically extending the glob
expression with per-instance data eventually without getting into
conflict with the globbing parts.

In our current uses we only allow globbing at the end of the expression,
and this is a new, unreleased feature hence let's be restrictive on this
initially. We can still relax this later if we feel the need to after
all.

Fixes: #28022
2023-06-22 16:07:09 +02:00
Jan Luebbe 173d47f788 man: correct reference to sd_id128_get_boot_app_specific
The function sd_id128_get_boot_app_specific is the app specific variant of
sd_id128_get_boot.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
2023-06-22 12:34:00 +01:00
Daan De Meyer 3cf848f6cd core: Add halt and kexec emergency actions
Let's complete the picture by adding the missing halt and kexec
emergency actions.
2023-06-22 10:33:13 +01:00
Daan De Meyer 33885343cf Merge pull request #27942 from DaanDeMeyer/root-ephemeral
core: Add RootEphemeral= setting
2023-06-21 17:24:39 +02:00
Daan De Meyer 9c0c670125 core: Add RootEphemeral= setting
This setting allows services to run in an ephemeral copy of the root
directory or root image. To make sure the ephemeral copies are always
cleaned up, we add a tmpfiles snippet to unconditionally clean up
/var/lib/systemd/ephemeral. To prevent in use ephemeral copies from
being cleaned up by tmpfiles, we use the newly added COPY_LOCK_BSD
and BTRFS_SNAPSHOT_LOCK_BSD flags to take a BSD lock on the ephemeral
copies which instruct tmpfiles to not touch those ephemeral copies as
long as the BSD lock is held.
2023-06-21 12:48:46 +02:00
Zbigniew Jędrzejewski-Szmek 8a38b62f37 meson: update man rules
Fixup for 403082602d.
2023-06-21 07:29:23 +02:00
Daan De Meyer dbc3cc8b83 tmpfiles: Add note to man page about guaranteed cleanup for files/directories 2023-06-20 15:22:47 +02:00
Zbigniew Jędrzejewski-Szmek 72e7bfe02d Merge pull request #27941 from cvlc12/early_cpio
Define 'microcode' file type for the kernel-install staging area.
2023-06-19 18:49:31 +02:00
cvlc12 4221065237 Add docs, improve log comments. 2023-06-19 17:34:53 +02:00
Frantisek Sumsal ed8f65c729 Merge pull request #28078 from keszybz/trivial-syntax-and-wording-fixes
Trivial syntax and wording fixes
2023-06-19 16:41:16 +02:00
Lennart Poettering 5cbfbf2aaa man: place options in a some limited form of subsections
Let's visually separate the options associated with cpu, io, memory, …
in subsections

This patch tries to be minimal. It just adds the section titles, and
does minimal reordering to make sure the options on the same kind of
resource are placed close to each other.
2023-06-19 13:42:34 +02:00
Zbigniew Jędrzejewski-Szmek 730bdfed81 man/systemd-nspawn: fix indentation and parenthesis location 2023-06-19 13:36:30 +02:00
Zbigniew Jędrzejewski-Szmek 966dd7527d man: missing/misplaced periods 2023-06-19 13:36:30 +02:00
Sam Morris d9714fe405 Resource control manpage fixup (#28046)
The order of the description of each item should match the order that they are declared. Un-document effect of deprecated non-unified CGroup hierarchy on
DefaultCPUAccounting=. Mention that the default value for DefaultCPUAccouting= is 
affected by the kernel version.
2023-06-19 13:30:43 +02:00
licunlong a068eeac6f core/dbus-manager: also show DefaultIOAccounting and DefaultIPAccounting
fix: https://github.com/systemd/systemd/issues/28045
2023-06-19 09:57:11 +02:00
Luca Boccassi e0a067a251 portable: fix silly typo in D-Bus interface name
D'oh. Nobody noticed in 3 years, I guess nobody calls these directly
and instead the manager's methods are used. Still we'll have to keep
this around, so just hide it.
2023-06-16 12:31:56 +01:00
Kiran Vemula 5ed91481ab resolved: added serve stale feature implementation of RFC 8767
serve stale feature to keep the DNS resource records beyond TTL to return them as stale records in case of upstream server is not reachable or returns negative response.
SD_RESOLVED_NO_STALE flag has been added to disable serving stale records via dbus.
added serve stale test cases to TEST-75-RESOLVED
Fixes: #21815
2023-06-16 10:20:15 +01:00
zhmylove 61cecfa0d8 journalctl: add --truncate-newline option 2023-06-16 09:31:47 +02:00
Frantisek Sumsal 9a27ef092e tree-wide: fix a couple of typos
As reported by Fossies.org.
2023-06-15 20:52:45 +02:00
Henrik Holst cf4dbd84ac network: make degraded-carrier bond/bridge as routable (#27776)
This makes a bond or bridge interface in the degraded-carrier state but has a routable address
handled as routable operational state.

If the carrier is degraded but the address state is routable then the operational state should be
seen as routable and not degraded because that may be the case for bonds if some of the links are down,
but when that happens the bond as whole is still routable.

This also makes operational state to degraded if address state is degraded even if the link state is
degraded-carrier.

Fixes #22713.
2023-06-15 13:32:10 +09:00
Zbigniew Jędrzejewski-Szmek 2b8628c704 Merge pull request #27946 from keszybz/ukify-genkey-verb
Add 'genkey' verb to ukify
2023-06-14 17:57:24 +02:00
Lennart Poettering f66d040d95 Merge pull request #28032 from poettering/mumumµ
deal with µ unicode ambiguities
2023-06-14 14:00:10 +02:00
Zbigniew Jędrzejewski-Szmek 814e4d7a67 ukify: make the certficate validity configurable
Requested in https://github.com/systemd/systemd/pull/27946/commits/4cc743319ae378d458050d6e0cfdeaa03addd379#r1228592001
2023-06-14 13:18:00 +02:00
Zbigniew Jędrzejewski-Szmek a3f758b310 man/ukify: add structure to describe verbs, document genkey
This just adds two paragraphs of text, but moves a lot of the text
one level down into a subsection.
2023-06-14 13:18:00 +02:00