The meson.cross generated by the class already has c and objcopy
entries, so these can be removed.
Pass the --cross-file option in MESON_CROSS_FILE to ensure the ordering
is always correct.
(From OE-Core rev: 302551de19edb1eb7333a6d1d5fdddacdbb9c349)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of re-implementing do_compile, use MESON_TARGET.
(From OE-Core rev: d37c0f3449e1a20e3acc490150fa4c7c6ea46bd1)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd efi.h defines wchar_t from compiler provided __WCHAR_TYPE__
therefore we do not want it to come from alltypes.h in musl case which
otherwise will end up with conflicting definitions of wchar_t, defining
__DEFINED_wchar_t ensures that alltypes.h does not provide it
(From OE-Core rev: 7b84fe344a2067b63d0c222fbc68d5916fa7903f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Last version of systemd dpends now on pyelftools to build the efi support
but the required tool is the native ones and not the target.
The systemd-boot has the corrected dependencie so fix this in the main recipe.
| Program python3 (jinja2) found: YES (/build/tmp-lmp/work/corei7-64-lmp-linux/systemd/1_254-r0/recipe-sysroot-native/usr/bin/python3-native/python3) modules: jinja2
| Checking if "32bit build possible" : links: NO
| Program python3 (elftools) found: NO
|
| ../git/meson.build:2147:8: ERROR: Problem encountered: EFI bootloader support requires pyelftools.
|
| A full log can be found at /build/tmp-lmp/work/corei7-64-lmp-linux/systemd/1_254-r0/build/meson-logs/meson-log.txt
(From OE-Core rev: 69d37620a7a0626eaee1c0b37057be2ac2687290)
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Support for unmerged-usr is deprecated upstream, taints the system and
has been removed for v255 (next release).
Enforce building merged-usr images when using systemd. This allows one
release cycle where it can be tested for any remaining issue, and can
still be overridden, before it stops working completely.
(From OE-Core rev: 802e853eeddf16d73db1900546cc5f045d1fb7ed)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
journald uses less to display logs. less.busybox can do the
job, but it rips out support for color/highlighting.
(From OE-Core rev: 2e9b41b23695bb3517ad33ccb02ae19ca30326c6)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Where compiler driver is used for linking ensure bfd linker is used as
well so its consistent when called directly or via compiler
(From OE-Core rev: d497362d52bd934101e7d7a49eeee0fffb0f4f46)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd brings up swap partitions with swapon --fixpgsz, which busybox's
implementation doesn't support.
(From OE-Core rev: c7b39bb6319f21c6df6c2d25086f82154efdf5f6)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kbd binaries (loadkeys and setfont) are installed to bindir, not
base_bindir.
Fixes: 94ccc7acc4a871f5bb7ab8e135e70b5519eff6ad
(From OE-Core rev: 458fdd085beb14572e5a1ed0f94861cf10648725)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
with newer systemd, if not specified, these paths are searched on build
host /usr dir
log.do_configure.2373278:Program /usr/sbin/loadkeys found: YES (/usr/sbin/loadkeys)
log.do_configure.2373278:Program /usr/sbin/setfont found: YES (/usr/sbin/setfont)
and if build host happens to have kbd installed then it
uses those locations, this would work fine if the assumption between OE
distro and host distro matches but fail otherwise e.g. on archlinux
these binaries are in /usr/sbin but in OE they are in ${base_bindir}
This results in
qemux86-64 systemd-vconsole-setup[211]: /usr/sbin/loadkeys failed with exit status 1.
(From OE-Core rev: 94ccc7acc4a871f5bb7ab8e135e70b5519eff6ad)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Drop dependency on gnu-efi, add dependency on pyelftools for EFI builds
- Refresh patches
- Ship new files and directories
- Use meson target to build sd-boot instead of filenames
- Change libpam recipe to set ANY_OF_DISTRO_FEATURES = "pam systemd" to let
logind pull in pam-plugin-umask
(From OE-Core rev: 95ed1fa4ff74a77deade51ad73b2f8963ff81548)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the instance name indicated by %i begins with a number, the meaning of the
replacement string "\\1{}".format(instance) is ambiguous.
To indicate group number 1 regardless of the instance name, use "\g<1>".
(From OE-Core rev: d18b939fb08b37380ce95934da38e6522392621c)
Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default sysusers basic.conf.in file sets the root home directory to `/root`
and does not permit its configuration. Replace the file delivered by systemd so
the root home directory matches the `ROOT_HOME` variable.
(From OE-Core rev: 5a0dd8fe478536f9ea503e3e1bc668b7e814bd85)
Signed-off-by: Louis Rannou <lrannou@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactor _process_deps to expand systemd instance specifier "%i" to the
template instance.
This change expands on prior commit e510222b57 ("systemd-systemctl: fix
instance template WantedBy symlink construction") by substituting every
"%i" pattern-match with the instance name.
The regexp handles the following cases:
* svc-wants@%i.service
* sys-subsystem-net-devices-%i.device
(From OE-Core rev: 9356276137267a29ae2289d796a2940918375308)
Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch should have been dropped when upgrading to 253
since its already available upstream since then
(From OE-Core rev: 5b677b766280b39e8bf507d5aec4f08e49fd72a9)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix issue of the below instance template systemd service dependency
[Install]
WantedBy=svc-wants@%i.service
creating the symlink (instance "a" example)
/etc/systemd/system/svc-wants@%i.service.wants/svc-wanted-by@a.service
which should be
/etc/systemd/system/svc-wants@a.service.wants/svc-wanted-by@a.service
as implemented by this change.
The functionality appears regressed just after "thud" baseline when the
logic was refactored from shell script into python (commit
925e30cb10)
(From OE-Core rev: 308397f0bb3d6f3d4e9ec2c6a10823184049c9b5)
Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 33d9b3a8ed.
The reverted patch was forcing systemd to do preset-all at boot time (first boot)
in a function that simuilates 'preset-all' at rootfs time. This is not right.
To force a first boot, just do not run this function, as said in the comment:
"""
# If we populate the systemd links we also create /etc/machine-id, which
# allows systemd to boot with the filesystem read-only before generating
# a real value and then committing it back.
#
# For the stateless configuration, where /etc is generated at runtime
# (for example on a tmpfs), this script shouldn't run at all and we
# allow systemd to completely populate /etc.
"""
For example, removing 'systemd_preset_all;' from IMAGE_PREPROCESS_COMMAND in some
distro conf file will achieve the same effect of the original patch.
(From OE-Core rev: a2ac09c32acfc2e076a7778447919d97553d38a2)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe
(From OE-Core rev: 7fce95e47601f766b384bc0d5805986ad933681f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a musl compatibility patch to systemd-boot.
Backport a patch to address systemctl fails on 32 bit targets.
(From OE-Core rev: d92f0f3597acba6cfc55a8cf2e7249efc6573c6a)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of creating empty /etc/machine-id file using touch, write
text "uninitialized" into it. Systemd requires "uninitialized" in
the /etc/machine-id file to trigger systemd-firstboot .
(From OE-Core rev: 263c852269027b1bd311e116021ac49d9001e1b0)
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Provide a mechanism to allow users to choose whether the /tmp directory
is on persistent storage (non-volatile) or a RAM-based tmpfs (volatile).
The default is volatile.
Works for both sysvinit-based and systemd-based systems.
(From OE-Core rev: 8b76c0637eaeaf5bd5e696680cd74b7a642f4157)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>From NEWS for v250:
* Device nodes for the Software Guard eXtension enclaves (sgx_vepc) are
now also owned by the system group "sgx".
>From NEWS for v248:
* Intel SGX enclave device nodes (which expose a security feature of
newer Intel CPUs) will now be owned by a new system group "sgx".
Fixes following journal error entry during startup:
/lib/udev/rules.d/50-udev-default.rules:43 Unknown group 'sgx', ignoring
This is seen already on kirkstone.
(From OE-Core rev: bab455cd9b1b82e778f8523a767eb281edf6689e)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd-oomd.service has:
User=systemd-oom
So we need to create a static user for it, if its packageconfig
is enabled.
(From OE-Core rev: 1586edc919326cdbb412feafb9cde2cb15e419cb)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pstore is used to collect crash logs in the journal after a crash. As it
needs a correctly configured kernel, it's not always enabled. Add a
PACKAGECONFIG to enable it when needed.
(From OE-Core rev: 350d8677c4f7b6ff7604bff6b2f4ab7f1b9ec422)
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If multiple compression libraries are enabled, the format to use for
compression is chosen implicitly, so if you want to compress with e.g.
lz4 you cannot enable zstd, so you cannot read zstd-compressed journal
files. This PACKAGECONFIGs allow to enable all compression formats for
reading, but to choose a specific one for writing.
(From OE-Core rev: bec1e2628e7accf2eff07193ae5ea14eb443ae37)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It seems importd still requires glib-2.0, add the missing dependency.
(From OE-Core rev: 224cd8ca540a2c9d7d407a44dccd63f808c1ea15)
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
From NEWS for v236:
* The "uaccess" udev tag has been dropped from /dev/kvm and
/dev/dri/renderD*. These devices now have the 0666 permissions by
default (but this may be changed at build-time). /dev/dri/renderD*
will now be owned by the "render" group along with /dev/kfd.
Without the group systemd-udevd startup logs:
/lib/udev/rules.d/50-udev-default.rules:39 Unknown group 'render', ignoring
/lib/udev/rules.d/50-udev-default.rules:40 Unknown group 'render', ignoring
(From OE-Core rev: 84efd72d48616405dbe4d73ec95917077144ed09)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This resolves systemd-boot fails with latest meson,
while systemd -> 252 is being prepared.
(From OE-Core rev: 1d96287906f66ad28e50c9686eaffc2fb7b874fe)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since RRECOMMENDS declaration implictly induces building the recipes
that provide the runtime recommended packages, conditionalize adding
such values according to associated PACKAGECONFIG settings in order
to avoid redundant building.
(From OE-Core rev: a1989add927f7805378fe4d5afbde780b747ba77)
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An empty string assignment to WantedBy should clear all prior WantedBy
settings. This matches behavior of the current systemd implementation.
(From OE-Core rev: 8ede0083c28fadf1e83c9256618190b931edd306)
Signed-off-by: Bob Henz <robert_henz@jabil.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit 8089cefed8 ("systemd: Add
PACKAGECONFIG for sysvinit") decoupled enabling of systemd's sysvinit
handling behavior behind a distinct PACKAGECONFIG feature.
This new option affects among other things the installing of
tmpfiles.d/legacy.conf, which is responsible for creating /run/lock
directory, which is pointed to by /var/lock symlink provided by
base-files package.
In case the option is not enabled, then base-files provided /var/lock
is a dangling symlink on resulting rootfs, causing problems with
certain Linux userspace components that rely on existence of writable
/var/lock directory. As an example:
# fw_printenv
Error opening lock file /var/lock/fw_printenv.lock
Since Filesystem Hierarchy Standard Version 3.0 states in
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s09.html that
Lock files should be stored within the /var/lock directory structure.
Ensure the /run/lock directory is always created, so that lock files
can be stored under /var/lock also when 'sysvinit' handling is
disabled.
(From OE-Core rev: 85e5ee2c35cf5778c3aefda45f526e8f6a511131)
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd defines a default set of fallback DNS servers in
https://github.com/systemd/systemd/blob/v251/meson_options.txt#L328-L330
By adding a PACKAGECONFIG knob providing a convenient way to opt out,
and then adding that value to systemd's PACKAGECONFIG, the output from
runtime 'resolvectl status' command no longer contains the following
line:
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google 1.0.0.1#cloudflare-dns.com 8.8.4.4#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2001:4860:4860::8888#dns.google 2606:4700:4700::1001#cloudflare-dns.com 2001:4860:4860::8844#dns.google
(From OE-Core rev: 2b300d6b9ec6288a99d9dacb24a86949caf99e55)
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>