summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
AgeCommit message (Collapse)Author
2020-02-08systemd: upgrade 243.4 -> 244.1Alex Kiernan
Drop 0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch a variant on which was introduced in 2c1047310970 ("Upgrade to systemd 211+") in 2014. The oldest supported build machine is now CentOS 7 which has --relative support in ln, so there no longer appears to be any need for this change. Rebase/refresh musl patches: - replace missing.h with specific missing_... header - fix additional WRITE_STRING_FILE_DISABLE_BUFFER - fix more places that need netinet/if_ether.h Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04systemd: Upgrade 243.2 -> 243.4-latestAlex Kiernan
Update to latest on the 243 stable branch. This includes (amongst other fixes) seccomp filter changes which fix failures with glibc 2.31, e.g. systemd-journald[543]: Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at src/basic/time-util.c:55, function now(). Aborting. Refresh: 0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch 0001-do-not-disable-buffer-in-writing-files.patch Drop 0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch, fixed in 5c0224c7bf3c ("Handle d_type == DT_UNKNOWN correctly"). Drop 0001-seccomp-more-comprehensive-protection-against-libsec.patch, fixed in 70e8c1978a9a ("seccomp: real syscall numbers are >= 0"). Drop 0004-rules-whitelist-hd-devices.patch and 0005-rules-watch-metadata-changes-in-ide-devices.patch which cause ide-cd to flap with tray open messages (and don't appear to be required any more) Commits from v243-stable: 70e8c1978a9a seccomp: real syscall numbers are >= 0 a0a1977d9a5d seccomp: more comprehensive protection against libseccomp's __NR_xyz namespace invasion 7f936c60d597 network: set ipv6 mtu after link-up or device mtu change b59d88cc62a4 man: fix typo in net-naming-scheme man page c5e5ac095821 man: fix typos (#14304) 9a2f26564d5a ipv4ll: do not reset conflict counter on restart bc9e1ebfdd3b Fix typo (duplicate "or") c6cb71b7e741 network: if /sys is rw, then udev should be around 67dcdfd95629 nspawn: do not fail if udev is not running a7938a1bc6d3 Create parent directories when creating systemd-private subdirs 53aa44f8738a network: do not return error but return UINT64_MAX if speed meter is disabled 65abf126744f core: swap priority can be negative b1cf452ff5f6 systemctl: enhance message about kexec missing kernel 07a0e5b42523 man: use mkswap@ instead of makeswap@ 57dc017c6bac journald: don't ask for the machine ID if we don't need it ac392a57c08c journalctl: pager_close() calls fflush(stdout) anyway as first thing ee7dfadc8237 journald: remove unused field 471073f1b52b journalctl: return EOPNOTSUPP if pcre is not enabled 002ededb61a0 man: drop reference to machined, add one for journald instead fd3bd4be3bff pid1: make TimeoutAbortSec settable for transient units eb2ef4d6643e pid1: fix setting of DefaultTimeoutAbortSec 1d75e29b2378 shared/ask-password-api: modify keyctl break value a16b1ee7e565 cryptsetup: reduce the chance that we will be OOM killed 4836fb010ae8 core: write out correct field name when creating transient service units 3e2c547f6d3c udevd: don't use monitor after manager_exit() d42f7d45a8e2 Revert "udevd: fix crash when workers time out after exit is signal caught" c9a287eee8fd man/systemd.link: Add missing verb *be* a67a3ae04b89 man: document all pager variables for systemctl and systemd 3a8fce3f38b6 core.timer: fix "systemd-analyze dump" and docs syntax inconsistencies wrt OnTimezoneChange= fdffd284b682 core/service: downgrade "scheduling restart" message to debug 733e7f19d3cf travis: add missing closing quote sign 0d7b7817fc34 systemd-tmpfiles: don't install timer when service isn't installed either 0e7f83cd2b31 pam_systemd: prolong method call timeout when allocating session e51d9bf9e5ac man: add entry about SpeedMeter= aa1fc791c7a1 udev: silence warning about PROGRAM+= or IMPORT+= rules b9a619bb6738 udevadm: ignore EROFS and return earlier 1ec5b9f80cb5 basic: add vmware hypervisor detection from device-tree 7fa7080248aa umount: be happy if /proc/swaps doesn't exist 71ccd774bb33 shutdown: make logging more useful if NULL swap/mount table files are specified 38453c6d42e4 man: share description of $SYSTEMD_COLORS in other tools b50ca0152681 core: do not propagate polkit error to caller 99b72a66ca55 ask-password: don't hit assert() when we query pw which the user C-d and caching is enabled 288edd686911 man: mention $RUNTIME_DIRECTORY & friends in environment list 37aeadd433d3 cryptsetup-generator: guess whether the keyfile argument is two items or one a87e8fdc72d7 verify: fix segmentation fault 3aea728cd2d2 timedated: it might be that tzinfo files are just not installed cc103c72abc1 timedated: handle UTC specially, when generating /etc/localtime f5a4caa5418b time-util: treat /etc/localtime missing as UTC 2139d58652bb bpf: fix off-by-one in class whitelisting cb7693595db9 bpf: fix device type filter 56e1ba304b00 core: constify bpf program arrays b06b7ace92c1 run: propagate return code/status from the child 5db454b8031c udevd: fix crash when workers time out after exit is signal caught b774282a855e udev: ignore error caused by device disconnection 8d88a2ecd7ce udev: fix error code in the log message c41484a2f3d7 udev: ignore ENOENT when chmod_and_chown() device node f218b65b3246 udev: do not append newline when write attributes ce4d17ddbc16 time-util: uniquify timezone list, in case UTC is listed in timezone1970.tab, too 28f0b34c57bc time-util: always accept UTC as valid timezone 8b888d236007 seccomp: add all *time64 syscalls 53d8feeb2334 libblkid: open device in nonblock mode. b9478046b03d man: describe ordering in case of Conflicts= fa3e5bd2bbb4 man: put description of Wants= above Requires= bdebd2c325fc meson: remove strange dep that causes meson to enter infinite loop 26bc77d8e5af man: fix option typo in pam_systemd man page 9c12127e3d2e man: save pull-raw example file without underscores 4c106cbcf1af man: small grammatical/word choice fixes to crypttab man page 03cc374fca74 shared/format-table: disable ellipsization when piped 0a5497d3fa4b sd-device-enumerator: do not return error when a device is removed 7b0d0331d051 bootctl: create leading dirs when "bootctl random-seed" is called if needed 5aab35aac9db core, job: fix breakage of ordering dependencies by systemctl reload command cd86ae937305 journalctl: allow running vacuum on remote journals, too fc0451bc0a3f allow an empty DefaultInstance= in configuration files 587266c24aae man/systemd.net-naming-scheme: fix typo e0e63f0f9bb9 nspawn: respect quiet on capabilities warning 37e50c05b564 nspawn: mangle slice name 4fefc493541e mkosi: Find hostname command on Arch Linux c430e8affba4 Fix mkosi on Arch Linux 1765b8d803dd Update to Fedora31 0b9a2a9a9868 sd-boot: Silence compiler warning when building with -O2 24e02f8d49b6 sd-boot: Don't loudly complain if RNG protocol isn't available 14e377ef3519 sd-boot: Only disable optimization on debug builds a39008ddecb9 meson: correct man page deps 4c1dcc06fa30 sd-event: don't invalidate source type on disconnect fb89ee34cedc analyze: fix minor memleak a449299bc087 analyze: sort list of unknown syscalls kernel implements 51ea58a04b18 seccomp: add new Linux 5.3 syscalls to syscall filter lists 819695c8b027 resolved: check for IP in certificate when using DoT with GnuTLS 37f817e21097 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS 32056809baa2 coverity: replace python with jq d2b4d7ee17de network-generator: Add missing help for --root f1b18c206208 modules-load: do not fail service if modules are not present 606de6626714 pid1: order .automount units after local-fs-pre.target 1366b81f2bc5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() 84d5cd699e25 shared/install: fix error codes returned by install_context_apply() 417779c58a86 man: alias names can't be used with enable command 00af6c447f25 resolved: set stream type during DnsStream creation 66dd9d7d25fd sd-device: allow sd_device_get_devtype to be called with NULL arg and do not assert 048f9da1a4b3 Remove unused plymouth_running() function 34fa67bbe732 machine-id-setup: avoid unexpected aborting 24c99fa2ef3d test-socket-util: avoid writing past the defined buffer ce82233f99b3 test: drop duplicated 's' 75a0e7209114 nspawn: fix handling of --console=help f41a282875fc Revert "sysusers: properly mark generated accounts as locked" fc2dceac6172 Remove unprintable non-ASCII char from special glyph ASCII fallback table dedf5b511e6f logind: fix emission of PropertiesChanged for users 6e3cfe2e58f5 logind: fix emission of PropertiesChanged on seats a9152084d7e9 resolved: fix connection failures with TLS 1.3 and GnuTLS 961879ed9ddb udev: tag any display devices as master-of-seat when nomodeset is used 8aa7bafa1295 systemd-fsck: fix systemd-fsck/fsck pipe bad closure 19590e289ace ceph is a network filesystem 339606ad9e99 portabled: allow to detach an image with a unit in linked-runtime state bd9692734ac5 network: ndisc: do not drop all prefixes when a prefix matches a blacklist 5e6d4f8b79e0 systemctl: fix memleak caused by wrong cleanup func 47d0e23d26af udev: fix memleak caused by wrong cleanup function a6fb0542c5ef parse_hwdb: fix compatibility with pyparsing 2.4.* cb1d892f1780 parse_hwdb: process files in order ef677436aa20 test: Pass personality test even when i686 userland runs on x86_64 kernel 3f6398c450b8 docs: fix inadvertent change in uid range 25bb377a73e7 cgroup: fix typo in BPF firewall support warning message 6d97aca0d503 fix build with compilers with default stack-protector enabled fbad077cec34 nspawn: surrender controlling terminal to PID2 when using the PID1 stub 0553c3c66889 pid1: fix DefaultTasksMax initialization f406a691a722 src/core/automount: use DirectoryMode when calling mkdir -p 20438f96c326 udevadm trigger: do not propagate EACCES and ENODEV 6480630bc397 hwdb: Correct WWWW Pattern In Documentation Comment 9d8e889810b5 nspawn: consistenly fail if parsing the environment fails 40e169b30423 nspawn: default to unified hierarchy if --as-pid2 is used b5df1037a0c0 cgroup: Mark memory protections as explicitly set in transient units f14e3e02cca7 cgroup: Respect DefaultMemoryMin when setting memory.min ea248e53bf76 cgroup: Check ancestor memory min for unified memory config de1d25a506db cgroup: docs: memory.high doc fixups 2ab45f38d8c4 cgroup: docs: Mention unbounded protection for memory.{low,min} 19a43dc38a13 Consider smb3 as remote filesystem 5c0224c7bf3c Handle d_type == DT_UNKNOWN correctly 8282bc61df10 util-lib: Don't propagate EACCES from find_binary PATH lookup to caller 9d0ae987a634 network: drop noisy log message f67f0e4ec45a Updated log message when the timesync happens for the first time (#13624) e151bf467494 units: make systemd-binfmt.service easier to work with no autofs 2b8e574d8242 Corect man page reference in systemd-nologin.conf comments a0577353f191 man: Add a missing space in machinectl(1) 693e98398869 log: Add missing "%" in "%m" log format strings ea7151b8c435 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist b90549290e33 man: fix typo Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27systemd: add missing Upstream-StatusRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2020-01-27systemd: fix a test-seccomp build issueMing Liu
Fix a following compiling issue when seccomp is enabled by PACKAGECONFIG: | ../test-seccomp.c: In function 'test_protect_sysctl': | ../test-seccomp.c:307:5: error: "__NR__sysctl" is not defined, evaluates to 0 [-Werror=undef] | 307 | #if __NR__sysctl > 0 | | ^~~~~~~~~~~~ Reference: https://github.com/systemd/systemd/pull/14032 Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2020-01-13systemd: add missing Upstream-StatusRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-31systemd: fix ${PN}-journal-remote systemd unitAndré Draszik
Commit d31ff84a5f47 ("systemd: fix PN-container package splitting"), d0b2cedfb099 in poky, created a new package for the remote journal, but introduced a typo during declaration of the systemd unit part of that package. Fix it. Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30systemd: Fix time_t size assumptionsKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-28systemd: Rename the files instead of using PVAdrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-12-28systemd-compat-units: this recipe doesn't need a compilerRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-12-16systemd-systemctl: Fix handling of aliased targetsSlavic Brutalik
The script scans for services, parses them and makes sure those targets are still there. The exists file check fails if the target is an alias, such as default.target so add an additional test. [YOCTO #13685] Signed-off-by: Werner Grift <sky.captin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-09systemd: Upgrade 243 -> 243.2Adrian Bunk
Bugfix-only changes on the 243 stable branch. Backported patch removed. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21systemd: remove ${PN}-xorg-xinitrcKai Kang
In 50-systemd-user.sh which is packaged to sub-package ${PN}-xorg-xinitrc, it exports environment variables DISPLAY and XAUTHORITY to systemd. It fails to start systemd services which require these environment variables such as thunar.service: root@qemux86-64:~# systemctl --user status thunar ● thunar.service - Thunar file manager Loaded: loaded (/usr/lib/systemd/user/thunar.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:Thunar(1) Nov 14 07:47:29 qemux86-64 systemd[352]: Starting Thunar file manager... Nov 14 07:47:29 qemux86-64 Thunar[873]: cannot open display: Nov 14 07:47:29 qemux86-64 systemd[352]: thunar.service: Main process exited, code=exited, status=1/FAILURE Nov 14 07:47:29 qemux86-64 systemd[352]: thunar.service: Failed with result 'exit-code'. Nov 14 07:47:29 qemux86-64 systemd[352]: Failed to start Thunar file manager. It is not convenient to make all such kind of packages require package ${PN}-xorg-xinitrc, so remove the sub-package and merge the only file provided by it to main package. No recipe depends on ${PN}-xorg-xinitrc in oe-core and meta-openembedded now, so no need to set rprovides for it. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-21distro_features_check: expand with MACHINE_FEATURES and COMBINED_FEATURES, ↵Denys Dmytriyenko
rename Besides checking DISTRO_FEATURES for required or conflicting features, being able to check MACHINE_FEATURES and/or COMBINED_FEATURES may also be useful at times. Temporarily support the old class name with a warning about future deprecation. Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14systemd: Fix invalid argument of pstore log entryYongxin Liu
Fix "systemd-pstore: Failed to log pstore entry: Invalid argument" by backporting 1b3156edd291e0882d80a695d035dd30521345d1 from upstream. Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-11systemd: Add runtime dependency on new ldconfig packageAndreas Oberritter
Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08systemd: don't install systemd-hwdb-update.serviceRoss Burton
This service file is designed to do first-boot initialisation of the udev hwdb database, but the condition logic to fire it is suboptimal: it can fire if not needed, and can also not fire if needed. Specifically it will always fire on first boot, even though as part of rootfs generation we build the hwdb database. On slow machines this can take a significant amount of time, the pathological case being qemumips where the service can time out after 90 seconds of processing. Other distributions have also noticed this problem (specifically, at least Debian and Clear) and solve it by using traditional postinst scripts to generate the hwdb (which we already do) and deleting the service file (which we don't). Finish the fix and improve boot times across all boards by deleting the service file. [ YOCTO #13504 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08systemd: don't install udev.pc manuallyRoss Burton
This is already installed by the install target to $datadir/pkgconfig, so there's no need to install it again to $libdir/pkgconfig. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02systemd: Expose resolv-conf alternative only when resolved is builtAlexandre Bard
When systemd is built without internal resolver, it does not make sense to expose it as a resolv-conf alternative and can even break images where this alternative would be chosen, because of an invalid symlink. Signed-off-by: Alexandre Bard <alexandre.bard@netmodule.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27systemd: fix NFS regressionChen Qi
Currently systemd cannot boot correctly on NFS. This is because the code uses readdir which returns DT_UNKNOWN instead of DT_LNK on NFS. So consider DT_UNKNOWN to fix this problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27systemd: Make it build with hwdb disabledPeter Kjellerstedt
If hwdb is disabled, then systemd-hwdb-update.service does not exists. Do not try to modify it in this case. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19systemd: Handle slow to boot mips hwdb update timeoutsRichard Purdie
This is a temporary workaround to avoid autobuilder failures until https://github.com/systemd/systemd/issues/13581 is resolved. Its being done globally even though its a mips problem for simplicity, it doesn't hurt anything else to have a longer timeout. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19systemd-systemctl-native: don't care about line endingsRoss Burton
It's possible for a service file to accidentally contain mixed line endings, but the string cleanup code was assuming Unix endings. [ YOCTO #13535 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19systemd-boot: switch to image-uefi.confDmitry Eremin-Solenikov
Use variables from image-uefi.conf instead of hardcoding them in the recipe. Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16systemd: upgrade to 243Scott Murray
PATCH REBASED: ============== 0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch 0001-do-not-disable-buffer-in-writing-files.patch 0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch 0004-add-fallback-parse_printf_format-implementation.patch 0004-rules-whitelist-hd-devices.patch 0005-rules-watch-metadata-changes-in-ide-devices.patch 0005-src-basic-missing.h-check-for-missing-strndupa.patch 0006-Include-netinet-if_ether.h.patch 0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch 0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch PATCH DROPPED: ============== 0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch 0001-src-udev-udev-event.c-must-include-sys-wait.h.patch 0023-socket-util.h-include-string.h.patch 0025-fs-utilh-add-missing-sys-stat-include.patch PATCH ADDED: ============ 0002-src-login-brightness.c-include-sys-wait.h.patch 0003-src-basic-copy.c-include-signal.h.patch 0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch Also applied libc-glibc over-ride to pkg_postinst and pkg_prerm function definitions, as musl does not provide nsswitch.conf. Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-15systemd: provides ${base_sbindir}/udevadmKai Kang
In some udev rules files such as 97-hid2hci.rules from bluez5, it calls /sbin/udevadm in a rule. eudev provides /usr/bin/udevadm and /sbin/udevadm which is a link to /usr/bin/udevadm. But systemd only provides /bin/udevadm. It is not convenient to update the rule file that udevadm reside in different directories for eudev and system. So create link file ${base_sbindir}/udevadm in systemd just the same as eudev to fix such kind of issues. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-09-06systemd: ensure reproducible builds by clearly exposing the time epoch supportRoss Burton
systemd has the ability to check the time on boot and if it's earlier than an epoch determined at build time, set the time to that epoch. This is useful for systems where the system time is January 1st 1970 (because the unix timestamp was 0 at boot) as then at least the time is reset to something approximating the right year at least. By default systemd uses the mtime of the NEWS file, which is static for tarballs and corresponds to the time the release was made, but for git checkouts this is simply the time do_unpack() was executed. Thus, rebuilding systemd will cause this embedded timestamp to change. Remove the PACKAGECONFIG time-epoch which has the logic reversed: enabling time-epoch will set the epoch to the unix timestamp 0). Replace with set-time-epoch with the following semantics: - When disabled, the time epoch is set to 0 (1st January 1970), so there is no time manipulation on boot. - When enabled, if reproducible builds are configured by setting SOURCE_DATE_EPOCH then that timestamp is used for the time epoch. If reproducible builds are not configured then the timestamp of NEWS (thus the build time) is used. The set-time-epoch flag is enabled by default. [ YOCTO #13473 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-09-06systemd: Update to the latest 242 branchAdrian Bunk
Remove patch for issue fixed upstream. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06systemd: explicitly set the path to nologinRoss Burton
Set the path to nologin as with sulogin etc so we don't try to execute binaries from the build path on the target (as the build finds a nologin in the sysroot at build time). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-31serial-getty@.service: Allow device to fast fail if it does not existJason Wessel
Some BSPs use a USB serial port which may or may not actually be plugged all the time. It is quite useful to have a USB serial port have a getty running but it does not make sense to wait for it for 90 seconds before completing the system startup if it might never get plugged in. The typical example is that a USB serial device might only need to be plugged in when debugging, upgrading, or initially configuring a device. This change is somewhat subtle. Systemd uses the "BindsTo" directive to ensure existence of the device in order to start the service as well as to terminate the service if the device goes away. The "After" directive makes that same relationship stronger. When used together this has the undesired side effect that systemd will wait until its internal time out value of 90 seconds for the device to come on line before executing a fail operation or letting other tasks and groups continue. This is certainly the kind of behavior we want for a disk, but not for serial ports in general. The "BindsTo" directive is replaced by the combination of the "PartOf" and the "ConditionPathExists" directives. The "After" directive is unchanged because that will wait for the udev rules to process. The "PartOf" directive will issue a stop to the getty service if the device goes away, similar to the "BindsTo" directive. The "ConditionPathExists" is what allows the service to fail fast vs waiting for the timeout. When a USB device is not plugged in at boot you would find a message in the system journal like: systemd[1]: Condition check resulted in Serial Getty on \ ttyUSB0 being skipped. If you want to observe the problem with qemu, it is easy to replicate. Simply add the following line to your local.conf for a x86-64 qemu build. SERIAL_CONSOLES="115200;ttyS0 115200;ttyUSB0" Login right after the system boots and observe: root@qemux86-64:~# systemctl list-jobs |cat JOB UNIT TYPE STATE 1 multi-user.target start waiting 69 serial-getty@ttyUSB0.service start waiting 64 getty.target start waiting 71 dev-ttyUSB0.device start running 62 systemd-update-utmp-runlevel.service start waiting 5 jobs listed. You can see above that the dev-ttyUSB0.device will block for 1min 30 seconds. While that might not be a problem for this reference build. It is certainly a problem for images that have software watchdogs that verify the system booted up all the way to systemd completion in less than 90 seconds. This other nice effect of this change is that the fast fail device extend to additional serial ports that may not exist on ARM BSPs or that might be configured in or out by the dtb files on different boards. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-27systemd: Update to the latest 242 branchAdrian Bunk
Remove backported patches applied upstream. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-27systemd: Print a buildtime warning about the status with muslAdrian Bunk
It is possible if a user really has to use it, but not recommended. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21systemd: add PACKAGECONFIG for gnu-efiRoss Burton
Add a PACKAGECONFIG for gnu-efi, by default the meson.build looks explicitly in /usr/include and /usr/lib for gnu-efi, and if it is present on the host the build will fail. [ YOCTO #13487 ] Original patch by Chin Huat Ang. Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-08-16systemd: Refresh patch after removal of __secure_getenv patchKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-16systemd: Drop musl __secure_getenv patchKhem Raj
This API is now implemented in musl [1] [1] https://git.musl-libc.org/cgit/musl/commit/?id=7844ecb590893f8344324837956718001402d297 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07systemd-boot: Add option to specify cross objcopy and use itKhem Raj
This is needed when build host != x86 box Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-26systemd: Add partial support of drop-in configuration files to ↵Frederic Ouellet
systemd-systemctl-native Support for serive-name.service.d/ folders containing .conf files It don't support all the partial folder names See https://www.freedesktop.org/software/systemd/man/systemd.unit.html Signed-off-by: Frederic Ouellet <fredericouellet@eaton.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23pam_systemd: Include missing.h for secure_getenvKhem Raj
'secure_getenv' api is not uniformly implemented across all C libraries therefore its good to include missing.h so it can use the alternative implementation where its not awvailable Fixes ../git/src/login/pam_systemd.c:344:13: error: implicit declaration of function 'secure_getenv' is invalid in C99 [-Werror,-Wimplicit-function-declaration] v = secure_getenv(key); Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-19systemd-bootconf: Mark as machine specificRicardo Ribalda Delgado
APPEND is usually attached to a machine. This patch avoids multiconfig errors such as: | NOTE: Direct dependencies are ['multiconfig:qt5022:/workdir/repo/poky/meta/recipes-core/glibc/glibc_2.29.bb:do_populate_sysroot', 'multiconfig:qt5022:virtual:native:/workdir/repo/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'multiconfig:qt5022:/workdir/repo/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb:do_populate_sysroot', 'multiconfig:qt5022:/workdir/repo/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb:do_populate_sysroot', 'multiconfig:qt5022:/workdir/repo/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb:do_populate_sysroot'] | NOTE: Installed into sysroot: [] | NOTE: Skipping as already exists in sysroot: ['glibc', 'pseudo-native', 'quilt-native', 'gcc-cross-x86_64', 'gcc-runtime', 'libgcc', 'linux-libc-headers', 'libtool-native', 'texinfo-dummy-native', 'libmpc-native', 'flex-native', 'automake-native', 'zlib-native', 'mpfr-native', 'gmp-native', 'binutils-cross-x86_64', 'xz-native', 'autoconf-native', 'gnu-config-native', 'gettext-minimal-native', 'm4-native'] | DEBUG: Python function extend_recipe_sysroot finished | DEBUG: Executing shell function do_install | install: cannot stat 'loader.conf': No such file or directory | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_install (log file is located at /workdir/build/tmp/work/bobcat-poky-linux/systemd-bootconf/1.00-r0/temp/log.do_install.737) NOTE: recipe systemd-bootconf-1.00-r0: task do_install: Failed ERROR: Task (multiconfig:qt5022:/workdir/repo/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb:do_install) failed with exit code '1' Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-17systemd: Fix interface bring-up on kernels >= 5.2Ricardo Ribalda Delgado
With kernels >=5.2 systemd-networkd is unable to bring up the link. eth0: Could not bring up interface: Invalid argument This is already reported upstream and fixed on master: https://github.com/systemd/systemd/issues/12784 They recommend Debian to backport two patches. Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-16systemd: backport patch to fix sysctl warning on bootMatthias Schiffer
Due to improved validation of sysctl settings in recent kernels (5.2+, but also stable kernels like 4.19.53), systemd will log an error message like systemd[1]: Failed to bump fs.file-max, ignoring: Invalid argument during boot. Backport the bugfix from the systemd master. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19systemd-conf: not configure network for nfs rootKai Kang
It fails to boot nfs root with systemd that systemd-networkd re-configures wired network and breaks the connection with nfs root. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-14systemd: Backport OpenSSL BUF_MEM fixAlex Kiernan
Building `systemd-resolve` from systemd 242 with OpenSSL 1.1.1c and enabling DNS over TLS ends up calling abort (on 32 bit armhf): Program terminated with signal SIGABRT, Aborted. #0 __libc_do_syscall () at libc-do-syscall.S:49 49 libc-do-syscall.S: No such file or directory. (gdb) where #0 __libc_do_syscall () at libc-do-syscall.S:49 #1 0xb6940ea4 in __libc_signal_restore_set (set=0xbec68b78) at ../sysdeps/unix/sysv/linux/internal-signals.h:84 #2 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48 #3 0xb69336e0 in __GI_abort () at abort.c:79 #4 0xb6968428 in __libc_message (action=action@entry=do_abort, fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181 #5 0xb696c7e6 in malloc_printerr (str=<optimized out>) at malloc.c:5352 #6 0xb696ca1a in munmap_chunk (p=<optimized out>) at malloc.c:2840 #7 0xb6bd1c4a in CRYPTO_clear_realloc (str=0xd0e59a, old_len=388, num=<optimized out>, file=0xb6c300dc "../../../../../../workspace/sources/openssl/crypto/buffer/buffer.c", line=135) at ../../../../../../workspace/sources/openssl/crypto/mem.c:290 #8 0xb6b5da3a in BUF_MEM_grow_clean (str=0xcfb960, len=len@entry=393) at ../../../../../../workspace/sources/openssl/crypto/buffer/buffer.c:135 #9 0xb6b486a0 in mem_write (b=0xcf8300, in=0xd07c6b "\027\003\003", inl=24) at ../../../../../../workspace/sources/openssl/crypto/bio/bss_mem.c:235 #10 0xb6b45c86 in bwrite_conv (bio=<optimized out>, data=<optimized out>, datal=<optimized out>, written=0xbec68ec8) at ../../../../../../workspace/sources/openssl/crypto/bio/bio_meth.c:77 #11 0xb6b452d4 in bio_write_intern (written=0xbec68ec8, dlen=24, data=0xd07c6b, b=0xcf8300) at ../../../../../../workspace/sources/openssl/crypto/bio/bio_lib.c:343 #12 bio_write_intern (b=0xcf8300, data=0xd07c6b, dlen=24, written=0xbec68ec8) at ../../../../../../workspace/sources/openssl/crypto/bio/bio_lib.c:320 #13 0xb6b455b2 in BIO_write (b=<optimized out>, data=<optimized out>, dlen=<optimized out>) at ../../../../../../workspace/sources/openssl/crypto/bio/bio_lib.c:363 #14 0xb6cabd1a in ssl3_write_pending (s=s@entry=0xcfd2d8, type=type@entry=23, buf=buf@entry=0xcfcc28 "", len=len@entry=2, written=written@entry=0xbec698b0) at ../../../../../../workspace/sources/openssl/ssl/record/rec_layer_s3.c:1146 #15 0xb6cac72e in do_ssl3_write (s=s@entry=0xcfd2d8, type=type@entry=23, buf=buf@entry=0xcfcc28 "", pipelens=pipelens@entry=0xbec698b4, numpipes=numpipes@entry=1, create_empty_fragment=create_empty_fragment@entry=0, written=written@entry=0xbec698b0) at ../../../../../../workspace/sources/openssl/ssl/record/rec_layer_s3.c:1107 #16 0xb6cac92e in ssl3_write_bytes (s=0xcfd2d8, type=23, buf_=0xcfcc28, len=<optimized out>, written=0xbec699c0) at ../../../../../../workspace/sources/openssl/ssl/record/rec_layer_s3.c:613 #17 0xb6cb1698 in ssl3_write (s=<optimized out>, buf=0xcfcc28, len=2, written=0xbec699c0) at ../../../../../../workspace/sources/openssl/ssl/s3_lib.c:4460 #18 0xb6cb87b2 in ssl_write_internal (s=<optimized out>, buf=buf@entry=0xcfcc28, num=num@entry=2, written=written@entry=0xbec699c0) at ../../../../../../workspace/sources/openssl/ssl/ssl_lib.c:1943 #19 0xb6cb8896 in SSL_write (s=<optimized out>, buf=buf@entry=0xcfcc28, num=num@entry=2) at ../../../../../../workspace/sources/openssl/ssl/ssl_lib.c:1957 #20 0x004ddac8 in dnstls_stream_write (stream=stream@entry=0xcfca60, buf=0xcfcc28 "", count=2) at ../git/src/resolve/resolved-dnstls-openssl.c:270 #21 0x004d8d5c in dns_stream_writev (s=s@entry=0xcfca60, iov=iov@entry=0xbec69b4c, iovcnt=iovcnt@entry=2, flags=flags@entry=0) at ../git/src/resolve/resolved-dns-stream.c:225 #22 0x004d9516 in on_stream_io (es=<optimized out>, fd=<optimized out>, revents=4, userdata=0xcfca60) at ../git/src/resolve/resolved-dns-stream.c:334 #23 0xb6e7f020 in source_dispatch (s=0xcf3658) at ../git/src/libsystemd/sd-event/sd-event.c:2821 #24 0xb6e806b0 in sd_event_dispatch (e=e@entry=0xced6d0) at ../git/src/libsystemd/sd-event/sd-event.c:3234 #25 0xb6e807f6 in sd_event_run (e=0xced6d0, timeout=<optimized out>) at ../git/src/libsystemd/sd-event/sd-event.c:3291 #26 0xb6e809bc in sd_event_loop (e=0xced6d0) at ../git/src/libsystemd/sd-event/sd-event.c:3312 #27 0x004bb64c in run (argv=<optimized out>, argc=<optimized out>) at ../git/src/resolve/resolved.c:84 #28 main (argc=<optimized out>, argv=<optimized out>) at ../git/src/resolve/resolved.c:91 Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-04systemd-conf: configure wired network with dhcpKai Kang
Add a configure file for systemd.networkd to configure wired network interfaces with dhcp. It works with common network interfaces such eth0 and eno1. And do not install it for qemu bsps. Refer to https://github.com/YoeDistro/meta-yoe/tree/master/recipes-core/systemd [YOCTO #13057] Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-30systemd: add rconflictsChangqing Li
add rconflicts since error during do_rootfs: file /sbin/resolvconf conflicts between attempted installs of resolvconf-1.79-r0.noarch and systemd-1:242+0+db2e367bfc-r0.i586 file /sbin/init conflicts between attempted installs of tiny-init-1.0-r3.i586 and systemd-1:242+0+db2e367bfc-r0.i586 Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-27systemd: avoid musl specific patches affect glibc systemsChen Qi
systemd upstream only care about glibc. We made musl specific patches so that systemd could work. But currently these patches contain potential security issues. So apply these patches only when the libc is musl. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21systemd: Some upstreamable musl patches have been upstreamedAdrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-17systemd: Disable idn properly for musl instead of NI_IDN workaroundsAdrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-12systemd: Bump up SRCREV to systemd-stable top to include the fix for ↵He Zhe
shutdown now hang "shutdown now" makes systemd hang at the following line. [ OK ] Stopped Session c1 of user root. It's already been fixed by 03cb25525423 ("socket-util: make sure flush_accept() doesn't hang on unexpected EOPNOTSUPP") Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09systemd: move "machines" symlinks to systemd-containerMatthias Schiffer
Move symlinks to the machines.target and var-lib-machines.mount units to the systemd-container package, where the pointed at units are located as well. This avoids an implicit dependency of the systemd package on systemd-container, which prevented the use of systemd without installing systemd-container. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09systemd: Use PACKAGECONFIG definition to depend on libnss-myhostnamePeter Kjellerstedt
Rather than adding the dependency on libnss-myhostname to RDEPENDS_${PN} if the myhostname PACKAGECONFIG is set, add the runtime dependency to myhostname's PACKAGECONFIG definition. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>