#
# 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_ARPING is not set
# CONFIG_ARP is not set
# CONFIG_ASCII is not set
CONFIG_BASE64=y
CONFIG_BASENAME=y
CONFIG_BC=y
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_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_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_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 is not set
# 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 is not set
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
