#
# Automatically generated make config: don't edit
# ToyBox version: KCONFIG_VERSION
# Mon Jul 11 20:10:42 2016
#
CONFIG_TOYBOX_CONTAINER=y
CONFIG_TOYBOX_FIFREEZE=y
CONFIG_TOYBOX_ICONV=y
CONFIG_TOYBOX_FALLOCATE=y
CONFIG_TOYBOX_UTMPX=y
CONFIG_TOYBOX_SHADOW=y
# CONFIG_TOYBOX_ON_ANDROID is not set
CONFIG_TOYBOX_FORK=y
# CONFIG_TOYBOX_PRLIMIT is not set

#
# Posix commands
#
CONFIG_BASENAME=y
CONFIG_CAL=y
CONFIG_CAT=y
# CONFIG_CAT_V is not set
CONFIG_CATV=y
CONFIG_CHGRP=y
CONFIG_CHOWN=y
# CONFIG_CHMOD is not set
CONFIG_CKSUM=y
CONFIG_CMP=y
# CONFIG_COMM is not set
CONFIG_CP=y
CONFIG_CP_PRESERVE=y
CONFIG_MV=y
# CONFIG_INSTALL is not set
# CONFIG_CPIO is not set
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DF=y
CONFIG_DIRNAME=y
# CONFIG_DU is not set
CONFIG_ECHO=y
CONFIG_ENV=y
# CONFIG_EXPAND is not set
CONFIG_FALSE=y
# CONFIG_FIND is not set
# CONFIG_GREP is not set
# CONFIG_EGREP is not set
# CONFIG_FGREP is not set
CONFIG_HEAD=y
CONFIG_ID=y
# CONFIG_ID_Z is not set
# CONFIG_GROUPS is not set
# CONFIG_LOGNAME is not set
# CONFIG_WHOAMI is not set
CONFIG_KILL=y
# CONFIG_KILLALL5 is not set
CONFIG_LINK=y
CONFIG_LN=y
CONFIG_LS=y
CONFIG_LS_COLOR=y
# CONFIG_MKDIR is not set
# CONFIG_MKDIR_Z is not set
# CONFIG_MKFIFO is not set
# CONFIG_MKFIFO_Z is not set
CONFIG_NICE=y
# CONFIG_NL is not set
CONFIG_NOHUP=y
# CONFIG_OD is not set
# CONFIG_PASTE is not set
CONFIG_PATCH=y
# CONFIG_PRINTF is not set
# CONFIG_PS is not set
# CONFIG_TOP is not set
CONFIG_IOTOP=y
CONFIG_TOP_COMMON=y
# CONFIG_PGREP is not set
# CONFIG_PKILL is not set
CONFIG_PGKILL_COMMON=y
CONFIG_PWD=y
# CONFIG_RENICE is not set
# CONFIG_RM is not set
CONFIG_RMDIR=y
# CONFIG_SED is not set
CONFIG_SLEEP=y
CONFIG_SLEEP_FLOAT=y
CONFIG_SORT=y
CONFIG_SORT_BIG=y
CONFIG_SORT_FLOAT=y
# CONFIG_SPLIT is not set
# CONFIG_STRINGS 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_ULIMIT is not set
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

#
# pending (see toys/pending/README)
#
CONFIG_ARP=y
CONFIG_ARPING=y
# CONFIG_BOOTCHARTD is not set
# CONFIG_BRCTL is not set
# CONFIG_COMPRESS is not set
# CONFIG_GZIP is not set
# CONFIG_GZIP_D is not set
# CONFIG_DECOMPRESS is not set
# CONFIG_ZCAT is not set
# CONFIG_GUNZIP is not set
# CONFIG_CROND is not set
# CONFIG_CRONTAB is not set
# CONFIG_DD is not set
# CONFIG_DHCP is not set
# CONFIG_DHCP6 is not set
# CONFIG_DHCPD is not set
# CONFIG_DEBUG_DHCP is not set
# CONFIG_DIFF is not set
# CONFIG_DUMPLEASES is not set
# CONFIG_EXPR is not set
# CONFIG_FDISK is not set
# CONFIG_FILE is not set
# CONFIG_FOLD is not set
# CONFIG_FSCK is not set
# CONFIG_FTPGET is not set
# CONFIG_GETTY is not set
# CONFIG_GROUPADD is not set
# CONFIG_GROUPDEL is not set
# CONFIG_HOST is not set
# CONFIG_ICONV is not set
# CONFIG_INIT is not set
# CONFIG_IP is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_KLOGD is not set
# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
# CONFIG_LAST is not set
# CONFIG_LOGGER is not set
CONFIG_LSOF=y
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_MODPROBE is not set
# CONFIG_MORE is not set
# CONFIG_NETSTAT is not set
# CONFIG_OPENVT is not set
# CONFIG_DEALLOCVT is not set
# CONFIG_PING is not set
# CONFIG_ROUTE is not set
# CONFIG_SH is not set
# CONFIG_CD is not set
# CONFIG_EXIT is not set
# CONFIG_SULOGIN is not set
# CONFIG_SYSLOGD is not set
# CONFIG_TAR is not set
# CONFIG_TCPSVD is not set
# CONFIG_TELNET is not set
# CONFIG_TELNETD is not set
# CONFIG_TEST is not set
# CONFIG_TFTP is not set
# CONFIG_TFTPD is not set
# CONFIG_TR is not set
# CONFIG_TRACEROUTE is not set
# CONFIG_USERADD is not set
# CONFIG_USERDEL is not set
# CONFIG_VI is not set
# CONFIG_WATCH is not set
# CONFIG_WGET is not set
# CONFIG_XZCAT is not set

#
# Other commands
#
# CONFIG_ACPI is not set
# CONFIG_BASE64 is not set
# CONFIG_BLKID is not set
# CONFIG_FSTYPE is not set
# CONFIG_BLOCKDEV is not set
# CONFIG_BUNZIP2 is not set
CONFIG_BZCAT=y
# CONFIG_CHCON is not set
CONFIG_CHROOT=y
CONFIG_CHVT=y
# CONFIG_CLEAR is not set
CONFIG_COUNT=y
# CONFIG_DOS2UNIX is not set
# CONFIG_UNIX2DOS is not set
# CONFIG_EJECT is not set
# CONFIG_FACTOR is not set
# CONFIG_FALLOCATE is not set
# CONFIG_FLOCK is not set
CONFIG_FREE=y
# CONFIG_FREERAMDISK is not set
# CONFIG_FSFREEZE is not set
# CONFIG_FSYNC is not set
# CONFIG_HELP is not set
# CONFIG_HELP_EXTRAS is not set
# CONFIG_HEXEDIT is not set
# CONFIG_HOSTID is not set
# CONFIG_HWCLOCK is not set
CONFIG_IFCONFIG=y
# CONFIG_INOTIFYD is not set
# CONFIG_INSMOD is not set
# CONFIG_IONICE is not set
# CONFIG_IORENICE is not set
# CONFIG_LOGIN is not set
CONFIG_LOSETUP=y
# CONFIG_LSATTR is not set
# CONFIG_CHATTR is not set
CONFIG_LSMOD=y
# CONFIG_LSPCI is not set
# CONFIG_LSPCI_TEXT is not set
# CONFIG_LSUSB is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_MIX is not set
# CONFIG_MKPASSWD is not set
CONFIG_MKSWAP=y
# CONFIG_MODINFO is not set
# CONFIG_MOUNTPOINT is not set
# CONFIG_NBD_CLIENT is not set
CONFIG_NETCAT=y
CONFIG_NETCAT_LISTEN=y
CONFIG_NETCAT_LISTEN_TTY=y
# CONFIG_UNSHARE is not set
# CONFIG_NSENTER is not set
CONFIG_ONEIT=y
# CONFIG_PARTPROBE is not set
# 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_REBOOT is not set
# CONFIG_RESET is not set
# CONFIG_REV is not set
# CONFIG_RFKILL is not set
CONFIG_RMMOD=y
CONFIG_SETSID=y
# CONFIG_SHRED is not set
# CONFIG_STAT is not set
CONFIG_SWAPOFF=y
CONFIG_SWAPON=y
# CONFIG_SWITCH_ROOT is not set
# CONFIG_SYSCTL is not set
# CONFIG_TAC is not set
# CONFIG_NPROC is not set
CONFIG_TASKSET=y
# CONFIG_TIMEOUT is not set
CONFIG_TRUNCATE=y
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_XXD is not set
CONFIG_YES=y

#
# Linux Standard Base commands
#
CONFIG_DMESG=y
CONFIG_HOSTNAME=y
CONFIG_KILLALL=y
CONFIG_MD5SUM=y
CONFIG_SHA1SUM=y
CONFIG_MKNOD=y
# CONFIG_MKNOD_Z is not set
# CONFIG_MKTEMP is not set
CONFIG_MOUNT=y
# CONFIG_PASSWD is not set
# CONFIG_PASSWD_SAD is not set
CONFIG_PIDOF=y
CONFIG_SEQ=y
# CONFIG_SU is not set
CONFIG_SYNC=y
CONFIG_UMOUNT=y

#
# Example commands
#
# CONFIG_HELLO is not set
# CONFIG_SKELETON is not set
# CONFIG_SKELETON_ALIAS is not set
# CONFIG_TEST_HUMAN_READABLE is not set
# CONFIG_TEST_MANY_OPTIONS is not set
# CONFIG_TEST_SCANKEY is not set

#
# Android
#
# CONFIG_GETENFORCE is not set
# CONFIG_GETPROP is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_RESTORECON is not set
# CONFIG_RUNCON is not set
# CONFIG_SETENFORCE is not set
# CONFIG_SETPROP is not set

#
# 
#

#
# Toybox global settings
#
CONFIG_TOYBOX=y
CONFIG_TOYBOX_SUID=y
CONFIG_TOYBOX_LSM_NONE=y
# CONFIG_TOYBOX_SELINUX is not set
# CONFIG_TOYBOX_SMACK is not set
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_NORECURSE is not set
# CONFIG_TOYBOX_DEBUG is not set
CONFIG_TOYBOX_UID_SYS=100
CONFIG_TOYBOX_UID_USR=500
# CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN is not set
