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 5c08da586f repart: add CopyBlocks=auto support
When using systemd-repart as an installer that replicates the install
medium on another medium it is useful to reference the root
partition/usr partition or verity data that is currently booted, in
particular in A/B scenarios where we have two copies and want to
reference the one we currently use. Let's add a CopyBlocks=auto for this
case: for a partition that uses that we'll copy a suitable partition
from the host.

CopyBlocks=auto finds the partition to copy like this: based on the
configured partition type uuid we determine the usual mount point (i.e.
for the /usr partition type we determine /usr/, and so on). We then
figure out the block device behind that path, through dm-verity and
dm-crypt if necessary. Finally, we compare the partition type uuid of
the partition found that way with the one we are supposed to fill and
only use it if it matches (the latter is primarily important on
dm-verity setups where a volume is likely backed by two partitions and
we need to find the right one).

This is particularly fun to use in conjunction with --image= (where
we'll restrict the device search onto the specify device, for security
reasons), as this allows "duplicating" an image like this:

    # systemd-repart --image=source.raw --empty=create --size=auto target.raw

If the right repart data is embedded into "source.raw" this will be able
to create and initialize a partition table on target.raw that carrries
all needed partitions, and will stream the source's file systems onto it
as configured.
2021-04-19 23:16:02 +02:00
.github docs: link to stable releases in the bug template 2021-03-25 20:38:45 +00:00
.lgtm/cpp-queries
.mkosi mkosi.arch: add rsync build dependency 2021-04-10 22:22:08 +02:00
.semaphore ci: migrate to Semaphore CI 2.0 2021-01-15 20:18:29 +01:00
catalog license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
coccinelle coccinelle: filter out a couple of 'false-positive' transformations 2021-03-18 11:59:53 +01:00
docs docs: use new URL for package-notes 2021-04-09 10:27:36 +02:00
factory/etc man: move 'files' module in NSS 'hosts:' line before myhostname 2020-08-17 18:55:59 +02:00
hwdb.d hwdb: Add accel orientation quirk for the Teclast Tbook 11 tablet 2021-04-19 11:44:16 +01:00
man repart: add CopyBlocks=auto support 2021-04-19 23:16:02 +02:00
mkosi.default.d mkosi: Enable InstallDirectory and SourceFileTransferFinal options 2021-01-06 23:28:34 +00:00
modprobe.d Add READMEs in all .d directories 2021-03-26 09:35:07 +01:00
network network: use IPMasquerade=both instead of yes 2021-02-24 15:01:43 +01:00
po po: Translated using Weblate (Korean) 2021-04-15 20:16:19 +09:00
presets license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
rules.d Add READMEs in all .d directories 2021-03-26 09:35:07 +01:00
shell-completion bash-completion: localize words and cword variables 2021-04-06 16:15:13 +02:00
src repart: add CopyBlocks=auto support 2021-04-19 23:16:02 +02:00
sysctl.d Add READMEs in all .d directories 2021-03-26 09:35:07 +01:00
sysusers.d Add READMEs in all .d directories 2021-03-26 09:35:07 +01:00
test test: rewrite kernel module handling 2021-04-16 19:05:59 +02:00
tmpfiles.d Add READMEs in all .d directories 2021-03-26 09:35:07 +01:00
tools test: check if the unit file fuzzer corpora is up to date 2021-04-05 14:41:05 +01:00
units systemd-networkd.socket: Add conflict with shutdown.target (#19348) 2021-04-19 11:25:33 +09:00
xorg
.clang-format clang-format: set SpaceBeforeParens to ControlStatementsExceptForEachMacros 2020-11-16 16:57:51 +09:00
.ctags
.dir-locals.el
.editorconfig editorconfig: add man configuration 2020-05-26 15:37:05 +02:00
.gitattributes udev: Extract RAM properties from DMI information 2020-12-16 18:32:29 +01:00
.gitignore Move shared mkosi settings to a single file in mkosi.default.d/ 2021-01-06 12:10:58 +00:00
.lgtm.yml lgtm: drop the TMPDIR/meson workaround 2020-03-03 20:27:42 +01:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop the 'sources' file after cloning the Fedora repo 2021-04-12 18:10:04 +02:00
.vimrc
.ycm_extra_conf.py
configure tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson_options.txt resolved.conf: Add hostnames for default DNS servers 2021-03-31 10:49:36 +02:00
meson.build Merge pull request #19326 from keszybz/reorder-meson-status-output 2021-04-15 20:37:29 +01:00
mkosi.build mkosi: work-around to make systemd build in Fedora images that lack populated /etc 2021-04-07 17:45:28 +02:00
NEWS NEWS: prep release date 2021-03-30 22:00:11 +02:00
README README: add config_psi as requirement for systemd-oomd 2021-02-23 02:10:09 -08:00
README.md ci: point the Fossies badge to main 2021-01-21 20:08:44 +01:00
TODO update TODO 2021-04-15 11:24:50 +02:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Language Grade: C/C++
CentOS CI - CentOS 7
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Packaging status

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 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.