#
# 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 is not set
# CONFIG_TOYBOX_UTMPX is not set

#
# 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_FILE=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_PS=y
# CONFIG_TTOP is not set
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_ULIMIT=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
# CONFIG_UNLINK is not set
# CONFIG_UUDECODE is not set
# CONFIG_UUENCODE is not set
# CONFIG_VI 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_DHCP6 is not set
# 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_GETFATTR=y
# 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_IOTOP 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 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_PKILL=y
# CONFIG_PING is not set
# CONFIG_RESET is not set
# CONFIG_ROUTE is not set
# CONFIG_SH is not set
# CONFIG_EXIT is not set
# CONFIG_CD is not set
CONFIG_SETFATTR=y
# 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_TFTP 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_WGET 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_BUNZIP2=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_FLOCK=y
CONFIG_FREE=y
CONFIG_FREERAMDISK=y
CONFIG_FSFREEZE=y
# CONFIG_FSYNC is not set
CONFIG_HELP=y
CONFIG_HELP_EXTRAS=y
# CONFIG_HOSTID is not set
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 is not set
CONFIG_SYSCTL=y
CONFIG_TAC=y
CONFIG_TASKSET=y
CONFIG_TIMEOUT=y
CONFIG_TRUNCATE=y
CONFIG_UPTIME=y
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_SHA224SUM=y
CONFIG_SHA256SUM=y
CONFIG_SHA384SUM=y
CONFIG_SHA512SUM=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
# CONFIG_TEST_HUMAN_READABLE is not set
# CONFIG_TEST_MANY_OPTIONS is not set
# CONFIG_TEST_SCANKEY is not set

#
# Android
#
CONFIG_GETENFORCE=y
CONFIG_GETPROP=y
CONFIG_LOAD_POLICY=y
CONFIG_LOG=y
CONFIG_RESTORECON=y
CONFIG_RUNCON=y
CONFIG_SENDEVENT=y
CONFIG_SETENFORCE=y
CONFIG_SETPROP=y
CONFIG_START=y
CONFIG_STOP=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_LIBCRYPTO=y
# CONFIG_TOYBOX_FREE is not set
CONFIG_TOYBOX_NORECURSE=y
# 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
