Commit graph

55185 commits

Author SHA1 Message Date
Daan De Meyer 357376d0bb kernel-install: Introduce KERNEL_INSTALL_MACHINE_ID in /etc/machine-info
If KERNEL_INSTALL_MACHINE_ID is defined in /etc/machine-info, prefer it
over the machine ID from /etc/machine-id. If a machine ID is defined in
neither /etc/machine-info nor in /etc/machine-id, generate a new UUID
and try to write it to /etc/machine-info as KERNEL_INSTALL_MACHINE_ID
and use it as the machine ID if writing it to /etc/machine-info succeeds.

In practice, this means we have a more robust fallback if there's no
machine ID in /etc/machine-id than just using "Default" and allows
image builders to force kernel-install to use KERNEL_INSTALL_MACHINE_ID
by simply writing it to /etc/machine-info themselves.
2021-12-16 12:24:42 +01:00
Daan De Meyer 447a822f8e kernel-install: Remove "Default" from list of suffixes checked
This was an undocumented change in behavior introduced by
9e82a74cb0. Previously, we only
checked for "Default" if we didn't find a machine ID. Let's make
sure we keep the previous behavior intact.
2021-12-15 14:00:31 +01:00
Yu Watanabe 372e8592c6 wait-online: also use address state even when operational state is below degraded
Closes #21706.
2021-12-14 10:32:56 +01:00
Nishal Kulkarni b4bb96f3f2 shell-completion: Add completion for systemd-analyze critical-chain
systemd-analyze critical-chain accepts an optional unit argument,
however currently there's no shell-completion for it
This change provides unit name completion for both bash and zsh.

Closes: #20927
2021-12-14 10:27:49 +01:00
acsfer 265f76be72 Fix loading of graphs 2021-12-14 15:27:25 +09:00
Robert Scheck 7964702007 boot, meson: allow statically linked build
Build option "link-boot-shared" to build a statically linked bootctl and
systemd-bless-boot by using

  -Dlink-boot-shared=false

on systems with full systemd stack except bootctl and systemd-bless-boot,
such as CentOS/RHEL 9.
2021-12-14 09:58:27 +09:00
Davide Cavalca ba38a24de3 man: do not install sd-boot man pages when -Dgnu-efi=false is set 2021-12-14 00:08:55 +00:00
Sho Iizuka 17cfd6f96f man: how to unset CPUQuota=
This description will help users who are trying to reset the already configured
CPUQuota= by trying incorrect ways such as CPUQuota=0 or CPUQUota=infinity.
2021-12-13 19:43:56 +00:00
Luca Boccassi 720db03495
Merge pull request #21752 from keszybz/man-creds
Small improvements to systemd-creds output and man page
2021-12-13 19:43:37 +00:00
Zbigniew Jędrzejewski-Szmek ecc5d0c008 man: make systemd-creds man page a bit easier to read 2021-12-13 15:01:44 +01:00
Zbigniew Jędrzejewski-Szmek ff43ae228b shared/creds: print debugging information when something goes wrong 2021-12-13 15:01:44 +01:00
dependabot[bot] fdae4504c7 build(deps): bump actions/upload-artifact from 2.2.4 to 2.3.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](27121b0bdf...da838ae959)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 14:45:19 +03:00
Luca Boccassi a0630d46a5
Merge pull request #21749 from nabijaczleweli/bashpsko
Shebang bash via env
2021-12-13 11:11:39 +00:00
dependabot[bot] 1805759ea0 build(deps): bump github/codeql-action from 1.0.25 to 1.0.26
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1.0.25 to 1.0.26.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](546b30f35a...5f53256358)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 13:18:55 +03:00
Luca Boccassi 109a157cea test: bump timeout for TEST-50-DISSECT and TEST-67-INTEGRITY
TEST-67-INTEGRITY times out quite often, and when it passes
it does so a few seconds short of the timeout. It's a slow
qemu test, so bump the timeout.
TEST-50-DISSECT has been reported to fail in the same way
on Debian's infrastructure, again narrowly failing or passing
just short of the timeout.
2021-12-13 09:29:47 +01:00
Zbigniew Jędrzejewski-Szmek a587a16af2 man: reorder item
We said that recovery keys are "similar to regular passphrases"
before intorducing "regular passphrases".
2021-12-13 09:25:31 +01:00
наб 1e8c094cb8
man/sd-run: /bin/bash -> bash in -t example
sd-run already does PATH lookup via find_executable_full()
2021-12-12 21:13:51 +01:00
наб a6ac4cbc4e
man/sd-notify: /bin/bash -> /bin/sh, read -> read -r in example 2021-12-12 21:13:50 +01:00
наб f1e6f93372
Change all fixed-path bash shebangs to /u/b/env bash outside test/ 2021-12-12 21:13:50 +01:00
igo95862 2e081f18d6 Disable exporting D-Bus Introspection XML if cross-compiling
This is a soft disable. Passing `dbus-interfaces-dir` build option
will with path or 'yes' enable exports again even when cross
compiling. (maybe your environment will allow to execute
cross compiled binaries)
2021-12-12 16:51:03 +00:00
Jarkko Sakkinen b5d3138f91 Enable /dev/sgx_vepc access for the group 'sgx'
Enable /dev/sgx_vepc access for the group 'sgx', which allows KVM-backed VMs
to host Intel Software Guard eXtension (SGX) enclaves. The upcoming QEMU
6.2 uses /dev/sgx_vepc to reserve portions of Enclave Page Cache (EPC) for
VMs. EPC is the reserved physical memory used for hosting enclaves.
2021-12-12 11:02:21 +00:00
Zbigniew Jędrzejewski-Szmek 6d7bc744ce
Merge pull request #21614 from medhefgo/boot-bcd
boot: Add BCD store parser
2021-12-12 09:18:26 +01:00
Jan Janssen d2a58f0edb meson: Drop meson version compare for fuzz test
We are depending on meson >= 0.53.2 now, so this check can be dropped.
2021-12-12 11:51:03 +09:00
Jan Janssen db7f5ab68f test: Add BCD unit test 2021-12-11 21:32:29 +01:00
Jan Janssen 986fd3ebc2 boot: Remove unused memmem_safe 2021-12-11 21:32:29 +01:00
Jan Janssen f7bc0fb35b boot: Add BCD store parser
This replaces the memmem-based approach of finding a suitable title
for the windows boot manager with one that actually parses the BCD
store. It's probably faster but more importantly, it's more correct.

The memmem approach may detect stale title strings that are still
in the file but unused due to the way registry hives are updated.
This approach also allows us to detect if the BCD store is multi-boot
so that we can fall back on the generic one instead.
2021-12-11 21:32:23 +01:00
Jan Janssen 7700e9ba15 boot: Make OFFSETOF lowercase
This is more in line with the userspace offsetof.
2021-12-11 20:50:03 +01:00
Jan Janssen 245e9d55ae boot: Add strncasecmpa helper function 2021-12-11 20:50:03 +01:00
Jan Janssen 3af5a8c613 meson: Fix gnu-efi detection for clang
The gnu-efi headers emit some warnings in clang when not compiled with
-ffreestanding. This is normally not an issue for has_header_symbol()
unless meson is run with CFLAGS="-Werror". Note that this differs
from the --werror option, which does not get passed to clang.

Work around this by adding some compile args to the has_header_symbol()
invocation.
2021-12-12 04:31:41 +09:00
Zbigniew Jędrzejewski-Szmek dc79ae23fb
Merge pull request #21664 from yuwata/network-tunnel-cleanups
network: several cleanups for tunnel device
2021-12-11 17:17:40 +01:00
Zbigniew Jędrzejewski-Szmek 881ab17ef7
Merge pull request #21570 from AdrianVovk/stub-global-creds
stub: Load credentials from \loader\credentials\*.cred
2021-12-11 15:59:10 +01:00
Topi Miettinen 124139859e namespace: allow overriding /run with a TemporaryFileSystem=
Lower priority of RUN, so that TMPFS and especially the mount flags given with
`TemporaryFileSystem=` are used.

This allows making `/run` private with drop-ins such as:
```
[Service]
BindReadOnlyPaths=/run/systemd:/run/systemd:norbind
TemporaryFileSystem=/run:nodev,noexec,nosuid,rw,size=32k,nr_inodes=10,mode=0755
```
2021-12-11 15:57:42 +01:00
Zbigniew Jędrzejewski-Szmek b5d2163b8e
Merge pull request #21727 from medhefgo/ld
ci: Build test with different linkers
2021-12-11 15:55:35 +01:00
Zbigniew Jędrzejewski-Szmek 433cfaf038
Merge pull request #20598 from tomty89/order_noauto
fstab-generator, core/mount: Avoid special fs target before dependency only if nofail is used
2021-12-11 14:06:38 +01:00
Luca Boccassi 74d99c3ffb
Merge pull request #21731 from yuwata/test-62-bpf-framework
test: fix TEST-62
2021-12-11 10:46:46 +00:00
Jan Janssen 1ad2c76d5d meson: Auto detect efi-ld 2021-12-11 11:29:30 +01:00
Jan Janssen aa22e69856 ci: Build test with different linkers 2021-12-11 11:03:29 +01:00
Yu Watanabe 60055fd176 test: add missing section for Description= 2021-12-11 11:55:03 +09:00
Yu Watanabe c18f18745b test: fix grepping fixed string starts from hyphen
Follow-up for 85445fba22.

Fixes #21718.
2021-12-11 11:54:24 +09:00
Jonas Jelten 3abdd4bf2e network-generator: support link6 network configuration
this just brings up an interface in order to have IPv6 link local
connectivity.
2021-12-11 11:03:42 +09:00
igo95862 9ff2b35f87 Export systemd-networkd D-Bus XML introspection 2021-12-11 00:42:39 +00:00
Adrian Vovk f3b6f33387
stub: Load credentials from \loader\credentials\*.cred
Some types of credentials that a user would want to pass
into the initrd do not depend on the specific kernel/initrd
version. For instance, this can include SSH keys, rootfs
encryption keys, dm-integrity keys, and so on. This
introduces a directory where such credentials can be placed
so that any kernel image will load them
2021-12-10 15:56:33 -05:00
Zbigniew Jędrzejewski-Szmek 40676ce6f8
Merge pull request #21722 from yuwata/bpf-framework
build: include BPF_FRAMEWORK in version string
2021-12-10 17:18:24 +01:00
Frantisek Sumsal f4ec527492
Merge pull request #21708 from mrc0mmand/mkosi-ci-improvements
ci: check for failed services after boot
2021-12-10 13:50:55 +00:00
Yu Watanabe d1dfedcf85 test: addresses shell check warning
This fixes the following warning:
-----
In /github/workspace/test/units/testsuite-62.sh line 39:
KERNEL_MINOR="${KERNEL_VERSION#$KERNEL_MAJOR.}"
                               ^-----------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.

Did you mean:
KERNEL_MINOR="${KERNEL_VERSION#"$KERNEL_MAJOR".}"
2021-12-10 20:07:38 +09:00
Yu Watanabe 85445fba22 test: skip TEST-62 if bpf-framework is not supported
Fixes #21718.
2021-12-10 19:54:33 +09:00
Yu Watanabe 6b35ed80ed build: include BPF_FRAMEWORK tag in version string 2021-12-10 19:54:33 +09:00
Yu Watanabe 77a34a3751 meson: use subdir_done() to reduce indent 2021-12-10 19:54:33 +09:00
LaserEyess ea5e55b311 network: rename SetupState to AdministrativeState
This is more consistent with the terminology used elsewhere. In
particular it is consistent with the name of the property exposed over
dbus for the link state.
2021-12-10 18:42:34 +09:00
Frantisek Sumsal f7e3951d41 ci: run mkosi in a wrapper
So we can mitigate (to some degree) the reoccurring "dissect timeout"
issue:

```
Run sudo python3 -m mkosi boot systemd.unit=mkosi-check-and-shutdown.service !quiet systemd.log_level=debug systemd.log_target=console udev.log_level=info systemd.default_standard_output=journal+console
Failed to dissect image '/home/runner/work/systemd/systemd/image.raw': Connection timed out
Error: Process completed with exit code 1.
```
2021-12-10 10:25:45 +01:00