Commit Graph

285 Commits

Author SHA1 Message Date
Lennart Poettering
b1c95fb2e9 user-runtime-dir: enforce /tmp/ and /dev/shm/ quota
Enforce the quota on these two tmpfs at the same place where we mount
the per-user $XDG_RUNTIME_DIR. Conceptually these are very similar
concepts, and it makes sure to enforce the limits at the same place with
the same lifecycle.
2025-01-23 22:36:39 +01:00
Zbigniew Jędrzejewski-Szmek
dce73a47b0 README: add sgx to list of required groups
Follow-up for c9c4899f44.
2025-01-16 22:22:38 +01:00
Yu Watanabe
dd5a0f7d75 README: update requirements 2025-01-16 20:55:44 +00:00
Miroslav Lichvar
af96ccfc24 udev: set clock group for PTP and RTC devices
Add a new group for clock devices to enable applications like linuxptp
to open clocks without root privileges.
2025-01-16 21:12:47 +01:00
Lennart Poettering
1d522f1a86 terminal-util: drop support for pre-TIOCGPTPEER kernels
Our minimum baseline is now far beyond 4.13, hence let's drop these
fallback paths.
2025-01-15 10:39:04 +01:00
Mike Yuan
1a669ea7e1 README: document kernel version for idmapped mounts 2025-01-11 15:53:14 +01:00
Mike Yuan
16ac586e5a Bump minimum kernel baseline to 5.4, recommended version to 5.7
As requested, a list of kernel version to feature mapping
for kernels older than minimum baseline is also included,
in order to ease potential backport work.
2025-01-07 22:43:45 +01:00
Yu Watanabe
37b87a1690 README: CentOS Stream 8 reached EOL 2025-01-07 01:21:13 +09:00
Mike Yuan
07610cafcf namespace-util: modernize fd_is_namespace() and is_our_namespace()
- Make fd_is_namespace() take NamespaceType
- Drop support for kernel without NS_GET_NSTYPE (< 4.11)
- Port is_our_namespace() to namespace_open_by_type()
  (preparation for later commits, where the latter
  would go by pidfd if available, avoiding procfs)
2025-01-04 17:07:59 +01:00
Mike Yuan
c439bd25ca random-util: our baseline includes getrandom() (v3.17) now
Plus, linux/random.h never defined getrandom(), hence remove
the custom machinery for sys/random.h vs linux/random.h
in favor of single HAVE_GETRANDOM.
2025-01-02 20:40:45 +01:00
Mike Yuan
04e2bd63b6 README: document kernel version for GRND_INSECURE and close_range() 2025-01-02 20:04:42 +01:00
Mike Yuan
de69879b62 shared/hibernate-util: drop support for kernels lacking /sys/power/resume_offset
The current fallback path is actually unreliable, given
the kernel *supports* setting the resume offset through
cmdline after all, but just not exposed under /sys/.
For v258 let's drop it hence.

I didn't bump the baseline to 4.17, but merely documented
new requirement in README, because there's certainly more
compat stuff to drop between 4.3 and 4.17, and README is
a useful list for things to kill. We'll get to 5.4 eventually.
2025-01-02 15:55:33 +01:00
Mike Yuan
733bc1aee8 README: document a bunch of new kernel APIs we utilize 2025-01-02 15:55:32 +01:00
Lennart Poettering
6db5a6e799 doc: document new baseline requires memfd_create() 2024-12-17 18:26:15 +01:00
Lennart Poettering
00a415fc8f tree-wide: remove support for kernels lacking ambient caps
Let's bump the kernel baseline a bit to 4.3 and thus require ambient
caps.

This allows us to remove support for a variety of special casing, most
importantly the ExecStart=!! hack.
2024-12-17 17:34:46 +01:00
Mike Yuan
102efcd312 Bump kernel recommended baseline to v5.4 2024-10-16 18:06:11 +02:00
Luca Boccassi
a79b6dc070 README: update requirements for signed dm-verity
The newest kconfig enabling DB-verified dm-verity images is queued
for 6.11:

https://patchwork.kernel.org/project/dm-devel/patch/20240617220037.594792-1-luca.boccassi@gmail.com/
2024-07-04 19:04:58 +02:00
James Hilliard
aa329b8922 README: add missing CONFIG_MEMCG kernel config option for oomd
We need to enable this otherwise systemd-oomd.service fails to start.

Fixes:
ConditionControlGroupController=memory was not met
2024-07-03 22:11:24 +02:00
Zbigniew Jędrzejewski-Szmek
80cdf708df README: update link for backports 2024-05-28 14:48:56 +02:00
Zbigniew Jędrzejewski-Szmek
75ced6d5ee various: update links to usr-merge 2024-05-28 14:48:56 +02:00
zzywysm
755fdfffa0 README: mention fq_codel
In 2014, systemd started choosing fq_codel as the default_qdisc in order to fight internet bufferbloat.

e6c253e363
fa98c99ea7

While the subsequent change made this change no longer trigger warnings if fq_codel wasn't present, it is still recommended to have this enabled.  Add the necessary kernel configuration to the documentation.
2024-02-22 19:14:31 +00:00
Frantisek Sumsal
4e71714bca README: bump the gcc baseline to 8.4
We already use __VA_OPT__ in multiple places, which was introduced in
gcc 8 [0], so let's bump the baseline to reflect that. I chose gcc 8.4,
as that was the lowest 8.x version I could easily get my hands on when I
verified this (on Ubuntu Focal with the gcc-8 package).

Closes: #31191

[0] https://gcc.gnu.org/gcc-8/changes.html
2024-02-05 10:45:10 +00:00
Daan De Meyer
98118c44ae Remove a few references to dracut
Let's remove some explicit references to dracut as we prefer initrds
built with mkosi these days.
2024-01-24 17:54:38 +01:00
Daan De Meyer
2d05492040 Document kernel configs required for reading credentials from SMBIOS 2023-12-04 11:13:59 +01:00
Lennart Poettering
02e9308751 docs: excorcise NIS from nsswitch.conf
Let's replace the "compat" module in our proposed nsswitch.conf
configuration with "files", since it is not 1995 anymore.

Fedora and other distros have deprecated and removed NIS support a while
back. While others still retain some support I am not sure we should
advertise it in our examples. Downstream can of course still use
"compat" instead of "files" if they want to, but let's not confuse
people who don't care about NIS anymore with this.

Also, bring the nsswitch.conf snippet in README in line with what our
man pages say.

Also see: https://fedoraproject.org/wiki/Changes/retire_NIS_user_space_utils
2023-09-20 15:17:52 +02:00
Luca Boccassi
b0d3095fd6 Drop split-usr and unmerged-usr support
As previously announced, execute order 66:

https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html

The meson options split-usr, rootlibdir and rootprefix become no-ops
that print a warning if they are set to anything other than the
default values. We can remove them in a future release.
2023-07-28 19:34:03 +01:00
Luca Boccassi
9ce707d64e README: mention that meson 0.60 is now required 2023-07-07 11:44:54 +01:00
Lennart Poettering
dbf7509775 README: strenghten wording regarding static libs
static versions of libsystems.so are not really supportable, and
encourages mix&match which we cannot really support. Make the wording
about this stronger in the README, since people apparently don'd read to
the last paragraph.
2023-06-30 18:22:42 +02:00
Yu Watanabe
7aeafa93df README: drop busybox requirement
Follow-up for 5656759d06.
2023-05-18 10:51:49 +02:00
Zbigniew Jędrzejewski-Szmek
522c108de1 README: describe how our libraries are linked
In https://github.com/systemd/systemd/pull/27637#issuecomment-1547517316
we discussed disclaiming warranty when distros do version mixing.
But to make this disclaimer meaningful, we need to document what options are
available.
2023-05-16 08:50:11 +02:00
Zbigniew Jędrzejewski-Szmek
7c0d79131b README: require python >= 3.7, clean up module descriptions
libpython was added in 2cc86f094a, it seems
because of python-systemd module that we built. But libpython by itself
is not enough for actual python programs, and now we also list python itself,
so let's drop libpython from the list.

meson requires >= 3.7. We have CI that runs on CentOS8 with Python 3.6, but
let's not provide official support for an EOL Python version. Individual
distributions can provide backports, but we don't need to mention that in
the user-facing docs. According to [1], 3.7 is on life support and 3.6 is EOL.

[1] https://devguide.python.org/versions/
2023-05-09 08:11:10 +02:00
Mike Yuan
7d33146dbc docs: update unit name for sd-tmpfiles-setup 2023-03-19 01:32:50 +08:00
Jan Janssen
2afeaf1675 boot: Bring back bootloader builds
This adds back sd-boot builds by using meson compile targets directly.
We can do this now, because userspace binaries use the special
dependency that allows us to easily separate flags, so that we don't
pass anything to EFI builds that shouldn't be passed.

Additionally, we pass a bunch of flags to hopefully disable/override any
distro provided flags that should not be used for EFI binaries.

Fixes: #12275
2023-03-10 11:41:08 +01:00
Jan Janssen
dfca5587cf tree-wide: Drop gnu-efi
This drops all mentions of gnu-efi and its manual build machinery. A
future commit will bring bootloader builds back. A new bootloader meson
option is now used to control whether to build sd-boot and its userspace
tooling.
2023-03-10 11:41:03 +01:00
Zbigniew Jędrzejewski-Szmek
50b35193ec meson: merge our two valgrind configuration conditions into one
Most of the support for valgrind was under HAVE_VALGRIND_VALGRIND_H, i.e. we
would enable if the valgrind headers were found. The operations then we be
conditionalized on RUNNING_UNDER_VALGRIND.

But in a few places we had code which was conditionalized on VALGRIND, i.e. the
config option. I noticed because I compiled with -Dvalgrind=true on a machine
that didn't have valgrind.h, and the build failed because
RUNNING_UNDER_VALGRIND was not defined. My first idea was to add a check that
the header is present if the option is set, but it seems better to just remove
the option. The code to support valgrind is trivial, and if we're
!RUNNING_UNDER_VALGRIND, it has negligible cost. And the case of running under
valgrind is always some special testing/debugging mode, so we should just do
those extra steps to make valgrind output cleaner. Removing the option makes
things simpler and we don't have to think if something should be covered by the
one or the other configuration bit.

I had a vague recollection that in some places we used -Dvalgrind=true not
for valgrind support, but to enable additional cleanup under other sanitizers.
But that code would fail to build without the valgrind headers anyway, so
I'm not sure if that was still used. If there are uses like that, we can
extend the condition for cleanup_pools().
2023-02-22 11:39:44 +01:00
Luca Boccassi
164070e497 README: explicitly note that util-linux's mount/swap are required
These are the most visible and hard requirements, as we use options that
busybox does not provide, so list them explicitly to avoid surprises
2023-02-10 13:24:51 +00:00
Zbigniew Jędrzejewski-Szmek
1f6da5d902 ci: install pefile 2022-12-07 15:53:47 +01:00
Luca Boccassi
a460debc8e README: note Kconfig for verifying DDIs via MoK keys
Also note them in the mkosi.build kernel config list
2022-11-14 11:09:36 +00:00
Luca Boccassi
4445b3574f README: use https on one more link 2022-11-12 01:04:19 +00:00
Daan De Meyer
afd22e3219 README: Fix libbpf minimum version
This didn't get properly updated as part of #24511
2022-10-17 08:45:16 +02:00
Daan De Meyer
e2490f7384 Bump libbpf version to 0.7
We already depend on the skeleton APIs introduced in libbpf 0.7 so
let's bump our minimum version to reflect that.

We don't enforce bpf compilation on mkosi anymore since not all
distros have sufficiently up-to-date libbpf available.
2022-10-06 07:31:20 +09:00
Lennart Poettering
2c3794f422 README: we don't use crypto API in kernel anymore
This effectively reverts 9c7f7d86f8.

We dropped kernel crypto API use with
1fc8d0c9dd, hence catch up in README.
2022-09-07 11:04:34 +01:00
Lennart Poettering
c87abcfa5c README: make section title less confusing
This is about glibc NSS, not about the TLS implementation library NSS.
2022-09-07 11:30:23 +02:00
Lennart Poettering
659215cf14 README: drop some spurious empty lines, we otherwise don't place after section titles 2022-09-07 11:29:14 +02:00
Lennart Poettering
036b9e7fed README: use right emoji UTF-8 sequences for stop/warning sign 2022-09-07 10:49:49 +02:00
Lennart Poettering
4213dd2398 README: clarify baseline situation a bit (add emojis!) 2022-09-06 18:02:58 +01:00
matoro
bab5d84790 README: gcc now has a minimum requirement of 4.7 2022-07-14 17:39:35 -04:00
Zbigniew Jędrzejewski-Szmek
8bf9eb7e6b man: update the description of taint flags
We had a description in README, and an outdated list in the man page.
I think we should keep a reference-style list in the man page. The description
in README is more free-form.
2022-07-09 19:18:14 +02:00
Benjamin Franzke
a25d9395ad tree-wide: streamline wiki links
* Avoid traling slash as most links are defined without.
* Always use https:// protocol and www. subdomain

Allows for easier tree-wide linkvalidation
for our migration to systemd.io.
2022-05-21 14:28:03 +02:00
Zbigniew Jędrzejewski-Szmek
b16e93d73e README: fix typo 2022-05-18 08:29:17 +02:00