#
# Automatically generated make config: don't edit
# ToyBox version: KCONFIG_VERSION
# Tue Oct 22 12:46:29 2013
#
# CONFIG_TOYBOX_CONTAINER is not set

#
# LSB commands
#
CONFIG_DMESG=y
CONFIG_HOSTNAME=y
CONFIG_KILLALL=y
CONFIG_MD5SUM=y
CONFIG_MD5SUM_SHA1SUM=y
CONFIG_MKNOD=y
# CONFIG_MKTEMP is not set
# CONFIG_PASSWD is not set
CONFIG_PIDOF=y
CONFIG_SEQ=y
CONFIG_SYNC=y
# CONFIG_UMOUNT is not set

#
# Other commands
#
# CONFIG_ACPI is not set
CONFIG_BZCAT=y
CONFIG_CATV=y
CONFIG_CHROOT=y
CONFIG_CHVT=y
# CONFIG_CLEAR is not set
CONFIG_COUNT=y
# CONFIG_DOS2UNIX is not set
# CONFIG_EJECT is not set
# CONFIG_FALLOCATE is not set
CONFIG_FREE=y
# CONFIG_HELLO is not set
# CONFIG_HELP is not set
# CONFIG_INSMOD is not set
# CONFIG_LOGIN is not set
# CONFIG_LOSETUP is not set
CONFIG_LSMOD=y
# CONFIG_LSUSB is not set
CONFIG_MKSWAP=y
# CONFIG_MODINFO is not set
# CONFIG_MOUNTPOINT is not set
CONFIG_NETCAT=y
CONFIG_NETCAT_LISTEN=y
CONFIG_ONEIT=y
# CONFIG_PIVOT_ROOT is not set
# CONFIG_PMAP is not set
CONFIG_PRINTENV=y
# CONFIG_PWDX is not set
# CONFIG_READAHEAD is not set
# CONFIG_READLINK is not set
CONFIG_REALPATH=y
# CONFIG_REV is not set
CONFIG_RMMOD=y
CONFIG_SETSID=y
# CONFIG_STAT is not set
CONFIG_SWAPOFF=y
CONFIG_SWAPON=y
# CONFIG_SWITCH_ROOT is not set
# CONFIG_TAC is not set
# CONFIG_TASKSET is not set
# CONFIG_TIMEOUT is not set
CONFIG_TRUNCATE=y
# CONFIG_UNSHARE is not set
CONFIG_UPTIME=y
# CONFIG_USLEEP is not set
# CONFIG_VCONFIG is not set
# CONFIG_VMSTAT is not set
# CONFIG_W is not set
CONFIG_WHICH=y
# CONFIG_WHOAMI is not set
CONFIG_YES=y

#
# pending
#
# CONFIG_DHCP is not set
# CONFIG_DHCPD is not set
# CONFIG_DEBUG_DHCP is not set
# CONFIG_EXPR is not set
# CONFIG_FDISK is not set
# CONFIG_FIND is not set
# CONFIG_IFCONFIG is not set
# CONFIG_INIT is not set
# CONFIG_KLOGD is not set
# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
# CONFIG_LOGGER is not set
# CONFIG_LSPCI is not set
# CONFIG_LSPCI_TEXT is not set
CONFIG_MDEV=y
CONFIG_MDEV_CONF=y
# CONFIG_MKE2FS is not set
# CONFIG_MKE2FS_JOURNAL is not set
# CONFIG_MKE2FS_GEN is not set
# CONFIG_MKE2FS_LABEL is not set
# CONFIG_MKE2FS_EXTENDED is not set
# CONFIG_NBD_CLIENT is not set
# CONFIG_NETSTAT is not set
# CONFIG_NL is not set
# CONFIG_PGREP is not set
# CONFIG_PS is not set
# CONFIG_ROUTE is not set
# CONFIG_SED is not set
# CONFIG_SH is not set
# CONFIG_SH_TTY is not set
# CONFIG_SH_PROFILE is not set
# CONFIG_SH_JOBCTL is not set
# CONFIG_SH_FLOWCTL is not set
# CONFIG_SH_QUOTES is not set
# CONFIG_SH_WILDCARDS is not set
# CONFIG_SH_PROCARGS is not set
# CONFIG_SH_ENVVARS is not set
# CONFIG_SH_LOCALS is not set
# CONFIG_SH_ARRAYS is not set
# CONFIG_SH_PIPES is not set
# CONFIG_SH_BUILTINS is not set
# CONFIG_EXIT is not set
# CONFIG_CD is not set
# CONFIG_CD_P is not set
# CONFIG_SU is not set
# CONFIG_SYSLOGD is not set
# CONFIG_TEST is not set
# CONFIG_WATCH is not set
# CONFIG_XZCAT is not set

#
# Posix commands
#
CONFIG_BASENAME=y
CONFIG_CAL=y
CONFIG_CAT=y
CONFIG_CHGRP=y
# CONFIG_CHMOD is not set
CONFIG_CKSUM=y
CONFIG_CMP=y
# CONFIG_COMM is not set
CONFIG_CP=y
# CONFIG_CP_MORE is not set
# CONFIG_CP_MV is not set
# CONFIG_CP_MV_MORE is not set
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DF=y
CONFIG_DF_PEDANTIC=y
CONFIG_DIRNAME=y
# CONFIG_DU is not set
CONFIG_ECHO=y
CONFIG_ENV=y
# CONFIG_EXPAND is not set
CONFIG_FALSE=y
# CONFIG_GREP is not set
CONFIG_HEAD=y
CONFIG_ID=y
# CONFIG_ID_GROUPS is not set
CONFIG_KILL=y
CONFIG_LINK=y
CONFIG_LN=y
# CONFIG_LOGNAME is not set
CONFIG_LS=y
CONFIG_LS_COLOR=y
# CONFIG_MKDIR is not set
# CONFIG_MKFIFO is not set
CONFIG_NICE=y
CONFIG_NOHUP=y
# CONFIG_OD is not set
# CONFIG_PASTE is not set
CONFIG_PATCH=y
CONFIG_PWD=y
# CONFIG_RENICE is not set
# CONFIG_RM is not set
CONFIG_RMDIR=y
CONFIG_SLEEP=y
CONFIG_SLEEP_FLOAT=y
CONFIG_SORT=y
CONFIG_SORT_BIG=y
CONFIG_SORT_FLOAT=y
# CONFIG_SPLIT is not set
CONFIG_TAIL=y
CONFIG_TAIL_SEEK=y
CONFIG_TEE=y
CONFIG_TIME=y
CONFIG_TOUCH=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
CONFIG_UNLINK=y
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
CONFIG_WC=y
# CONFIG_WHO is not set
CONFIG_XARGS=y
# CONFIG_XARGS_PEDANTIC is not set

#
# 
#

#
# Toybox global settings
#
CONFIG_TOYBOX=y
CONFIG_TOYBOX_SUID=y
CONFIG_TOYBOX_FLOAT=y
# CONFIG_TOYBOX_HELP is not set
# CONFIG_TOYBOX_HELP_DASHDASH is not set
# CONFIG_TOYBOX_I18N is not set
# CONFIG_TOYBOX_FREE is not set
# CONFIG_TOYBOX_DEBUG is not set
