[Buildroot] [PATCH] systemd: Allow building with no init system
Arnout Vandecappelle
arnout at mind.be
Sun Oct 21 17:28:06 UTC 2018
Hi Trent,
On 17/09/2018 19:29, Trent Piepho wrote:
> It's possible to build systemd, and use the systemd libraries, on a
> target with no init system.
>
> While installing systemd when trying to use SysV init will result in
> systemd clobbering the SysV system and vice versa, it may well work when
> no init system has been selected. For instance, when building an SDK
> the sytemd headers and libraries might be necessary but there is no
> reason to have an init system selected. Someone creating a custom init
> system might also want some of the systemd libraries.
I understand your reasoning and I tend to agree to some extent.
However, for the use cases you mention, you can actually just enable
BR2_INIT_SYSTEMD. If you really don't want /sbin/init in your target, just
remove it post-build.
To *properly* support a libsystemd-only configuration, a lot more should
change. Basically, nothing should be installed in target except for
libsystemd.so (and the header files which will be removed in finalize). Also,
there is a possible conflict with eudev that needs to be resolved. Possibly
other things would need to be cleaned up as well.
But basically, we don't really see a use case that warrants all this additional
complexity. Just enable BR2_INIT_SYSTEMD and clean up post-build.
Regards,
Arnout
>
> Signed-off-by: Trent Piepho <tpiepho at impinj.com>
> ---
> package/systemd/Config.in | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index c858d89c05..71d37f6a5a 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -9,7 +9,7 @@ config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
>
> menuconfig BR2_PACKAGE_SYSTEMD
> bool "systemd"
> - depends on BR2_INIT_SYSTEMD
> + depends on BR2_INIT_SYSTEMD || BR2_INIT_NONE
> depends on !BR2_STATIC_LIBS # kmod
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
> depends on BR2_USE_MMU # dbus
>
More information about the buildroot
mailing list