1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00
The systemd System and Service Manager
Go to file
Lennart Poettering 7c764d4599 switch-root: always use MS_BIND to move api vfs over
We previously would use MS_MOVE to move the old procfs, sysfs, /dev/ and
/run to the new place in some places, and MS_BIND in others.

The logic when to use MS_MOVE and when to use MS_BIND was pretty
arbitrary so far: we'd use MS_MOVE during the initrd → host transition
and MS_BIND when transitioning from host into the exitrd during
shutdown.

Traditionally, using MS_MOVE was preferable, because we didn't bother
with unmounting the old mount hierarchy before the switch root, and thus
using MS_MOVE did some clean-up as side-effect (because the old mounts
went away this way). But since we nowadays properly umount all remaining
mount points (since 268d1244e8) when
transitioning it's pointless.

Let's just use MS_BIND always. Let's tweak it though: let's use
MS_BIND|MS_REC for the kernel API VFS, and MS_BIND without MS_REC for
/run/. The latter reflects the fact that the submounts /run/ has usually
are not so much about just accessing kernel APIs but about auxiliary
user resources. Hence let's only move the main mount over for that.

While we are at it, also set up the base filesystem *before* we move the
mounts from the old to the new root, since the base filesystem setup
logic creates various needed inodes for us, which we really should make
use of instead of creating on our own.
2023-06-02 16:49:39 +02:00
.clusterfuzzlite ci: unpin CFLite 2022-04-26 09:13:57 +00:00
.github Merge pull request #27849 from DaanDeMeyer/sign-pcr 2023-06-02 16:16:41 +02:00
.semaphore test: drop whitespace after shell redirection operators 2023-02-06 09:19:04 +01:00
catalog man,catalog: fix typo 2023-02-24 08:52:42 +09:00
coccinelle coccinelle: add a transformation for GNU conditionals 2023-03-18 14:23:11 +01:00
docs sd-boot,sd-stub: also print version after the address 2023-05-24 04:34:56 +09:00
factory vconsole: allow setting default keymap through build option 2023-02-15 20:00:51 +00:00
hwdb.d hwdb: add support for Elgato Stream Deck mini (gen 2) 2023-06-01 02:36:49 +09:00
LICENSES Rewrite check-includes.pl in python 2023-05-09 08:11:10 +02:00
man Merge pull request #27849 from DaanDeMeyer/sign-pcr 2023-06-02 16:16:41 +02:00
mkosi.conf.d mkosi: Only lower device timeout instead of all timeouts 2023-06-02 15:43:28 +02:00
mkosi.presets mkosi: Only lower device timeout instead of all timeouts 2023-06-02 15:43:28 +02:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network meson: Install missing network file 2023-01-27 17:50:27 +01:00
po po: add a false positive to POTFILES.skip 2023-05-27 17:17:57 +01:00
presets journal: give the ability to enable/disable systemd-journald-audit.socket 2023-01-11 17:18:57 +01:00
rules.d udev: introduce .PART_SUFFIX internal property 2023-05-26 16:38:09 +02:00
shell-completion zsh: amend completion for networkctl edit 2023-05-22 12:14:04 +01:00
src switch-root: always use MS_BIND to move api vfs over 2023-06-02 16:49:39 +02:00
sysctl.d tree-wide: link to docs.kernel.org for kernel documentation 2022-07-04 19:56:53 +02:00
sysusers.d sysusers: also add root group 2023-02-15 10:29:10 +09:00
test test: add a couple of tests for systemd-run 2023-06-01 23:12:47 +02:00
tmpfiles.d tmpfiles: use same credstore perms everywhere 2023-05-31 11:15:26 +08:00
tools elf2efi: ensure minimum gap between .text and other sections 2023-05-24 11:06:36 +01:00
units pid1: add "soft-reboot" reboot method 2023-06-02 16:49:38 +02:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format clang-format: Adjust style of pointers 2022-05-30 04:00:54 +09:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig mkosi: Use 4 space indentation for scripts 2023-02-21 14:22:52 +01:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore mkosi: Update .gitignore to account for changed output locations 2023-05-12 11:38:02 +02:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop/replace deprecated directives 2022-12-15 21:48:49 +09:00
.vimrc vimrc: use 109ch text width for shell scripts as well 2023-05-13 22:02:37 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure tools: shellcheck-ify tool scripts 2021-09-30 12:27:06 +02:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson_options.txt bpf: stabilize GCC BPF support 2023-05-30 09:27:56 +09:00
meson.build meson: Add missing tss2-tcti-device dependency 2023-06-02 15:43:28 +02:00
mkosi.kernel.config mkosi: Disable a bunch of useless configs when building a kernel 2023-05-04 19:05:12 +02:00
NEWS doc: replace wrong á preposition by à 2023-03-07 13:06:43 +01:00
README README: drop busybox requirement 2023-05-18 10:51:49 +02:00
README.md README: drop the CentOS CI SELinux job 2023-05-20 17:12:01 +02:00
TODO man/analyze: reword description of malloc and fix link 2023-05-30 10:11:02 +02:00

Systemd

System and Service Manager

Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Weblate
Coverage Status
Packaging status
OpenSSF Scorecard

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.