[Buildroot] [PATCH] help entries for Init system config menu

Alex Suykov alex.suykov at gmail.com
Tue Mar 24 20:23:02 UTC 2015


Primary focus is on (auto-)respawning and runtime control.

Systemd entry describes current state, with several daemons
configured as forking.

Signed-off-by: Alex Suykov <alex.suykov at gmail.com>
---
Patch split from the series since it does not depend on any
of the changes there.

 system/Config.in | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/system/Config.in b/system/Config.in
index 9973cc2..59c759a 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -75,15 +75,40 @@ config BR2_TARGET_GENERIC_PASSWD_METHOD
 choice
 	prompt "Init system"
 	default BR2_INIT_BUSYBOX
+	help
+	  Upon bootup, kernel spawns init and init is expected
+	  to spawn anything else.
+
+	  Buildroot supports several alternative init implementations
+	  providing varying degrees of control over the spawned processes.
 
 config BR2_INIT_BUSYBOX
 	bool "BusyBox"
 	select BR2_PACKAGE_BUSYBOX
+	help
+	  Minimalistic init implementation from busybox
+	  with systemV-style init scripts.
+
+	  Runlevels are not supported.
+
+	  Daemons are started in background using scripts
+	  from /etc/init.d. Failed processes are not respawned.
+	  Pid files provide some control over running processes.
 
 config BR2_INIT_SYSV
 	bool "systemV"
 	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit
 	select BR2_PACKAGE_SYSVINIT
+	help
+	  System V init, probably the best-known init implementation
+	  in Linux, with simplified SysV-style initscripts.
+
+	  Supports runlevels, but buildroot does not use them.
+	  The system boots into the default runlevel and stays there.
+
+	  Daemons are started in background using scripts
+	  from /etc/init.d. Failed processes are not respawned.
+	  Pid files provide some control over running processes.
 
 config BR2_INIT_SYSTEMD
 	bool "systemd"
@@ -98,6 +123,29 @@ config BR2_INIT_SYSTEMD
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
 	select BR2_PACKAGE_SYSTEMD
+	help
+	  systemd is more that just an init implementation.
+	  It is a composite package handling most aspects
+	  of system initialization and daemon supervision.
+
+	  Systemd uses arbitrary-named "targets" instead
+	  of systemV-style runlevels. Daemons may be stopped
+	  and restarted using systemctl command. If configured
+	  so, failed processes are respawned.
+
+	  Whenever possible, package-supplied service files
+	  are used. Some daemons are configured to run in
+	  foreground and some run as background processes.
+
+	  Due its pervasiveness and extensive feature range,
+	  choosing systemd shapes the rest of the system.
+	  A systemd-based buildroot will differ little
+	  from any major systemd-based Linux distribution
+	  in pretty much any aspects of the boot process,
+	  initialization, runtime configuration and process
+	  supervision.
+
+	  Beware of its large size and numerous dependencies.
 
 comment 'systemd needs an (e)glibc toolchain, headers >= 3.7'
 	depends on !(BR2_TOOLCHAIN_USES_GLIBC \
@@ -105,6 +153,12 @@ comment 'systemd needs an (e)glibc toolchain, headers >= 3.7'
 
 config BR2_INIT_NONE
 	bool "None"
+	help
+	  Do not install any kind of init system.
+
+	  Make sure your initrd and/or root fs skeleton provide
+	  some executable for kernel to start, otherwise
+	  the system will panic at boot.
 
 endchoice
 
-- 
2.0.3



More information about the buildroot mailing list