just build relevant source and use xxx_main functions. build system: add a special case when we have exactly one applet enabled (makes "true", "false", "basename" REALLY tiny). getopt32: do not use stdio. function old new delta getopt32 1385 1412 +27 make_device 1187 1200 +13 basename_main 120 127 +7 tcpudpsvd_main 1922 1926 +4 testcmd 5 - -5 echocmd 5 - -5 fuser_main 1243 1231 -12 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 4/1 up/down: 51/-22) Total: 29 bytes
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# For a description of the syntax of this configuration file,
 | 
						|
# see scripts/kbuild/config-language.txt.
 | 
						|
#
 | 
						|
 | 
						|
menu "Init Utilities"
 | 
						|
 | 
						|
config INIT
 | 
						|
	bool "init"
 | 
						|
	default n
 | 
						|
	select FEATURE_SYSLOG
 | 
						|
	help
 | 
						|
	  init is the first program run when the system boots.
 | 
						|
 | 
						|
config DEBUG_INIT
 | 
						|
	bool "Debugging aid"
 | 
						|
	default n
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  Turn this on to disable all the dangerous
 | 
						|
	  rebooting stuff when debugging.
 | 
						|
 | 
						|
config FEATURE_USE_INITTAB
 | 
						|
	bool "Support reading an inittab file"
 | 
						|
	default y
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  Allow init to read an inittab file when the system boot.
 | 
						|
 | 
						|
config FEATURE_KILL_REMOVED
 | 
						|
	bool "Support killing processes that have been removed from inittab"
 | 
						|
	default y
 | 
						|
	depends on FEATURE_USE_INITTAB
 | 
						|
	help
 | 
						|
	  When respawn entries are removed from inittab and a SIGHUP is
 | 
						|
	  sent to init, this feature will kill the processes that have
 | 
						|
	  been removed.
 | 
						|
 | 
						|
config FEATURE_KILL_DELAY
 | 
						|
	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
 | 
						|
	range 0 1024
 | 
						|
	default 0
 | 
						|
	help
 | 
						|
	  With nonzero setting, init sends TERM, forks, child waits N
 | 
						|
	  seconds, sends KILL and exits. Setting it too high is unwise
 | 
						|
	  (child will hang around for too long and can actually kill
 | 
						|
	  wrong process!)
 | 
						|
 | 
						|
config FEATURE_INIT_SCTTY
 | 
						|
	bool "Run commands with leading dash with controlling tty"
 | 
						|
	default n
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  If this option is enabled, init will try to give a controlling
 | 
						|
	  tty to any command which has leading hyphen (often it's "-/bin/sh").
 | 
						|
	  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
 | 
						|
	  If device attached to STDIN_FILENO can be a ctty but is not yet
 | 
						|
	  a ctty for other session, it will become this process' ctty.
 | 
						|
	  This is not the traditional init behavour, but is often what you want
 | 
						|
	  in an embedded system where the console is only accessed during
 | 
						|
	  development or for maintenance.
 | 
						|
	  NB: using cttyhack applet may work better.
 | 
						|
 | 
						|
config FEATURE_INIT_SYSLOG
 | 
						|
	bool "Enable init to write to syslog"
 | 
						|
	default n
 | 
						|
	depends on INIT
 | 
						|
 | 
						|
config FEATURE_EXTRA_QUIET
 | 
						|
	bool "Be _extra_ quiet on boot"
 | 
						|
	default y
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  Prevent init from logging some messages to the console during boot.
 | 
						|
 | 
						|
config FEATURE_INIT_COREDUMPS
 | 
						|
	bool "Support dumping core for child processes (debugging only)"
 | 
						|
	default n
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  If this option is enabled and the file /.init_enable_core
 | 
						|
	  exists, then init will call setrlimit() to allow unlimited
 | 
						|
	  core file sizes.  If this option is disabled, processes
 | 
						|
	  will not generate any core files.
 | 
						|
 | 
						|
 | 
						|
 | 
						|
config FEATURE_INITRD
 | 
						|
	bool "Support running init from within an initrd (not initramfs)"
 | 
						|
	default y
 | 
						|
	depends on INIT
 | 
						|
	help
 | 
						|
	  Legacy support for running init under the old-style initrd.  Allows
 | 
						|
	  the name linuxrc to act as init, and it doesn't assume init is PID 1.
 | 
						|
 | 
						|
	  This does not apply to initramfs, which runs /init as PID 1 and
 | 
						|
	  requires no special support.
 | 
						|
 | 
						|
config HALT
 | 
						|
	bool "poweroff, halt, and reboot"
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Stop all processes and either halt, reboot, or power off the system.
 | 
						|
 | 
						|
config MESG
 | 
						|
	bool "mesg"
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Mesg controls access to your terminal by others.  It is typically
 | 
						|
	  used to allow or disallow other users to write to your terminal
 | 
						|
 | 
						|
endmenu
 |