#
# Manually-generated.
# ToyBox version: KCONFIG_VERSION
#
CONFIG_TOYBOX_CONTAINER=y
CONFIG_TOYBOX_FALLOCATE=y
CONFIG_TOYBOX_FIFREEZE=y
CONFIG_TOYBOX_FORK=y
CONFIG_TOYBOX_ICONV=y
CONFIG_TOYBOX_ON_ANDROID=y
CONFIG_TOYBOX_SHADOW=y
CONFIG_TOYBOX_UTMPX=y

#
# Posix commands
#
CONFIG_BASENAME=y
CONFIG_CAL=y
CONFIG_CAT=y
CONFIG_CAT_V=y
# CONFIG_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHOWN=y
CONFIG_CHMOD=y
CONFIG_CKSUM=y
CONFIG_CMP=y
CONFIG_COMM=y
CONFIG_CP=y
CONFIG_CP_MORE=y
CONFIG_CP_PRESERVE=y
CONFIG_MV=y
CONFIG_MV_MORE=y
CONFIG_INSTALL=y
CONFIG_CPIO=y
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DF=y
CONFIG_DIRNAME=y
CONFIG_DU=y
CONFIG_ECHO=y
CONFIG_ENV=y
CONFIG_EXPAND=y
CONFIG_FALSE=y
CONFIG_FIND=y
CONFIG_GREP=y
CONFIG_EGREP=y
CONFIG_FGREP=y
CONFIG_HEAD=y
CONFIG_ID=y
CONFIG_ID_Z=y
CONFIG_IONICE=y
CONFIG_IORENICE=y
CONFIG_GROUPS=y
CONFIG_LOGNAME=y
CONFIG_WHOAMI=y
CONFIG_KILL=y
# CONFIG_KILLALL5 is not set
# CONFIG_LINK is not set
CONFIG_LN=y
CONFIG_LS=y
CONFIG_LS_COLOR=y
CONFIG_LS_Z=y
CONFIG_MKDIR=y
CONFIG_MKDIR_Z=y
CONFIG_MKFIFO=y
CONFIG_MKFIFO_Z=y
CONFIG_MKNOD=y
CONFIG_MKNOD_Z=y
CONFIG_NICE=y
CONFIG_NL=y
CONFIG_NOHUP=y
# CONFIG_NPROC is not set
CONFIG_OD=y
CONFIG_PASTE=y
CONFIG_PATCH=y
CONFIG_PRINTF=y
CONFIG_PWD=y
CONFIG_RENICE=y
CONFIG_RM=y
CONFIG_RMDIR=y
CONFIG_SED=y
CONFIG_SLEEP=y
CONFIG_SLEEP_FLOAT=y
CONFIG_SORT=y
CONFIG_SORT_BIG=y
CONFIG_SORT_FLOAT=y
CONFIG_SPLIT=y
CONFIG_STRINGS=y
CONFIG_TAIL=y
CONFIG_TAIL_SEEK=y
CONFIG_TASKSET=y
CONFIG_TEE=y
CONFIG_TIME=y
CONFIG_TOUCH=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
# CONFIG_UNLINK is not set
# 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 is not set
# CONFIG_ARPING is not set
# 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=y
# CONFIG_DHCP 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=y
# CONFIG_FDISK 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_HEXEDIT is not set
# CONFIG_HOST is not set
CONFIG_HWCLOCK=y
# 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_MDEV is not set
# CONFIG_MDEV_CONF is not set
# 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=y
CONFIG_NETSTAT=y
# CONFIG_OPENVT is not set
# CONFIG_DEALLOCVT is not set
CONFIG_PGREP=y
# CONFIG_PING is not set
# CONFIG_PS is not set
# CONFIG_RESET is not set
CONFIG_ROUTE=y
# CONFIG_SH is not set
# CONFIG_EXIT is not set
# CONFIG_CD is not set
# CONFIG_SULOGIN is not set
# CONFIG_SYSLOGD is not set
CONFIG_TAR=y
# CONFIG_TCPSVD is not set
# CONFIG_TELNET is not set
# CONFIG_TELNETD is not set
# CONFIG_TEST is not set
# CONFIG_TFTPD is not set
CONFIG_TOP=y
CONFIG_TRACEROUTE=y
CONFIG_TR=y
# CONFIG_USERADD is not set
# CONFIG_USERDEL is not set
# CONFIG_WATCH is not set
# CONFIG_XZCAT is not set

#
# Other commands
#
CONFIG_ACPI=y
CONFIG_BASE64=y
CONFIG_BLKID=y
# CONFIG_FSTYPE is not set
CONFIG_BLOCKDEV=y
CONFIG_BZCAT=y
CONFIG_CHCON=y
CONFIG_CHROOT=y
# CONFIG_CHVT is not set
CONFIG_CLEAR=y
# CONFIG_COUNT is not set
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
# CONFIG_EJECT is not set
# CONFIG_FACTOR is not set
CONFIG_FALLOCATE=y
CONFIG_FREE=y
CONFIG_FREERAMDISK=y
CONFIG_FSFREEZE=y
CONFIG_HELP=y
CONFIG_HELP_EXTRAS=y
CONFIG_IFCONFIG=y
CONFIG_INOTIFYD=y
CONFIG_INSMOD=y
# CONFIG_LOGIN is not set
CONFIG_LOSETUP=y
CONFIG_LSATTR=y
CONFIG_CHATTR=y
CONFIG_LSMOD=y
# CONFIG_LSPCI is not set
CONFIG_LSPCI_TEXT=y
CONFIG_LSUSB=y
CONFIG_MAKEDEVS=y
# CONFIG_MIX is not set
# CONFIG_MKPASSWD is not set
CONFIG_MKSWAP=y
CONFIG_MODINFO=y
CONFIG_MOUNTPOINT=y
CONFIG_NBD_CLIENT=y
CONFIG_NETCAT=y
CONFIG_NETCAT_LISTEN=y
# CONFIG_UNSHARE is not set
# CONFIG_NSENTER is not set
# CONFIG_ONEIT is not set
CONFIG_PARTPROBE=y
CONFIG_PIVOT_ROOT=y
CONFIG_PMAP=y
CONFIG_PRINTENV=y
CONFIG_PWDX=y
# CONFIG_READAHEAD is not set
CONFIG_READLINK=y
CONFIG_REALPATH=y
# CONFIG_REBOOT is not set
CONFIG_REV=y
CONFIG_RFKILL=y
CONFIG_RMMOD=y
CONFIG_SETSID=y
# CONFIG_SHRED is not set
CONFIG_STAT=y
CONFIG_SWAPOFF=y
CONFIG_SWAPON=y
CONFIG_SWITCH_ROOT=y
CONFIG_SYSCTL=y
CONFIG_TAC=y
CONFIG_TASKSET=y
CONFIG_TIMEOUT=y
CONFIG_TRUNCATE=y
# CONFIG_UPTIME is not set
CONFIG_USLEEP=y
CONFIG_VCONFIG=y
CONFIG_VMSTAT=y
# CONFIG_W is not set
CONFIG_WHICH=y
CONFIG_XXD=y
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_MKTEMP=y
CONFIG_MOUNT=y
# CONFIG_PASSWD 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

#
# Android
#
CONFIG_GETENFORCE=y
CONFIG_GETPROP=y
CONFIG_LOAD_POLICY=y
CONFIG_RESTORECON=y
CONFIG_RUNCON=y
CONFIG_SETENFORCE=y
CONFIG_SETPROP=y

#
# 
#

#
# Toybox global settings
#
CONFIG_TOYBOX=y
CONFIG_TOYBOX_SUID=y
# CONFIG_TOYBOX_LSM_NONE is not set
CONFIG_TOYBOX_SELINUX=y
# CONFIG_TOYBOX_SMACK is not set
CONFIG_TOYBOX_FLOAT=y
CONFIG_TOYBOX_HELP=y
CONFIG_TOYBOX_HELP_DASHDASH=y
CONFIG_TOYBOX_I18N=y
# 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
