#
# Hand-maintained .config file.
#

#
# General settings.
#

CONFIG_TOYBOX=y
CONFIG_TOYBOX_CONTAINER=y
# CONFIG_TOYBOX_COPYFILERANGE is not set
# 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_BASE32 is not set
CONFIG_BASE64=y
CONFIG_BASENAME=y
# CONFIG_BC is not set
CONFIG_BLKDISCARD=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_CHSH is not set
# 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_GPIODETECT is not set
# CONFIG_GPIOFIND is not set
# CONFIG_GPIOGET is not set
# CONFIG_GPIOINFO is not set
# CONFIG_GPIOSET 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_HEXDUMP is not set
# CONFIG_HEXEDIT is not set
# CONFIG_HD 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_LINUX32 is not set
CONFIG_LN=y
CONFIG_LOAD_POLICY=y
# CONFIG_LOGGER is not set
# CONFIG_LOGIN is not set
CONFIG_LOGNAME=y
# CONFIG_LOGPATH is not set
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=y
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_PWGEN is not set
# 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_RTCWAKE=y
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_SHA3SUM is not set
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_STRACE is not set
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_TEST_GLUE=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_UCLAMPSET=y
CONFIG_ULIMIT=y
CONFIG_UMOUNT=y
CONFIG_UNAME=y
# CONFIG_UNICODE is not set
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_WATCHDOG is not set
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
