Am 06.02.2022 um 20:05 schrieb Mark Hatle:
On 2/6/22 11:35 AM, Richard Purdie wrote:
On Sun, 2022-02-06 at 18:31 +0100, Alexander Kanavin wrote:
On Sun, 6 Feb 2022 at 18:27, Mark Hatle <mark.ha...@kernel.crashing.org>
wrote:
It definitely works in Honister (I'm actively using it.)

We produce a single package set, then allow for multiple image recipes to
select
which init manager to use.  This simplifies the eSDK, sstate-cache and
binary
package feed -- while still giving the end user the ability to switch.



Selection of init manager is a distro setting, it can be used by component recipes to make decisions, and overriding it from images is neither tested nor
supported.

There is a hybrid where you can enable sysvinit and systemd at the same time and use them in different situations. We do test that and it is that test which
showed issues on the autobuilder with this patch.

It isn't as easy as pick and chose either in a given image but handy for
initramfs and some other uses.

I've got the following in my distro:

# Create packages that support both systemd and sysvinit
# but only on arm/arm64 systems, microblaze is sysvinit only
DISTRO_FEATURES_BACKFILL_CONSIDERED:remove:arm = "sysvinit systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED:remove:aarch64 = "sysvinit systemd"
DISTRO_FEATURES_BACKFILL:append:arm = " systemd"
DISTRO_FEATURES_BACKFILL:append:aarch64 = " systemd”

INIT_MANAGER_DEFAULT = "systemd"
INIT_MANAGER_DEFAULT:microblaze = "sysvinit"
INIT_MANAGER_DEFAULT:zynq = "sysvinit"

INIT_MANAGER ?= "${INIT_MANAGER_DEFAULT}"

Then a few configurations change the INIT_MANAGER, and (almost) all of the sstate is re-usable and things don't need to be re-built.

The issue I have, microblaze if the filesystem is over about 80mb it doesn't fit into memory.  On Arm, some devices are memory limited the same way microblaze is, while some have full access to flash storage and thus can use systemd.  And on aarch64 - most defined (but not all) have flash storage.

This is all about sstate-cache re-use (time to build the image) and ability to have a SINGLE binary distribution that supports the image size requirements of the user.

After the change from Richard the optimization will only take place if DISTRO_FEATURES doesn't contain sysvinit and you will get the independent systemd and udev packages for all your platforms.

Regards
  Stefan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161459): 
https://lists.openembedded.org/g/openembedded-core/message/161459
Mute This Topic: https://lists.openembedded.org/mt/88853822/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to