#
# Hand-maintained .config file.
#

#
# General settings.
#

CONFIG_TOYBOX=y
CONFIG_TOYBOX_CONTAINER=y
# CONFIG_TOYBOX_DEBUG is not set
CONFIG_TOYBOX_FALLOCATE=y
CONFIG_TOYBOX_FIFREEZE=y
CONFIG_TOYBOX_FLOAT=y
CONFIG_TOYBOX_FORK=y
# CONFIG_TOYBOX_FREE is not set
# CONFIG_TOYBOX_GETRANDOM is not set
CONFIG_TOYBOX_HELP_DASHDASH=y
CONFIG_TOYBOX_HELP=y
CONFIG_TOYBOX_I18N=y
CONFIG_TOYBOX_ICONV=y
CONFIG_TOYBOX_LIBCRYPTO=y
CONFIG_TOYBOX_LIBZ=y
# CONFIG_TOYBOX_LSM_NONE is not set
# CONFIG_TOYBOX_MUSL_NOMMU_IS_BROKEN is not set
CONFIG_TOYBOX_NORECURSE=y
CONFIG_TOYBOX_ON_ANDROID=y
CONFIG_TOYBOX_ANDROID_SCHEDPOLICY=y
# CONFIG_TOYBOX_PEDANTIC_ARGS is not set
CONFIG_TOYBOX_SELINUX=y
# CONFIG_TOYBOX_SHADOW is not set
# CONFIG_TOYBOX_SMACK is not set
# CONFIG_TOYBOX_SUID is not set
CONFIG_TOYBOX_UID_SYS=100
CONFIG_TOYBOX_UID_USR=500
# CONFIG_TOYBOX_UTMPX is not set

#
# Selected toys.
#

CONFIG_ACPI=y
# CONFIG_ARCH is not set
# CONFIG_ARPING is not set
# CONFIG_ARP is not set
# CONFIG_ASCII is not set
CONFIG_BASE64=y
CONFIG_BASENAME=y
# CONFIG_BC is not set
CONFIG_BLKID=y
CONFIG_BLOCKDEV=y
# CONFIG_BOOTCHARTD is not set
# CONFIG_BRCTL is not set
# CONFIG_BUNZIP2 is not set
# CONFIG_BZCAT is not set
CONFIG_CAL=y
# CONFIG_CATV is not set
CONFIG_CAT_V=y
CONFIG_CAT=y
# CONFIG_CD is not set
CONFIG_CHATTR=y
CONFIG_CHCON=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
CONFIG_CHROOT=y
CONFIG_CHRT=y
# CONFIG_CHVT is not set
CONFIG_CKSUM=y
CONFIG_CLEAR=y
CONFIG_CMP=y
CONFIG_COMM=y
# CONFIG_COMPRESS is not set
# CONFIG_COUNT is not set
CONFIG_CPIO=y
CONFIG_CP_MORE=y
CONFIG_CP_PRESERVE=y
CONFIG_CP=y
# CONFIG_CRC32 is not set
# CONFIG_CROND is not set
# CONFIG_CRONTAB is not set
CONFIG_CUT=y
CONFIG_DATE=y
CONFIG_DD=y
# CONFIG_DEALLOCVT is not set
# CONFIG_DEBUG_DHCP is not set
# CONFIG_DECOMPRESS is not set
# CONFIG_DEMO_MANY_OPTIONS is not set
# CONFIG_DEMO_NUMBER is not set
# CONFIG_DEMO_SCANKEY is not set
# CONFIG_DEMO_UTF8TOWC is not set
CONFIG_DEVMEM=y
CONFIG_DF=y
# CONFIG_DHCP6 is not set
# CONFIG_DHCPD is not set
# CONFIG_DHCP is not set
CONFIG_DIFF=y
CONFIG_DIRNAME=y
CONFIG_DMESG=y
# CONFIG_DNSDOMAINNAME is not set
CONFIG_DOS2UNIX=y
# CONFIG_DUMPLEASES is not set
CONFIG_DU=y
CONFIG_ECHO=y
CONFIG_EGREP=y
# CONFIG_EJECT is not set
CONFIG_ENV=y
# CONFIG_EXIT is not set
CONFIG_EXPAND=y
CONFIG_EXPR=y
# CONFIG_FACTOR is not set
CONFIG_FALLOCATE=y
CONFIG_FALSE=y
# CONFIG_FDISK is not set
CONFIG_FGREP=y
CONFIG_FILE=y
CONFIG_FIND=y
CONFIG_FLOCK=y
CONFIG_FMT=y
# CONFIG_FOLD is not set
CONFIG_FREERAMDISK=y
CONFIG_FREE=y
# CONFIG_FSCK is not set
CONFIG_FSFREEZE=y
# CONFIG_FSTYPE is not set
CONFIG_FSYNC=y
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
CONFIG_GETCONF=y
CONFIG_GETENFORCE=y
CONFIG_GETFATTR=y
CONFIG_GETOPT=y
# CONFIG_GETTY is not set
CONFIG_GREP=y
# CONFIG_GROUPADD is not set
# CONFIG_GROUPDEL is not set
CONFIG_GROUPS=y
CONFIG_GUNZIP=y
CONFIG_GZIP=y
CONFIG_HEAD=y
# CONFIG_HELLO is not set
CONFIG_HELP_EXTRAS=y
CONFIG_HELP=y
# CONFIG_HEXEDIT is not set
# CONFIG_HOSTID is not set
# CONFIG_HOST is not set
CONFIG_HOSTNAME=y
CONFIG_HWCLOCK=y
CONFIG_I2CDETECT=y
CONFIG_I2CDUMP=y
CONFIG_I2CGET=y
CONFIG_I2CSET=y
CONFIG_ICONV=y
CONFIG_ID=y
CONFIG_ID_Z=y
CONFIG_IFCONFIG=y
# CONFIG_INIT is not set
CONFIG_INOTIFYD=y
CONFIG_INSMOD=y
CONFIG_INSTALL=y
CONFIG_IONICE=y
CONFIG_IORENICE=y
CONFIG_IOTOP=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_IP is not set
# CONFIG_KILLALL5 is not set
CONFIG_KILLALL=y
CONFIG_KILL=y
# CONFIG_KLOGD is not set
# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set
# CONFIG_LAST is not set
# CONFIG_LINK is not set
CONFIG_LN=y
CONFIG_LOAD_POLICY=y
# CONFIG_LOGGER is not set
# CONFIG_LOGIN is not set
CONFIG_LOGNAME=y
CONFIG_LOG=y
# CONFIG_LOGWRAPPER is not set
CONFIG_LOSETUP=y
CONFIG_LSATTR=y
CONFIG_LS_COLOR=y
CONFIG_LSMOD=y
CONFIG_LSOF=y
CONFIG_LSPCI=y
# CONFIG_LSPCI_TEXT is not set
CONFIG_LSUSB=y
CONFIG_LS=y
CONFIG_LS_Z=y
CONFIG_MAKEDEVS=y
# CONFIG_MAN is not set
# CONFIG_MCOOKIE is not set
CONFIG_MD5SUM=y
# CONFIG_MDEV_CONF is not set
# CONFIG_MDEV is not set
CONFIG_MICROCOM=y
# CONFIG_MIX is not set
CONFIG_MKDIR=y
CONFIG_MKDIR_Z=y
# CONFIG_MKE2FS_EXTENDED is not set
# CONFIG_MKE2FS_GEN is not set
# CONFIG_MKE2FS is not set
# CONFIG_MKE2FS_JOURNAL is not set
# CONFIG_MKE2FS_LABEL is not set
CONFIG_MKFIFO=y
CONFIG_MKFIFO_Z=y
CONFIG_MKNOD=y
CONFIG_MKNOD=y
CONFIG_MKNOD_Z=y
# CONFIG_MKPASSWD is not set
CONFIG_MKSWAP=y
CONFIG_MKTEMP=y
CONFIG_MODINFO=y
CONFIG_MODPROBE=y
CONFIG_MORE=y
CONFIG_MOUNTPOINT=y
CONFIG_MOUNT=y
CONFIG_MV_MORE=y
CONFIG_MV=y
CONFIG_NBD_CLIENT=y
CONFIG_NETCAT_LISTEN=y
CONFIG_NETCAT=y
CONFIG_NETSTAT=y
CONFIG_NICE=y
CONFIG_NL=y
CONFIG_NOHUP=y
CONFIG_NPROC=y
CONFIG_NSENTER=y
CONFIG_OD=y
# CONFIG_ONEIT is not set
# CONFIG_OPENVT is not set
CONFIG_PARTPROBE=y
# CONFIG_PASSWD is not set
CONFIG_PASTE=y
CONFIG_PATCH=y
CONFIG_PGREP=y
CONFIG_PIDOF=y
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_PIVOT_ROOT=y
CONFIG_PKILL=y
CONFIG_PMAP=y
CONFIG_PRINTENV=y
CONFIG_PRINTF=y
CONFIG_PS=y
CONFIG_PWDX=y
CONFIG_PWD=y
# CONFIG_READAHEAD is not set
CONFIG_READELF=y
CONFIG_READLINK=y
CONFIG_REALPATH=y
# CONFIG_REBOOT is not set
CONFIG_RENICE=y
# CONFIG_RESET is not set
CONFIG_RESTORECON=y
CONFIG_REV=y
CONFIG_RFKILL=y
CONFIG_RMDIR=y
CONFIG_RMMOD=y
CONFIG_RM=y
# CONFIG_ROUTE is not set
CONFIG_RUNCON=y
CONFIG_SED=y
CONFIG_SENDEVENT=y
CONFIG_SEQ=y
CONFIG_SETENFORCE=y
CONFIG_SETFATTR=y
CONFIG_SETSID=y
CONFIG_SHA1SUM=y
CONFIG_SHA224SUM=y
CONFIG_SHA256SUM=y
CONFIG_SHA384SUM=y
CONFIG_SHA512SUM=y
# CONFIG_SH is not set
# CONFIG_SHRED is not set
# CONFIG_SKELETON_ALIAS is not set
# CONFIG_SKELETON is not set
CONFIG_SLEEP_FLOAT=y
CONFIG_SLEEP=y
# CONFIG_SNTP is not set
CONFIG_SORT_BIG=y
CONFIG_SORT_FLOAT=y
CONFIG_SORT=y
CONFIG_SPLIT=y
CONFIG_STAT=y
CONFIG_STRINGS=y
CONFIG_STTY=y
# CONFIG_SU is not set
# CONFIG_SULOGIN is not set
CONFIG_SWAPOFF=y
CONFIG_SWAPON=y
# CONFIG_SWITCH_ROOT is not set
CONFIG_SYNC=y
CONFIG_SYSCTL=y
# CONFIG_SYSLOGD is not set
CONFIG_TAC=y
CONFIG_TAIL_SEEK=y
CONFIG_TAIL=y
CONFIG_TAR=y
CONFIG_TASKSET=y
CONFIG_TASKSET=y
# CONFIG_TCPSVD is not set
CONFIG_TEE=y
# CONFIG_TELNETD is not set
# CONFIG_TELNET is not set
CONFIG_TEST=y
# CONFIG_TFTPD is not set
# CONFIG_TFTP is not set
CONFIG_TIMEOUT=y
CONFIG_TIME=y
CONFIG_TOP=y
CONFIG_TOUCH=y
CONFIG_TRACEROUTE=y
CONFIG_TRUE=y
CONFIG_TRUNCATE=y
CONFIG_TR=y
# CONFIG_TTOP is not set
CONFIG_TTY=y
CONFIG_TUNCTL=y
CONFIG_ULIMIT=y
CONFIG_UMOUNT=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
CONFIG_UNIX2DOS=y
CONFIG_UNLINK=y
CONFIG_UNSHARE=y
CONFIG_UPTIME=y
# CONFIG_USERADD is not set
# CONFIG_USERDEL is not set
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
CONFIG_UUENCODE=y
CONFIG_UUIDGEN=y
CONFIG_VCONFIG=y
CONFIG_VI=y
CONFIG_VMSTAT=y
CONFIG_WATCH=y
CONFIG_WC=y
# CONFIG_WGET is not set
CONFIG_WHICH=y
CONFIG_WHOAMI=y
# CONFIG_WHO is not set
# CONFIG_W is not set
# CONFIG_XARGS_PEDANTIC is not set
CONFIG_XARGS=y
CONFIG_XXD=y
# CONFIG_XZCAT is not set
CONFIG_YES=y
CONFIG_ZCAT=y
