summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
Commit message (Collapse)AuthorAgeFilesLines
* systemd: add libblkid and libfdisk PACKAGECONFIG optionsHiago De Franco35 hours1-0/+3
| | | | | | | | | | | | | | | | | | | | | | | Introduce new PACKAGECONFIG options in systemd for both libblkid and libfdisk [1][2]. Set blkid as enabled by default because the bootctl command depends on it to be built. For example, images like core-image-sato-sdk rely on bootctl and have specific tests for it. Previously this worked implicitly because the upstream Meson option defaulted to auto, which enabled the dependency if libblkid was present. Now, without explicitly enabling it via PACKAGECONFIG, the feature would be disabled, which triggers testimage errors. [1] https://github.com/systemd/systemd/blob/main/README#L219 [2] https://github.com/systemd/systemd/blob/main/README#L228 (From OE-Core rev: 4ec67113e1e7e1ecea9cde33ef4d3962dad5f2ad) Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: add rdepends on libnss-resolve to nss-resolve PACKAGECONFIGWeisser, Pascal.ext9 days1-1/+1
| | | | | | | | | | | | | | | | | | | Add a runtime dependency on libnss-resolve to nss-resolve PACKAGECONFIG in systemd recipe. libnss-resolve provides nss-resolve which is a plug-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) enabling it to resolve hostnames via the systemd-resolved local network name resolution service. See https://man7.org/linux/man-pages/man8/nss-resolve.8.html. Runtime dependencies on other NSS plug-in modules are provided via other PACKAGECONFIG entries in a similar way (myhostname - libnss-myhostname, nss - libnss-resolve). (From OE-Core rev: e3558ccc2e75bcd09d4a02799df9615cfa92fdbb) Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Refresh patch to remove patch fuzz on muslKhem Raj2025-06-291-9/+2
| | | | | | | (From OE-Core rev: 1f40f932309a1d3f8ac316016f2ba1e3b6b4b92a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove consecutive blank linesAlexander Kanavin2025-06-204-5/+0
| | | | | | | | | | | | | | | | | Some of them were introduced by mass-removal of S = WORKDIR/git assignments; rather than try to fix up (or redo) just these, I've run this sed command over the whole tree: sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` The rationale is that more than one empty line is wasting vertical screen space, and does nothing for readability. (From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: set S from UNPACKDIR in recipes that use only local filesAlexander Kanavin2025-06-203-6/+3
| | | | | | | | | | | | | | | There is no need to have two assignments; also setting S from UNPACKDIR (and not vice versa) is more logical as unpack task comes first, and tasks that come after unpack use S to access unpack results. Also adjust reference test data in selftest/recipeutils to reflect changes in test recipes. (From OE-Core rev: f64b7e5fb3181734c8dde87b27e872a026261a74) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove S in recipes that fetch from git via setting ↵Alexander Kanavin2025-06-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BB_GIT_DEFAULT_DESTSUFFIX Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX is set to match S from bitbake.conf (which itself is set to match typical tarball releases). A few recipes are setting S to a sub-directory of the git tree and need to be adjusted accordingly. bzip2 recipe is fetching a tarball and separately cloning tests; adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'. devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly. Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack destination. Adjust kernel-yocto.bbclass to use the git unpack variable instead of hardcoding 'git' (there's also removal of repetition of string constants and a correction of workdir/unpackdir mismatch in one of the if-else branches). Ensure build-appliance-image recipe does not use 'git' as checkout directory for poky repo, but rather explicitly name it 'poky'. Ensure reproducible.py code that looks for git repositories does not hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX. Ensure recipetool does not write out unneeded S settings into newly created recipes that fetch from git. Adjust selftest to not hardcode 'git' as unpack directory. (From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade 257.5 -> 257.6Peter Marko2025-06-169-15/+14
| | | | | | | | | | | Handles CVE-2025-4598 Rebase patches (From OE-Core rev: fddfca638818e16bf4d2486f5a5e0bbaaaa0a20f) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot: Pin to use gcc toolchain on armKhem Raj2025-05-291-0/+3
| | | | | | | | | | | clang does not support -mgeneral-regs-only option for arm Cc: Ross Burton <Ross.Burton@arm.com> (From OE-Core rev: 553f769c961ca567a68ac98a5262d84a95eca596) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot: Remove -mfpmath=sse option from cflagsKhem Raj2025-05-271-0/+5
| | | | | | | | | | | | | | | EFI sources in systemd uses -mgeneral-regs-only which conflicts with -mfpmath=sse specified by OE via tune arguments. It needs to be removed, clang errors about it and fails the build Fixes error: the 'sse' unit is not supported with this instruction set (From OE-Core rev: a7cbb7b90a9eb9f8a98054f8613a8230472cf4a5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: disable linker GCS warning on aarch64Trevor Woerner2025-05-121-0/+1
| | | | | | | | | | | | | | | | | openssl has some assembler code that has PAC and BTI hints but not GCS. The systemd recipe then links to libcrypto from openssl with GCS enabled (as that is a distro-wide setting) and it - correctly - warns that it is being told to use GCS but one of the inputs does not have GCS. This would not be a problem but systemd also links with —fatal-warnings, so the build explodes. libcrypto.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. | collect2: error: ld returned 1 exit status (From OE-Core rev: 295e30eac69e152778246c7271b72f7e8498a40a) Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Password agents shouldn't be optionalVyacheslav Yurkov2025-05-011-10/+0
| | | | | | | | | | | If extra-utils package is not included in the image, you'll always see a warning that password agent is missing whenever you start/stop a service: Failed to execute /usr/bin/systemd-tty-ask-password-agent: No such file or directory (From OE-Core rev: a87d523ab24e4ea87d1b19ea3a0c515cc47db1b6) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: always depend on the explicit serial console unitsRoss Burton2025-04-231-1/+1
| | | | | | | | | | | | | | | | The systemd-serialgetty recipe generates explicit units for consoles that are defined in SERIAL_CONSOLES, and if that variable is not defined then just produces an empty package. Even when systemd has been configured to use the getty generator, if there are explicit consoles defined then we should respect them. Don't conditionalise the dependency on systemd-serialgetty so that we always pull in the explicit consoles. (From OE-Core rev: a7036173acdb84d516f17257e02a936f04c584d8) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: enable getty generator by defaultRoss Burton2025-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until recently, even when the getty generator was disabled in the systemd recipe it was actually still active. This was because the old behaviour was to delete the serial-getty template unit if the generator was disabled, but the systemd-serialgetty package shipped then shipped the same files so the generator continued to run. This was a bug in the original commit[1] so this behaviour has been present since 2016. My recent fixes[2] changed this: if the getty generator was disabled then the generator itself is deleted. This makes the actual behaviour match the intention, but the consequence was to demonstrate that some modern platforms were relying on this unexpected behaviour: specifically the genericarm64 BSP which intends to support a number of virtual and physical boards with a number of serial console ports that are not really suitable to be hardcoded into SERIAL_CONSOLES: - ttyS0 - ttyAMA0 (AMBA PL011 uart) - ttyS2 (BeagleBone Play, S0 and S1 are internal) - hvc0 (KVM) - ttyPS1 (AMD KV260) - And most likely more Restore the existing behaviour by explicitly enabling the serial getty generator: this means that systemd will automatically bring up a getty on the first serial console it finds. In the future we should extend some level of dynamic console-finding to sysvinit-based systems by searching for a console device in inittab, but for now this reverts the unintentional regression. [1] oe-core 2a8d0df47c9 ("systemd: make systemd-serialgetty optional") [2] oe-core 2beb3170af6 ("systemd: if getty generator is disabled remove the generator, not the units") (From OE-Core rev: af15f9d1609708443ed036fdb611cea92f566620) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: remove unnecessary qemu inherit and use qemuwrapper-crossChen Qi2025-04-231-2/+3
| | | | | | | | | | | | | | | These classes/recipes inherit qemu.bbclass but do not use anything from it. What they use is qemuwrapper-cross, which is needed at do_rootfs time and needs to be pulled-in by PACKAGE_WRITE_DEPS. Also, in meta/conf/layer.conf, exclude qemuwrapper-cross deps for all arch recipes that depend on it. This it ensure allarch recipes have the same signature across different machines. (From OE-Core rev: 6f3ce94f4c03e7b26f1fcdf78ea969f57717ec56) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Correct tmpfile.d file for resolv.confMingli Yu2025-04-171-1/+1
| | | | | | | | | | | | | | | The tmpfiles config for systemd-resolve has been split out [1], so correct tmpfile.d file for resolv.conf in our recipe accordingly. [ YOCTO # 15768] [1] https://github.com/systemd/systemd/commit/b15f6eae421ad64773c0be934fd372d1ca230adb (From OE-Core rev: a3020c11c91304b7400bc19f80e44e7d3720281d) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade 257.4 -> 257.5Wang Mingyu2025-04-105-2/+2
| | | | | | | | (From OE-Core rev: 05618ac2c6f69e0f41fb95e517382bf1177f0735) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Support using alternative runtime D-BusNiko Mauno2025-04-011-1/+1
| | | | | | | | | | | | In order to facilitate oe-core users who wish to use e.g. dbus-broker as their runtime D-Bus implementation, change the Freedesktop.org specific D-Bus runtime dependency to honor the new VIRTUAL-RUNTIME_dbus variable. (From OE-Core rev: f9a41652f7b40edf84278c0f3922321a613297f7) Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-systemctl-native: Use += instead of :appendPeter Kjellerstedt2025-04-011-2/+2
| | | | | | | | | There is no reason to use EXTRA_OEMESON:append when += will do. (From OE-Core rev: 2ebd45d351dbf801a5aef0cc4a0a1c684e544412) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade 257.3 -> 257.4Wang Mingyu2025-03-195-1/+1
| | | | | | | | (From OE-Core rev: 4c3f6657467dafb529ab1ef7f7576ddca91cbeb7) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Fix typo in 00-create-volatile.confDaniel Ammann2025-03-131-2/+2
| | | | | | | | | Also do a minor white space tweak. (From OE-Core rev: 0e0e3b9474a88c62810d87268765aadea97714c0) Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-systemctl-native: correctly set PVAlexander Kanavin2025-03-111-0/+0
| | | | | | | (From OE-Core rev: 8514809f0ce06dc146774d753d8eb061620b5bb5) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Build the systemctl executableVyacheslav Yurkov2025-03-092-388/+11
| | | | | | | | | | | | | | | Instead of the python re-implementation build the actual systemctl from the systemd source tree. The python script was used when systemd didn't provide an option to build individual executables. It is possible in the meantime, so instead of always adapting the script when there's a new functionality, we simply use upstream implementation. License-Update: Base recipe is used (From OE-Core rev: 7a580800db391891a3a0f838c4ae6e1513c710a2) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: use existing unit files in systemdRoss Burton2025-03-062-57/+1
| | | | | | | | | | | | | | Now that systemd isn't deleting the serial-getty@.service unit template files, we can simply symlink to the files provided by systemd instead of shipping a copy of them in this recipe. This ensures that the getty units triggered by the systemd are identical, be them via SERIAL_CONSOLES or the generator. (From OE-Core rev: b6a7617145c3acf9f79888e7555e7706cd55a350) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: if getty generator is disabled remove the generator, not the unitsRoss Burton2025-03-061-3/+5
| | | | | | | | | | | If the getty generator is disabled then it's neater to remove just the generator tool instead of the unit files as the unit files are still useful. (From OE-Core rev: 2beb3170af6ebf3a6fff6953a2d48f70f61b959f) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: don't set a default SERIAL_CONSOLESRoss Burton2025-03-061-1/+0
| | | | | | | | | | bitbake.conf defines a default value, so there's no value in setting another default here that doesn't match the rest of the system. (From OE-Core rev: 86586f4956879ad1b906f198dc258c88f64ef179) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: move sysusers.d systemd-remote to PN-journal-remoteBastian Krause2025-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | systemd's sysusers.d/systemd-remote.conf contains the user "systemd-journal-remote" [1]. This file is currently not part of any specific package. To make this match the corresponding USERADD_PARAM:${PN}-journal-remote for the same user, move the file to the correct package. This prevents warnings in case PACKAGECONFIG contains "microhttpd" but systemd-journal-remote is not installed, such as: WARNING: some-image-1.0-r0 do_rootfs: User systemd-journal-remote has never been defined [1] https://github.com/systemd/systemd/blob/v257.3/sysusers.d/systemd-remote.conf (From OE-Core rev: 2d50d3595502e65e3b0997800a6dc60ca3e10100) Signed-off-by: Bastian Krause <bst@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Fix man page indices generationAlexis Cellier2025-02-211-1/+1
| | | | | | | | | | | The dependency on python3-lxml-native was missing, so the generation of man page indices was skipped (systemd.index and systemd.directives). (From OE-Core rev: be19e4cd6466cbf967e5301c1a3cdd853d22d250) Signed-off-by: Alexis Cellier <alexis.cellier@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: depend on util-linux-mkswapMikko Rapeli2025-02-211-1/+1
| | | | | | | | | | | | | | | | | | | busybox mkswap doesn't support all needed options. Fixes: systemd[1]: Activating swap /dev/disk/by-uuid/38d0b388-9989-4744-8a0a-3e6be1135f5a... swapon[210]: swapon: /dev/sda3: swap format pagesize does not match. swapon[210]: swapon: /dev/sda3: reinitializing the swap. swapon[212]: mkswap: invalid option -- 'U' swapon[212]: BusyBox v1.37.0 () multi-call binary. swapon[212]: Usage: mkswap [-L LBL] BLOCKDEV [KBYTES] systemd[1]: dev-disk-by\x2duuid-38d0b388\x2d9989\x2d4744\x2d8a0a\x2d3e6be1135f5a.swap: Swap process exited, code=exited, (From OE-Core rev: 50d139f5748432e68b8f66cd4ecfd6e2ad677ed3) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd/systemd-boot: upgrade from 257.1 to 257.3Chen Qi2025-02-185-125/+1
| | | | | | | | | | | 0001-ukify-measure-Revert-changes-to-use-SizeOfImage-from.patch is dropped as it is in the new version. (From OE-Core rev: 5c72734dc99d1287e805530d925a37c9aa70ba9d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot-native: fix kernel signature for securebootMikko Rapeli2025-02-102-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | systemd update from 256 to 257 broke kernel secureboot signatures inside signed UKI files with u-boot based UEFI firmware, e.g. meta-arm and qemuarm64-secureboot machine config and secureboot: $ cd meta-arm $ kas build ci/poky.yml:ci/qemuarm64-secureboot.yml:ci/uefi-secureboot.yml:ci/testimage.yml systemd-boot itself is secureboot signed and verified by firmware. Same for the UKI file which combines kernel, initramfs etc. Then kernel from UKI is additionally executed using UEFI firmware calls which check signatures so the kernel binary inside signed UKI needs to be signed with same keys too. PE file padding added to systemd ukify in 257 release broke kernel signature validation for u-boot and sbsign/sbverify tools. EDK2 based firmware like OVMF may not be affected because systemd-boot is able to disable signature checking after a signed UKI has been loaded. This feature is not supported by u-boot. Upstream systemd bug report: https://github.com/systemd/systemd/issues/35851 Backport of: https://github.com/systemd/systemd/commit/38801c91292fde004bec0974ed5602984701e03b Cc: Jon Mason <jdmason@kudzu.us> Cc: meta-arm@lists.yoctoproject.org (From OE-Core rev: 979d8b16a5238ea368b2ee39d436b6e13d94b076) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-boot-native: move do_install() to after do_patch()Mikko Rapeli2025-02-101-1/+1
| | | | | | | | | | | | The tasks were deleted and do_patch() was run after do_install() which means that patches applied in SRC_URI were not in the ukify.py binary installed. Moving do_install() to after do_patch() fixes this. (From OE-Core rev: 0218a7a7dbf12ef817608881a3a17d9670c0778a) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-serialgetty: add comments explaining useRoss Burton2025-02-051-1/+6
| | | | | | | | | Add some comments to clarify exactly what this recipe is for. (From OE-Core rev: bbaafe11189b4b14ab84576e5eddd709b7f0ef1b) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-systemctl: fix handling of instance unit filesArtur Kowalski2025-02-051-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes handling of units with instance name in theirs filenames such as `gnome-shell@wayland.service` or `gnome-shell@x11.service`. Such files cause template file to be ignored (for the specific instance). Thanks to Markus Volk <f_l_k@t-online.de> for noticing the breakage when building images with gnome-shell: | Error: Systemctl preset_all issue in org.gnome.Shell@wayland.service | WARNING: /home/flk/poky/build/tmp/work/intel_corei7_64-poky-linux/gnome-image/1.0/temp/run.systemd_preset_all.2011511:158 exit 1 from 'systemctl --root="/home/flk/poky/build/tmp/work/intel_corei7_64-poky-linux/gnome-image/1.0/rootfs" --global --preset-mode=enable-only preset-all' The problem manifested after cdc3b3028f6d71788b5fdd99436f69fbf18f613e because we enabled preset-all for user units - org.gnome.Shell@wayland.service is a user service, so prior to that change the file wasn't processed at all. The error was triggered because there is no org.gnome.Shell@.service file. With this patch applied systemctl script looks for instance unit file and falls back to template unit in case of lack thereof, keeping the same behavior upstream systemctl does. (From OE-Core rev: 7eaad7c2a118b3d9db8b694730535afcd3ca985e) Signed-off-by: Artur Kowalski <arturkow2000@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Remove /var/log/README using a patchPeter Kjellerstedt2025-01-232-4/+31
| | | | | | | | | | | | | | Commit f82d9c997ba (systemd: enable create-log-dirs) removed the creation of the /var/log/README symbolic link by using sed. However, the update to 257 changed the target line and the sed expression no longer matches. Rather than correcting the sed expression, use a patch to remove /var/log/README so that any future changes do not go unnoticed. (From OE-Core rev: 76cf5994262f9fd76cf27e111eb67ad1645541f1) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Ross Burton <ross.burton@arm.com>
* systemd-systemctl: add support for --global flagArtur Kowalski2025-01-211-19/+23
| | | | | | | | | | | The flag is similar to --user flag as it causes systemctl to operate on user units, but it performs operations globally for all users. This is required for user presets support. (From OE-Core rev: ab6476d28485598ae842472a7b15ca7bf244c776) Signed-off-by: Artur Kowalski <arturkow2000@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: PACKAGECONFIG mountfsd and nsresourcedLei YU2025-01-141-0/+2
| | | | | | | | | | | | systemd v256 introduces `mountfsd` and `nsresourced` as meson options, make them PACKAGECONFIG so recipes could enable or disable the feature by selecting PACKAGECONFIGs. (From OE-Core rev: b091917424ac31fc9c188a16e653501d3a8b0afd) Signed-off-by: Lei YU <yulei.sh@bytedance.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Add WATCHDOG_RUNTIME_SEC optional variableBenjamin Szőke2025-01-081-0/+10
| | | | | | | | | | | | | To make use of the hardware watchdog it is sufficient to set the RuntimeWatchdogSec= option in /etc/systemd/system.conf. It defaults to 0 (i.e. no hardware watchdog use). Set it to a value like 20s and the watchdog is enabled. ref: https://0pointer.de/blog/projects/watchdog.html (From OE-Core rev: 1c61a1eb9c4faa9ab32b0440bbdd88c22c3cd945) Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: enable create-log-dirsChangqing Li2025-01-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, create-log-dirs is enabled in systemd, and a link /var/log/README will be created, point to {{DOC_DIR}}/README.logs, but, for oe, there are two problems here, firstly, DOC_DIR is packaged in another package systemd-doc, so /var/log/README is a dead link when systemd-doc is not installed, secondly, even systemd-doc is installed, when volatile log is used, DOC_DIR is a wrong relateive path, Refer [1]. So in commit [2], we disable create-log-dirs for above issue. with this change, /var/log/journal is not created, and /run/log is used, this makes systemd log always non persistent, refer [3][4]. if user need persistent log, they need to disable volatile log, and also change journald.conf, make "Storage" to "persistent". This is a behavoir change. Previously, to make systemd log persistent, user only need to disable volatile log. This commit reenable create-log-dirs to revert the behavior change, and since README is not very userful, just remove it. [ YOCTO #15678 ] [1] https://github.com/systemd/systemd/blob/main/tmpfiles.d/legacy.conf.in#L16 [2] https://git.openembedded.org/openembedded-core/commit/?id=18d46e11d85da1f6feaba5a135931e43060024d6 [3] https://github.com/systemd/systemd/blob/main/src/journal/meson.build#L189 [4] https://www.freedesktop.org/software/systemd/man/journald.conf.html [5] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15678 (From OE-Core rev: f82d9c997ba8cc23b472d44a43489c597bf452af) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade 257 -> 257.1Wang Mingyu2025-01-034-1/+1
| | | | | | | | (From OE-Core rev: 4c4f4798862d80f44e03ccbbe7efc2d8b723968c) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade from 256.9 to 257Chen Qi2025-01-0333-566/+604
| | | | | | | | | | | | | | | | | Patch changes: * 0003-coredump-set-ProtectHome-to-read-only.patch is drop as it's a backported patch. * 0009-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch is drop as AT_SYMLINK_NOFOLLOW has been supportd in musl. * Other patches are either refreshed or changed to fit the current version. systemd-boot changes: * Use src/boot instead src/boot/efi in do_install and do_deploy. See upstream change 97318131fd06 (Rename src/boot/efi to just src/boot). (From OE-Core rev: 4891f47cdaf919033bf1c02cc12e4805e5db99a0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: add fido to PACKAGECONFIG optionsMikko Rapeli2024-12-231-0/+1
| | | | | | | | | | | | | | | | | To enable FIDO support. meta-oe can provide libfido2 but it depends on udev which creates a dependency loop between systemd (provider of udev) and libfido2 which is currently unresolved. systemd recipe could split udev to a separate recipe to solve this, or libfido2 could be compiled in systemd source tree after udev but before rest of systemd. (From OE-Core rev: 1e347c36b0d3910cd71b24a4e4ab8e2dd49063d1) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: add apparmor PACKAGECONFIG supportMikko Rapeli2024-12-231-1/+2
| | | | | | | | | | For meta-security to enable with "apparmor" in DISTRO_FEATURES. (From OE-Core rev: 804b462b826edf04182c77b6405a52a1c9b9b1f6) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: set CVE_PRODUCTMikko Rapeli2024-12-171-0/+2
| | | | | | | | | | | | | | | | systemd.inc is used by systemd, systemd-boot and systemd-tools-native recipes so make sure all match to "systemd" product in CVE database. The split between systemd, systemd-boot and systemd-tools-native is specific to oe-core and upstream just refers to systemd. Not limiting to "systemd_project" vendor since multiple vendor names have been used in the past. (From OE-Core rev: eb46ad379170f0a80ac2d061fa02c118f5ed1d31) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: split networkd into its own packageAdrian Freihofer2024-12-171-3/+25
| | | | | | | | | | | | | | | | Support of images with different network management implementations without having to recompile systemd and other components. Fedora does this as well since systemd version 246.6-2: https://src.fedoraproject.org/rpms/systemd/blob/rawhide/f/systemd.spec#_578 This proves that it is technically possible and officially supported by systemd. (From OE-Core rev: 3664d14ef97281961d166f16e7d47996370e405d) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: upgrade 256.8 -> 256.9Wang Mingyu2024-12-154-1/+1
| | | | | | | (From OE-Core rev: 454cd1073bd5df167c284a34d6d1259263a859bb) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: actively disable Predictable Network Interface Names if !pni-namesAlexander Sverdlin2024-12-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Currently pni-names PACKAGECONFIG option adds "mac" names policy if selected, but nothing otherwise. In systemd Predictable Network Interface Names are applied by default which leads to inconsistend behaviour. One could think that pni-names in DISTRO_FEATURES would enable or disable Predictable Network Interface Names, but currently if not present it's only actively disabled for QEMU via kernel command line (commit 9e9c33d51e40 ("qemuboot/runqemu: Fix 6.2 and later kernel network device naming")). It has no effect on the real HW. If the option is present, it merely adds "mac" into default NamePolicy, which may or may not have observable effects. Make pni-names semantics more consistent by actively suppressing Predictable Network Interface Names if the feature is not present. (From OE-Core rev: 37b98bc93bc404823cc4bbf9039e4d114aac33fa) Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-compat-units: execute postinst on targetAlexander Kanavin2024-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | There is a race here where postinst relies on existence of various files from other packages on the target rootfs to operate properly, but doesn't ensure that it runs after all of those packages have been installed. Adding dependencies on those packages is not a solution as the recipe is not supposed to bring them into rootfs, only make adjustments if they are present. This commit moves postinst execution to the first boot; another solution would be to replace the whole recipe with ROOTFS_POSTPROCESS_COMMAND. This was exposed with rpm 4.20 which rearranges the order in which packages are installed, and exposes the issue. (From OE-Core rev: e88f22da19a7f3f9bf23f2a607ffde6b5b1a3265) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: remove custom rootlibexecdir and replace with nonarch_libdirRicardo Salveti2024-12-051-95/+91
| | | | | | | | | | | | The rootprefix build option was deprecated in systemd 255, making the custom rootlibexecdir unnecessary, so remove it in favor of the standard nonarch_libdir definition. (From OE-Core rev: c89b34401dfbe65de5a32bf8b4ef32902d868ce1) Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: split long line in pkg_postinstRicardo Salveti2024-12-051-1/+2
| | | | | | | | | | | Cosmetic change only to avoid max line length patchset failures when changing the target line. (From OE-Core rev: c6267b247a53c7e1a6befd2f04b440fbf8918028) Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: drop deprecated rootlibdir, rootprefix and split-usr optionsRicardo Salveti2024-12-051-10/+5
| | | | | | | | | | | | Support for split-usr and unmerged-usr were both removed as part of the systemd 255 release, so remove the current deprecated rootlibdir, rootprefix and split-usr options from the recipe. (From OE-Core rev: 94ec821600c36baaeeb81f3d2ce0cc6d2d22082a) Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>