#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

mainmenu_option next_comment
comment 'Init Utilities'


bool 'init'	    CONFIG_INIT
if [ "$CONFIG_INIT" = "y" ]; then
    bool '  Support reading an inittab file?'				    CONFIG_FEATURE_USE_INITTAB
    bool '  Support running init from within an initrd?'		    CONFIG_FEATURE_INITRD
    bool '  Support dumping core for child processes (debugging only)?'	    CONFIG_FEATURE_INIT_COREDUMPS
    bool '  Should init be _extra_ quiet on boot?'			    CONFIG_FEATURE_EXTRA_QUIET

    # Some more apps that are meaningless without BusyBox running as init
    bool 'halt'			    CONFIG_HALT
    bool 'poweroff'		    CONFIG_POWEROFF
    bool 'reboot'		    CONFIG_REBOOT
fi

bool 'start-stop-daemon'	    CONFIG_START_STOP_DAEMON
bool 'run-parts'		    CONFIG_RUN_PARTS
bool 'mesg'			    CONFIG_MESG
	
endmenu

