Commit Graph
66746 Commits
Author SHA1 Message Date
Daan De Meyer 5f13fb0a73 repart: Put function call closer to its error handling 2023-08-15 12:09:31 +02:00
Luca Boccassi 4ccee4b426 Merge pull request #28812 from DaanDeMeyer/sector-size
repart: Use 4096 as the fallback sector size for verity/luks/filesystems
2023-08-15 10:16:24 +01:00
Daan De Meyer c81e350c03 Merge pull request #28833 from DaanDeMeyer/copy-subvolume
repart: Add Subvolumes= setting
2023-08-15 09:53:02 +02:00
Michael A Cassaniti eeee486159 sysupdate: Use sector size for partition size calculations 2023-08-15 09:17:12 +02:00
Daan De Meyer 4b17f5c378 Merge pull request #28829 from DaanDeMeyer/mount-fd
tree-wide: Mount file descriptors via /proc/<pid>/fd
2023-08-15 09:04:45 +02:00
Luca Boccassi e158e17299 Merge pull request #28835 from mrc0mmand/more-tests
test: add coverage for #27953
2023-08-15 01:54:52 +01:00
Daan De Meyer 4419735822 fd-util: Use /proc/pid/fd instead of /proc/self/fd
Currently, we mount via file descriptors using /proc/self/fd. This
works, but it means that in /proc/mounts and various other files,
the source of the mount will be listed as /proc/self/fd/xxx. For other
software that parses these files, /proc/self/fd/xxx doesn't mean anything,
or worse, it means the completely wrong thing, as it will refer to one of
their own file descriptors instead.

Let's improve the situation by using /proc/pid/fd instead. This allows
processes parsing /proc/mounts to do the right thing more often than not.
One scenario where even this doesn't work if when containers are involved,
as with the pid namespace unshared, even /proc/pid/fd will mean the wrong
thing, but it's no worse than /proc/self/fd which will always means the wrong
thing.

This also doesn't work if we mount via file descriptor and then exit, as the pid will
be gone, but it does work as long as the process that did the mount is alive, which
makes it useful for systemd-dissect --with for example if the program we run in the
image wants to parse /proc/mounts.
2023-08-14 22:43:12 +02:00
Frantisek Sumsal 01febfcdce test: explicitly specify a UTF-8 locale for UTF-8 shenanigans
As things don't work well without it:

$ LANG=C printf "\ufffe\n"
\uFFFE
2023-08-14 20:09:31 +02:00
Frantisek Sumsal 3ba954dd57 test: add coverage for #27953 2023-08-14 19:35:37 +02:00
Frantisek Sumsal 39f17be437 test: drop unnecessary log level setup
As we do that globally via a dropin.
2023-08-14 19:31:20 +02:00
Daan De Meyer 440f805c17 repart: Add Subvolumes= setting
This setting indicates which directories in the target partition
should be btrfs subvolumes. If set, we'll try to create these
directories as subvolumes.

Note that this only works when running as root without --offline,
as mkfs.btrfs does not support creating subvolumes.
2023-08-14 18:46:08 +02:00
Daan De Meyer c55a97f1fd mkdir: Add support for creating subvolumes to mkdir_p_root()
We pass in the paths which should be subvolumes and try to create
those as subvolumes if we can.
2023-08-14 18:46:08 +02:00
Daan De Meyer ad6fae7ffc copy: Add support for creating subvolumes to copy_tree_at()
The subvolumes set is a set of source inodes similar to how the
denylist hashmap contains source inodes as keys. It indicates
directories in the source tree that should become subvolumes in
the target tree.
2023-08-14 18:46:08 +02:00
Daan De Meyer bc6a6130ac fs-util: Add XO_SUBVOLUME flag for xopenat()
When specified, xopenat() will try to create a btrfs subvolume and
fall back to creating a regular directory.
2023-08-14 18:46:08 +02:00
Daan De Meyer e54c79ccc2 btrfs-util: Move subvolume creation to basic/btrfs.h
Also make btrfs_subvol_make() an openat style function.
2023-08-14 18:46:08 +02:00
Daan De Meyer 6819924c30 path-util: Make ret argument optional for path_extract_directory() 2023-08-14 18:46:06 +02:00
Daan De Meyer 672de611dd Merge pull request #28828 from DaanDeMeyer/sysupdate-fdisk
fdisk-util: Make fdisk_new_context_fd() more generic
2023-08-14 14:23:03 +02:00
Daan De Meyer e36c6210b7 dissect-image: Fix mount_point_is_available()
We call dir_is_empty() to check if the directory is empty but don't
take the result into account when returning from the function.
2023-08-14 14:22:38 +02:00
Daan De Meyer 2af02e6165 tree-wide: Always include <net/if.h> before related linux headers
Otherwise, we get redefinition errors if <net/if.h> is included later
on by another header.
2023-08-14 13:16:46 +02:00
Daan De Meyer 93f125a66f repart: Use 4096 as the fallback sector size for verity/luks/filesystems
When we don't know the sector size of the actual block device, because
we're building an image in a loopback file and no sector size was specified
explicitly, let's use 4096 as the sector size for filesystems, verity and
LUKS. This should be the most compatible option, since 4096 will also work
on devices with sector size 512 or 2048.

For the actual GPT partition table size, we stick with 512 as the default
value since UEFI firmware and the kernel will only try to read the GPT
partition table from the first LBA on the device and the sector size for
most devices is still 512. It can also be trivially modified when copying
the image to another device using --copy-from + --sector-size.
2023-08-14 11:04:52 +02:00
Daan De Meyer 4492eb1186 tree-wide: Use fdisk_new_context_at() more 2023-08-14 10:42:43 +02:00
Daan De Meyer fd9fe57a26 fdisk-util: Make fdisk_new_context_fd() more generic
Let's make this an openat() style function so we can also pass a
device path.
2023-08-14 10:27:57 +02:00
Daan De Meyer 59120e89d8 Merge pull request #28827 from gioele/docs-fix-network-online-example-unit
docs/NETWORK_ONLINE: Move `Type=`, `RemainAfterExit=` to `[Service]` + Use `until` instead of `while !`
2023-08-14 10:08:20 +02:00
Gioele Barabucci 4a899c5a23 docs/NETWORK_ONLINE: Use until instead of while !
`until` is the standard POSIX shell builtin to be used when waiting for
a condition to appear.
2023-08-14 09:15:31 +02:00
Gioele Barabucci 3078ece8c4 docs/NETWORK_ONLINE: Move Type=, RemainAfterExit= to [Service]
`Type=` and `RemainAfterExit=` belong in `[Service]`, not `[Unit]`.

Fixes #28826
2023-08-14 09:15:21 +02:00
Susant Sahani 3912d49d0d network: ndisc - Ignore route information if reserved (10) value is
received

RFC4191 – Section 2.3 Route Information Option's Prf field:
If the Reserved (10) value is received, the Route Information Option MUST be ignored.
2023-08-14 12:43:38 +09:00
Mike Yuan 031a399d87 sleep: clear EFI HibernateLocation if writing kernel config fails
Follow-up for f1f331a252
2023-08-13 22:12:32 +01:00
Yu Watanabe 57ffa99daa core: drop redundant assignment of UNIT_MERGED in unit_load_fragment()
If the unit is merged into another unit, then the load state is already
set in merge_by_names() -> unit_merge(). Let's drop the redundant assignment.
2023-08-13 12:56:08 +01:00
Yu Watanabe e3390a22dc Merge pull request #28744 from YHNdnzj/battery-check-minor-followup
battery-util: minor follow-ups
2023-08-13 19:27:56 +09:00
Yu Watanabe 88321d5d77 Merge pull request #28809 from YHNdnzj/proc-cmdline-true-when-missing
proc-cmdline: introduce PROC_CMDLINE_TRUE_WHEN_MISSING and use it where appropriate
2023-08-13 19:25:22 +09:00
Sam James 0b4e0943a0 basic: add comment for LFS assert in dirent-util.h
Followup to eb29296937 as promised; requested
by lennart at https://github.com/systemd/systemd/pull/27599#discussion_r1192619263.
2023-08-13 10:40:36 +01:00
Luca Boccassi a0b0b670ab test: skip test-path on Salsa CI
Salsa is the Debian git forge. In the package build environment test-path
always fails as we cannot set up cgroups and so the path unit fails to
start. Skip the test in that environment.

Unfortunately meson doesn't allow to skip individual tests by name.
2023-08-13 10:27:04 +01:00
Mike Yuan 46b0b7e24a battery-util: log_notice when unsure about battery state
Follow-up for 02f7f8aa4f

This deserves some highlight.

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288592726
2023-08-13 13:02:58 +08:00
Mike Yuan 60d83c3e86 battery-util: don't log duplicate message
Follow-up for 02f7f8aa4f

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288591215

> this is pretty unnecessary, battery_read_capacity_percentage()
debug logs on its own about this already, in more detailed way?
2023-08-13 13:02:57 +08:00
Mike Yuan 022a19c9f6 reboot-util: cache the result of shall_restore_state 2023-08-13 12:54:56 +08:00
Mike Yuan ca05933a1b battery-check: use proc_cmdline_get_bool 2023-08-13 12:52:16 +08:00
Mike Yuan 9d7b189bf3 fstab-util: make use of PROC_CMDLINE_TRUE_WHEN_MISSING 2023-08-13 12:52:15 +08:00
Mike Yuan 60499ed1c8 proc-cmdline: do assert on flags earlier 2023-08-13 12:52:15 +08:00
Mike Yuan 97d5f09bd2 proc-cmdline: introduce PROC_CMDLINE_TRUE_WHEN_MISSING 2023-08-13 12:52:15 +08:00
Luca Boccassi f7590e3cb4 mkosi: disable key check on Fedora Rawhide for now
There are key issues so jobs are failing, disable the check for now
2023-08-12 22:58:46 +02:00
Yu Watanabe 0d290cbcd6 test: disable TEST-08-INITRD on ubuntu CI
Currently, the test does not work on ubuntu CI, unfortunately.
Let's disable it at least tentatively.
2023-08-12 18:12:43 +01:00
Yu Watanabe c208bf3324 test: fix expected result of systemd-repart
Follow-up for e1536d1fb0.

Fixes #28807.
Replaces #28802.
2023-08-12 18:11:46 +01:00
Daan De Meyer 1d117b068f mkfs-util: Pass sector size to mkfs.f2fs
Let's pass the sector size to mkfs.f2fs as well.
2023-08-12 13:29:50 +02:00
Daan De Meyer 89dfac6b8f mkfs-util: Set sector size environment variables when invoking mkfs.ext4
Let's inform mkfs.ext4 about the sector size we're using.
2023-08-12 13:28:10 +02:00
Yu Watanabe 5cdcaf89be meson: drop unnecessary dependency on libidn 2023-08-12 20:04:51 +09:00
Yu Watanabe ba77e00659 Merge pull request #28801 from mrc0mmand/initrd-shutdown-test
test: introduce TEST-08-INITRD
2023-08-12 20:04:06 +09:00
Rahil Bhimjiani f5263dd09e man: kernel-install(8) add uki.conf in FILES & add ukify(1) in SEE ALSO
Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
2023-08-12 11:24:43 +01:00
Frantisek Sumsal 7294632c2c test: introduce TEST-08-INITRD
And move the initrd related tests from TEST-01-BASIC there.

Additionally, this should provide coverage for recemt shutdown initrd
related issues, see:
  - https://github.com/systemd/systemd/issues/28645
  - https://github.com/systemd/systemd/pull/28648
  - https://github.com/systemd/systemd/pull/28793
2023-08-12 10:13:56 +02:00
Yu Watanabe 353c8497b1 Merge pull request #28784 from yuwata/udev-vs-tmpfiles-take-3
Udev vs tmpfiles take 3
2023-08-12 13:12:10 +09:00
Luca Boccassi 3748aec575 Merge pull request #28799 from bluca/fixlets
core: some fixlets
2023-08-12 00:25:15 +01:00