[OE-core] [OE-Core][PATCH v5 0/6] Fix systemd service enables/move towards "stateless" configuration
richard.purdie at linuxfoundation.org
richard.purdie at linuxfoundation.org
Tue Apr 30 10:59:51 UTC 2019
On Mon, 2019-04-29 at 15:43 +0100, Alex Kiernan wrote:
> This is largely Jonas Bonn <jonas at norrbonn.se> patchset to move
> towards a
> "stateless" configuration:
>
> These patches make some modifications to systemd with the long-term
> goal
> of being able to run OE in systemd's "stateless" configuration.
> "Stateless" boils down to building an image with empty /etc and
> /var
> directories so that volatile (tmpfs) filesystems can be mounted
> there;
> this requires that the system subsequently be able to populate
> these
> directories dynamically, which systemd mostly takes care of if
> things are
> done right.
>
> In these patches:
> i) Don't include machine-id in writable images so that systemd
> can run
> its first-boot machinery
> ii) Move systemd configuration files out of /etc
> iii) Allow systemd to dynamically enable services and populate
> /etc/systemd/system via the presets mechanism
>
> There's a long way to go to get to a working "stateless"
> configuration.
> Getting to a "volatile" system (just empty /var) should be easier
> and I'll
> post patches moving things in that direction shortly.
>
> As a result of the systemd 242 upgrade, which includes 01d2041e41f4
> ("meson: stop creating enablement symlinks in /etc during
> installation"), services such as systemd-networkd are no longer
> enabled
> in images.
>
> This patch set fixes this problem in addition to satisfying the goal
> of
> moving towards "stateless" configurations.
>
> The issue with respect to image testing during CI was caused by
> systemd-time-wait-sync.service being enabled due to the lack of a
> default preset policy:
>
> https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
>
> We include a default policy of "enable nothing" which matches that
> used
> by (at least) Arch and Fedora.
>
> Changes in v5:
> - rebased for systemd 242
> - install default preset distribution policy of "enable nothing"
>
> Changes in v4:
> - add patch to make systemd-firstboot a non-default option to systemd
> to
> prevent unexpected prompts at runtime
>
> Changes in v3:
> - parameterize preset-file installation location (as suggested in
> patch
> review)
>
> Changes in v2:
> - address patchtest warnings:
> - include sign-offs on patches
> - include License-Update tag on patch that makes licensing change
> - dropped patch implementing brute-force removal of unit files
> installed
> by systemd into /etc
> - reworked the systemd-conf patch to restore the installation of the
> base systemd configuration files
>
> Jonas Bonn (6):
> systemd: don't build firstboot by default
> systemd: do not create machine-id
> systemd-conf: simplify creation of machine-specific configuration
> systemd: create preset files instead of installing in image
> systemd-systemctl-native: simplify and support preset-all
> rootfs-postcommands: call preset-all for read-only-rootfs
I think this is close but in one of our test configurations it appears
the ssh server isn't starting:
https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/548
(the stdio log shows the configuration its building for step 6 and
step6c shows it failing to ssh into the image)
I reran it and the same error happened twice so it is consistent.
Cheers,
Richard
More information about the Openembedded-core
mailing list