[Buildroot] [PATCH 4/6] Rework of the init system

Peter Korsgaard jacmet at uclibc.org
Tue Mar 20 09:14:21 UTC 2012


>>>>> "Arnout" == Arnout Vandecappelle <arnout at mind.be> writes:

Hi,

 Arnout> On Monday 19 March 2012 16:59:38 Maxime Ripard wrote:
 >> +choice
 >> +       prompt "Init system"
 >> +       default BR2_INIT_BUSYBOX
 >> +       help
 >> +         To select systemd, you first need to have dbus and udev enabled
 Arnout>  Only udev.  Anyway, the help text of a choice is never shown, so
 Arnout> this won't work.  I don't know if it's possible to add comments in a
 Arnout> choice, but that would be the way to go.

It is (it didn't used to be, but I fixed it a while ago). We have an
example in the ARM subarch selection for Cortex A8/A9.


 >> +
 >> +config BR2_INIT_BUSYBOX
 >> +       bool "Busybox init"
 >> +       select BR2_PACKAGE_BUSYBOX
 >> +
 >> +config BR2_INIT_SYSV
 >> +       bool "Use systemV init"
 >> +       select BR2_PACKAGE_SYSVINIT
 >> +
 >> +config BR2_INIT_SYSTEMD
 >> +       bool "Use systemd"
 >> +       select BR2_PACKAGE_DBUS
 >> +       depends on BR2_PACKAGE_UDEV
 Arnout>  Would it be an option to make this a select 
 Arnout> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV instead?  (With a depends
 Arnout> on LARGEFILE and WCHAR, of course.)  Or is that a bad idea?

The option should depend on LARGEFILE/WCHAR/IPV6 and then indeed select
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV. If those deps are not available
a comment should be shown, similar to how we do it for
BR2_PACKAGE_XSERVER_xorg.


 Arnout>  The latter two selects are only possible if 
 Arnout> BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is selected.  The select/depends 
 Arnout> combination breaks the dependency of BR2_PACKAGE_SYSVINIT and
 Arnout> BR2_PACKAGE_SYSTEMD on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS.  So the
 Arnout> systemd package will be selected, but it's not visible to the user.

 Arnout>  Of course, there's nothing strictly wrong with that.  It's just
 Arnout> a bit strange.

I think stating that busybox has an alternative for systemd is
stretching the BUSYBOX_SHOW_OTHERS notion a bit. Perhaps we should just
move systemd outside the conditional?


 Arnout>  Clearly, adding a select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS here
 Arnout> is a bad idea.  I also don't like much to add a dependency on
 Arnout> it either.  So instead, I propose to move sysvinit and systemd
 Arnout> out of the BR2_PACKAGE_BUSYBOX_SHOW_OTHERS condition (in
 Arnout> package/Config.in).

.. Like you suggest here ;)

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list