ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/utils/busybox/Config-defaults.in b/package/utils/busybox/Config-defaults.in
new file mode 100644
index 0000000..a471c4e
--- /dev/null
+++ b/package/utils/busybox/Config-defaults.in
@@ -0,0 +1,3242 @@
+config BUSYBOX_DEFAULT_HAVE_DOT_CONFIG
+	bool
+	default y
+config BUSYBOX_DEFAULT_DESKTOP
+	bool
+	default n
+config BUSYBOX_DEFAULT_EXTRA_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEDORA_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_INCLUDE_SUSv2
+	bool
+	default y
+config BUSYBOX_DEFAULT_LONG_OPTS
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHOW_USAGE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
+	bool
+	default n
+config BUSYBOX_DEFAULT_LFS
+	bool
+	default y
+config BUSYBOX_DEFAULT_PAM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DEVPTS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_UTMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WTMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PIDFILE
+	bool
+	default y
+config BUSYBOX_DEFAULT_PID_FILE_PATH
+	string
+	default "/var/run"
+config BUSYBOX_DEFAULT_BUSYBOX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SHOW_SCRIPT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSTALLER
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_NO_USR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SUID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG_QUIET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
+	bool
+	default y
+config BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
+	string
+	default "/proc/self/exe"
+config BUSYBOX_DEFAULT_SELINUX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOG_INFO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOG
+	bool
+	default y
+config BUSYBOX_DEFAULT_STATIC
+	bool
+	default n
+config BUSYBOX_DEFAULT_PIE
+	bool
+	default n
+config BUSYBOX_DEFAULT_NOMMU
+	bool
+	default n
+config BUSYBOX_DEFAULT_BUILD_LIBBUSYBOX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LIBBUSYBOX_STATIC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INDIVIDUAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SHARED_BUSYBOX
+	bool
+	default n
+config BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX
+	string
+	default ""
+config BUSYBOX_DEFAULT_SYSROOT
+	string
+	default ""
+config BUSYBOX_DEFAULT_EXTRA_CFLAGS
+	string
+	default ""
+config BUSYBOX_DEFAULT_EXTRA_LDFLAGS
+	string
+	default ""
+config BUSYBOX_DEFAULT_EXTRA_LDLIBS
+	string
+	default ""
+config BUSYBOX_DEFAULT_USE_PORTABLE_CODE
+	bool
+	default n
+config BUSYBOX_DEFAULT_STACK_OPTIMIZATION_386
+	bool
+	default n
+config BUSYBOX_DEFAULT_STATIC_LIBGCC
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_APPLET_SYMLINKS
+	bool
+	default y
+config BUSYBOX_DEFAULT_INSTALL_APPLET_HARDLINKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_APPLET_SCRIPT_WRAPPERS
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_APPLET_DONT
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_SH_APPLET_SYMLINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_SH_APPLET_HARDLINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL_SH_APPLET_SCRIPT_WRAPPER
+	bool
+	default n
+config BUSYBOX_DEFAULT_PREFIX
+	string
+	default "./_install"
+config BUSYBOX_DEFAULT_DEBUG
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEBUG_SANITIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNIT_TEST
+	bool
+	default n
+config BUSYBOX_DEFAULT_WERROR
+	bool
+	default n
+config BUSYBOX_DEFAULT_WARN_SIMPLE_MSG
+	bool
+	default n
+config BUSYBOX_DEFAULT_NO_DEBUG_LIB
+	bool
+	default y
+config BUSYBOX_DEFAULT_DMALLOC
+	bool
+	default n
+config BUSYBOX_DEFAULT_EFENCE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLOAT_DURATION
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_RTMINMAX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BUFFERS_USE_MALLOC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BUFFERS_GO_ON_STACK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_BUFFERS_GO_IN_BSS
+	bool
+	default n
+config BUSYBOX_DEFAULT_PASSWORD_MINLEN
+	int
+	default 6
+config BUSYBOX_DEFAULT_MD5_SMALL
+	int
+	default 1
+config BUSYBOX_DEFAULT_SHA1_SMALL
+	int
+	default 3
+config BUSYBOX_DEFAULT_SHA1_HWACCEL
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHA256_HWACCEL
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHA3_SMALL
+	int
+	default 1
+config BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
+	int
+	default 4
+config BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
+	bool
+	default y
+config BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_EDITING
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
+	int
+	default 512
+config BUSYBOX_DEFAULT_FEATURE_EDITING_VI
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
+	int
+	default 256
+config BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_EDITING_WINCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOCALE_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
+	bool
+	default n
+config BUSYBOX_DEFAULT_SUBST_WCHAR
+	int
+	default 0
+config BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
+	int
+	default 0
+config BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOOP_CONFIGURE
+	bool
+	default n
+config BUSYBOX_DEFAULT_NO_LOOP_CONFIGURE
+	bool
+	default n
+config BUSYBOX_DEFAULT_TRY_LOOP_CONFIGURE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_LZMA
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_BZ2
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z
+	bool
+	default n
+config BUSYBOX_DEFAULT_AR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_AR_LONG_FILENAMES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_AR_CREATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNCOMPRESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_GUNZIP
+	bool
+	default y
+config BUSYBOX_DEFAULT_ZCAT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_BUNZIP2
+	bool
+	default n
+config BUSYBOX_DEFAULT_BZCAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNLZMA
+	bool
+	default n
+config BUSYBOX_DEFAULT_LZCAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_LZMA
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNXZ
+	bool
+	default n
+config BUSYBOX_DEFAULT_XZCAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_XZ
+	bool
+	default n
+config BUSYBOX_DEFAULT_BZIP2
+	bool
+	default n
+config BUSYBOX_DEFAULT_BZIP2_SMALL
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_CPIO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_O
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_P
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES
+	bool
+	default n
+config BUSYBOX_DEFAULT_DPKG
+	bool
+	default n
+config BUSYBOX_DEFAULT_DPKG_DEB
+	bool
+	default n
+config BUSYBOX_DEFAULT_GZIP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_GZIP_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_GZIP_FAST
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_GZIP_LEVELS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS
+	bool
+	default y
+config BUSYBOX_DEFAULT_LZOP
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNLZOP
+	bool
+	default n
+config BUSYBOX_DEFAULT_LZOPCAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_LZOP_COMPR_HIGH
+	bool
+	default n
+config BUSYBOX_DEFAULT_RPM
+	bool
+	default n
+config BUSYBOX_DEFAULT_RPM2CPIO
+	bool
+	default n
+config BUSYBOX_DEFAULT_TAR
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_CREATE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TAR_AUTODETECT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_FROM
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TAR_OLDGNU_COMPATIBILITY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_OLDSUN_COMPATIBILITY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TAR_TO_COMMAND
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_UNAME_GNAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_NOPRESERVE_TIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TAR_SELINUX
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNZIP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UNZIP_CDF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UNZIP_BZIP2
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VERBOSE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TIMEZONE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
+	bool
+	default y
+config BUSYBOX_DEFAULT_BASENAME
+	bool
+	default y
+config BUSYBOX_DEFAULT_CAT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_CATN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CATV
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHGRP
+	bool
+	default y
+config BUSYBOX_DEFAULT_CHMOD
+	bool
+	default y
+config BUSYBOX_DEFAULT_CHOWN
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHROOT
+	bool
+	default y
+config BUSYBOX_DEFAULT_CKSUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_CRC32
+	bool
+	default n
+config BUSYBOX_DEFAULT_COMM
+	bool
+	default n
+config BUSYBOX_DEFAULT_CP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CP_REFLINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_CUT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_CUT_REGEX
+	bool
+	default n
+config BUSYBOX_DEFAULT_DATE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DATE_ISOFMT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DATE_NANO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DATE_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_DD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DD_SIGNAL_HANDLING
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DD_THIRD_STATUS_LINE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DD_STATUS
+	bool
+	default n
+config BUSYBOX_DEFAULT_DF
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DF_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_DIRNAME
+	bool
+	default y
+config BUSYBOX_DEFAULT_DOS2UNIX
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNIX2DOS
+	bool
+	default n
+config BUSYBOX_DEFAULT_DU
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
+	bool
+	default y
+config BUSYBOX_DEFAULT_ECHO
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO
+	bool
+	default y
+config BUSYBOX_DEFAULT_ENV
+	bool
+	default y
+config BUSYBOX_DEFAULT_EXPAND
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNEXPAND
+	bool
+	default n
+config BUSYBOX_DEFAULT_EXPR
+	bool
+	default y
+config BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64
+	bool
+	default y
+config BUSYBOX_DEFAULT_FACTOR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FALSE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FOLD
+	bool
+	default n
+config BUSYBOX_DEFAULT_HEAD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD
+	bool
+	default y
+config BUSYBOX_DEFAULT_HOSTID
+	bool
+	default n
+config BUSYBOX_DEFAULT_ID
+	bool
+	default y
+config BUSYBOX_DEFAULT_GROUPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSTALL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSTALL_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_LINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_LN
+	bool
+	default y
+config BUSYBOX_DEFAULT_LOGNAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_LS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_WIDTH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_TIMESTAMPS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_USERNAME
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_COLOR
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LS_COLOR_IS_DEFAULT
+	bool
+	default y
+config BUSYBOX_DEFAULT_MD5SUM
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHA1SUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_SHA256SUM
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHA512SUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_SHA3SUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
+	bool
+	default y
+config BUSYBOX_DEFAULT_MKDIR
+	bool
+	default y
+config BUSYBOX_DEFAULT_MKFIFO
+	bool
+	default y
+config BUSYBOX_DEFAULT_MKNOD
+	bool
+	default y
+config BUSYBOX_DEFAULT_MKTEMP
+	bool
+	default y
+config BUSYBOX_DEFAULT_MV
+	bool
+	default y
+config BUSYBOX_DEFAULT_NICE
+	bool
+	default y
+config BUSYBOX_DEFAULT_NL
+	bool
+	default n
+config BUSYBOX_DEFAULT_NOHUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_NPROC
+	bool
+	default n
+config BUSYBOX_DEFAULT_OD
+	bool
+	default n
+config BUSYBOX_DEFAULT_PASTE
+	bool
+	default n
+config BUSYBOX_DEFAULT_PRINTENV
+	bool
+	default n
+config BUSYBOX_DEFAULT_PRINTF
+	bool
+	default y
+config BUSYBOX_DEFAULT_PWD
+	bool
+	default y
+config BUSYBOX_DEFAULT_READLINK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_READLINK_FOLLOW
+	bool
+	default y
+config BUSYBOX_DEFAULT_REALPATH
+	bool
+	default n
+config BUSYBOX_DEFAULT_RM
+	bool
+	default y
+config BUSYBOX_DEFAULT_RMDIR
+	bool
+	default y
+config BUSYBOX_DEFAULT_SEQ
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHRED
+	bool
+	default n
+config BUSYBOX_DEFAULT_SHUF
+	bool
+	default n
+config BUSYBOX_DEFAULT_SLEEP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FANCY_SLEEP
+	bool
+	default y
+config BUSYBOX_DEFAULT_SORT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SORT_BIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SORT_OPTIMIZE_MEMORY
+	bool
+	default n
+config BUSYBOX_DEFAULT_SPLIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_STAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
+	bool
+	default n
+config BUSYBOX_DEFAULT_STTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_SUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_SYNC
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SYNC_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FSYNC
+	bool
+	default y
+config BUSYBOX_DEFAULT_TAC
+	bool
+	default n
+config BUSYBOX_DEFAULT_TAIL
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL
+	bool
+	default y
+config BUSYBOX_DEFAULT_TEE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TEE_USE_BLOCK_IO
+	bool
+	default y
+config BUSYBOX_DEFAULT_TEST
+	bool
+	default y
+config BUSYBOX_DEFAULT_TEST1
+	bool
+	default y
+config BUSYBOX_DEFAULT_TEST2
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TEST_64
+	bool
+	default y
+config BUSYBOX_DEFAULT_TIMEOUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TOUCH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
+	bool
+	default y
+config BUSYBOX_DEFAULT_TR
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
+	bool
+	default n
+config BUSYBOX_DEFAULT_TRUE
+	bool
+	default y
+config BUSYBOX_DEFAULT_TRUNCATE
+	bool
+	default y if TARGET_bcm53xx
+	default n
+config BUSYBOX_DEFAULT_TSORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNAME
+	bool
+	default y
+config BUSYBOX_DEFAULT_UNAME_OSNAME
+	string
+	default "GNU/Linux"
+config BUSYBOX_DEFAULT_BB_ARCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_UNIQ
+	bool
+	default y
+config BUSYBOX_DEFAULT_UNLINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_USLEEP
+	bool
+	default n
+config BUSYBOX_DEFAULT_UUDECODE
+	bool
+	default n
+config BUSYBOX_DEFAULT_BASE32
+	bool
+	default n
+config BUSYBOX_DEFAULT_BASE64
+	bool
+	default n
+config BUSYBOX_DEFAULT_UUENCODE
+	bool
+	default n
+config BUSYBOX_DEFAULT_WC
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_WC_LARGE
+	bool
+	default n
+config BUSYBOX_DEFAULT_WHO
+	bool
+	default n
+config BUSYBOX_DEFAULT_W
+	bool
+	default n
+config BUSYBOX_DEFAULT_USERS
+	bool
+	default n
+config BUSYBOX_DEFAULT_WHOAMI
+	bool
+	default n
+config BUSYBOX_DEFAULT_YES
+	bool
+	default y
+config BUSYBOX_DEFAULT_CHVT
+	bool
+	default n
+config BUSYBOX_DEFAULT_CLEAR
+	bool
+	default y
+config BUSYBOX_DEFAULT_DEALLOCVT
+	bool
+	default n
+config BUSYBOX_DEFAULT_DUMPKMAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FGCONSOLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_KBD_MODE
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOADFONT
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETFONT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETFONT_TEXTUAL_MAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR
+	string
+	default ""
+config BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOADKMAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_OPENVT
+	bool
+	default n
+config BUSYBOX_DEFAULT_RESET
+	bool
+	default y
+config BUSYBOX_DEFAULT_RESIZE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_RESIZE_PRINT
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETCONSOLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETKEYCODES
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETLOGCONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_SHOWKEY
+	bool
+	default n
+config BUSYBOX_DEFAULT_PIPE_PROGRESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUN_PARTS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_START_STOP_DAEMON
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_WHICH
+	bool
+	default y
+config BUSYBOX_DEFAULT_MINIPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_NUKE
+	bool
+	default n
+config BUSYBOX_DEFAULT_RESUME
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUN_INIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_AWK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_AWK_LIBM
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_AWK_GNU_EXTENSIONS
+	bool
+	default y
+config BUSYBOX_DEFAULT_CMP
+	bool
+	default y
+config BUSYBOX_DEFAULT_DIFF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DIFF_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DIFF_DIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_ED
+	bool
+	default n
+config BUSYBOX_DEFAULT_PATCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_SED
+	bool
+	default y
+config BUSYBOX_DEFAULT_VI
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN
+	int
+	default 1024
+config BUSYBOX_DEFAULT_FEATURE_VI_8BIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VI_COLON
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_COLON_EXPAND
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_SEARCH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_READONLY
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_SET
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_VI_VERBOSE_STATUS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
+	bool
+	default y
+config BUSYBOX_DEFAULT_FIND
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_ATIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_CTIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_AMIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_CMIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_PERM
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_TYPE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_EXECUTABLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_XDEV
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_NEWER
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_INUM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_USER
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_GROUP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_NOT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_DEPTH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_PAREN
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_SIZE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_QUIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_DELETE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_PATH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_REGEX
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FIND_CONTEXT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FIND_LINKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_GREP
+	bool
+	default y
+config BUSYBOX_DEFAULT_EGREP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FGREP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT
+	bool
+	default y
+config BUSYBOX_DEFAULT_XARGS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_CONFIRMATION
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_QUOTES
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_PARALLEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ARGS_FILE
+	bool
+	default n
+config BUSYBOX_DEFAULT_BOOTCHARTD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_BLOATED_HEADER
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_CONFIG_FILE
+	bool
+	default n
+config BUSYBOX_DEFAULT_HALT
+	bool
+	default y
+config BUSYBOX_DEFAULT_POWEROFF
+	bool
+	default y
+config BUSYBOX_DEFAULT_REBOOT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_WAIT_FOR_INIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TELINIT_PATH
+	string
+	default ""
+config BUSYBOX_DEFAULT_INIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_LINUXRC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_KILL_REMOVED
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_KILL_DELAY
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INIT_QUIET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
+	string
+	default ""
+config BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
+	bool
+	default y
+config BUSYBOX_DEFAULT_USE_BB_PWD_GRP
+	bool
+	default n
+config BUSYBOX_DEFAULT_USE_BB_SHADOW
+	bool
+	default n
+config BUSYBOX_DEFAULT_USE_BB_CRYPT
+	bool
+	default n
+config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
+	bool
+	default y
+config BUSYBOX_DEFAULT_ADD_SHELL
+	bool
+	default n
+config BUSYBOX_DEFAULT_REMOVE_SHELL
+	bool
+	default n
+config BUSYBOX_DEFAULT_ADDGROUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_ADDUSER
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES
+	bool
+	default n
+config BUSYBOX_DEFAULT_LAST_ID
+	int
+	default 0
+config BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
+	int
+	default 0
+config BUSYBOX_DEFAULT_LAST_SYSTEM_ID
+	int
+	default 0
+config BUSYBOX_DEFAULT_CHPASSWD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
+	string
+	default "sha256"
+config BUSYBOX_DEFAULT_CRYPTPW
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKPASSWD
+	bool
+	default n
+config BUSYBOX_DEFAULT_DELUSER
+	bool
+	default n
+config BUSYBOX_DEFAULT_DELGROUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DEL_USER_FROM_GROUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_GETTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOGIN
+	bool
+	default y
+config BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD
+	bool
+	default y
+config BUSYBOX_DEFAULT_LOGIN_SCRIPTS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_NOLOGIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SECURETTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_PASSWD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK
+	bool
+	default y
+config BUSYBOX_DEFAULT_SU
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SU_SYSLOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
+	bool
+	default n
+config BUSYBOX_DEFAULT_SULOGIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_VLOCK
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHATTR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FSCK
+	bool
+	default n
+config BUSYBOX_DEFAULT_LSATTR
+	bool
+	default n
+config BUSYBOX_DEFAULT_TUNE2FS
+	bool
+	default n
+config BUSYBOX_DEFAULT_MODPROBE_SMALL
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEPMOD
+	bool
+	default n
+config BUSYBOX_DEFAULT_INSMOD
+	bool
+	default n
+config BUSYBOX_DEFAULT_LSMOD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_MODINFO
+	bool
+	default n
+config BUSYBOX_DEFAULT_MODPROBE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST
+	bool
+	default n
+config BUSYBOX_DEFAULT_RMMOD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CMDLINE_MODULE_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_2_4_MODULES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_VERSION_CHECKING
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_LOADINKMEM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP_FULL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHECK_TAINTED_MODULE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MODUTILS_ALIAS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MODUTILS_SYMBOLS
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR
+	string
+	default ""
+config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
+	string
+	default ""
+config BUSYBOX_DEFAULT_ACPID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ACPID_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_BLKDISCARD
+	bool
+	default n
+config BUSYBOX_DEFAULT_BLKID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BLKID_TYPE
+	bool
+	default n
+config BUSYBOX_DEFAULT_BLOCKDEV
+	bool
+	default n
+config BUSYBOX_DEFAULT_CAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHRT
+	bool
+	default n
+config BUSYBOX_DEFAULT_DMESG
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY
+	bool
+	default y
+config BUSYBOX_DEFAULT_EJECT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI
+	bool
+	default n
+config BUSYBOX_DEFAULT_FALLOCATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FATATTR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FBSET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FBSET_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FDFORMAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FDISK
+	bool
+	default n
+config BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_AIX_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SGI_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SUN_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_OSF_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_GPT_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FDISK_ADVANCED
+	bool
+	default n
+config BUSYBOX_DEFAULT_FINDFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLOCK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FDFLUSH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FREERAMDISK
+	bool
+	default n
+config BUSYBOX_DEFAULT_FSCK_MINIX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FSFREEZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FSTRIM
+	bool
+	default n
+config BUSYBOX_DEFAULT_GETOPT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_GETOPT_LONG
+	bool
+	default n
+config BUSYBOX_DEFAULT_HEXDUMP
+	bool
+	default y
+config BUSYBOX_DEFAULT_HD
+	bool
+	default n
+config BUSYBOX_DEFAULT_XXD
+	bool
+	default n
+config BUSYBOX_DEFAULT_HWCLOCK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_HWCLOCK_ADJTIME_FHS
+	bool
+	default n
+config BUSYBOX_DEFAULT_IONICE
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPCRM
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPCS
+	bool
+	default n
+config BUSYBOX_DEFAULT_LAST
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOSETUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_LSPCI
+	bool
+	default n
+config BUSYBOX_DEFAULT_LSUSB
+	bool
+	default n
+config BUSYBOX_DEFAULT_MDEV
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_CONF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME_REGEXP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MDEV_DAEMON
+	bool
+	default n
+config BUSYBOX_DEFAULT_MESG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKE2FS
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKFS_EXT2
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKFS_MINIX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MINIX2
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKFS_REISER
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKDOSFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKFS_VFAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_MKSWAP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MKSWAP_UUID
+	bool
+	default n
+config BUSYBOX_DEFAULT_MORE
+	bool
+	default n
+config BUSYBOX_DEFAULT_MOUNT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_FAKE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_VERBOSE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_NFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
+	bool
+	default n
+config BUSYBOX_DEFAULT_MOUNTPOINT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NOLOGIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_NOLOGIN_DEPENDENCIES
+	bool
+	default n
+config BUSYBOX_DEFAULT_NSENTER
+	bool
+	default n
+config BUSYBOX_DEFAULT_PIVOT_ROOT
+	bool
+	default y
+config BUSYBOX_DEFAULT_RDATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_RDEV
+	bool
+	default n
+config BUSYBOX_DEFAULT_READPROFILE
+	bool
+	default n
+config BUSYBOX_DEFAULT_RENICE
+	bool
+	default n
+config BUSYBOX_DEFAULT_REV
+	bool
+	default n
+config BUSYBOX_DEFAULT_RTCWAKE
+	bool
+	default n
+config BUSYBOX_DEFAULT_SCRIPT
+	bool
+	default n
+config BUSYBOX_DEFAULT_SCRIPTREPLAY
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETARCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_LINUX32
+	bool
+	default n
+config BUSYBOX_DEFAULT_LINUX64
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETPRIV
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETPRIV_DUMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITIES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITY_NAMES
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETSID
+	bool
+	default y
+config BUSYBOX_DEFAULT_SWAPON
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
+	bool
+	default y
+config BUSYBOX_DEFAULT_SWAPOFF
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SWAPONOFF_LABEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_SWITCH_ROOT
+	bool
+	default y
+config BUSYBOX_DEFAULT_TASKSET
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST
+	bool
+	default y
+config BUSYBOX_DEFAULT_UEVENT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UMOUNT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL
+	bool
+	default y
+config BUSYBOX_DEFAULT_UNSHARE
+	bool
+	default n
+config BUSYBOX_DEFAULT_WALL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP_CREATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_VOLUMEID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_CRAMFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EROFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXFAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_F2FS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_FAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_HFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ISO9660
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_JFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXRAID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXSWAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LUKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_MINIX
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NILFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NTFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_OCFS2
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_REISERFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ROMFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SQUASHFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SYSV
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_ADJTIMEX
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASCII
+	bool
+	default n
+config BUSYBOX_DEFAULT_BBCONFIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_COMPRESS_BBCONFIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_BC
+	bool
+	default n
+config BUSYBOX_DEFAULT_DC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DC_BIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DC_LIBM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BC_INTERACTIVE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BC_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_BEEP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_BEEP_LENGTH_MS
+	int
+	default 0
+config BUSYBOX_DEFAULT_CHAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_NOFAIL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_TTY_HIFI
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_IMPLICIT_CR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_SWALLOW_OPTS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_SEND_ESCAPES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_VAR_ABORT_LEN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_CONSPY
+	bool
+	default n
+config BUSYBOX_DEFAULT_CROND
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_CROND_D
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CROND_SPECIAL_TIMES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_CROND_DIR
+	string
+	default "/etc"
+config BUSYBOX_DEFAULT_CRONTAB
+	bool
+	default y
+config BUSYBOX_DEFAULT_DEVFSD
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEVFSD_MODLOAD
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEVFSD_FG_NP
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEVFSD_VERBOSE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_DEVFS
+	bool
+	default n
+config BUSYBOX_DEFAULT_DEVMEM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FBSPLASH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLASH_ERASEALL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLASH_LOCK
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLASH_UNLOCK
+	bool
+	default n
+config BUSYBOX_DEFAULT_FLASHCP
+	bool
+	default n
+config BUSYBOX_DEFAULT_HDPARM
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_GET_IDENTITY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_SCAN_HWIF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_DRIVE_RESET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_GETSET_DMA
+	bool
+	default n
+config BUSYBOX_DEFAULT_HEXEDIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_I2CGET
+	bool
+	default n
+config BUSYBOX_DEFAULT_I2CSET
+	bool
+	default n
+config BUSYBOX_DEFAULT_I2CDUMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_I2CDETECT
+	bool
+	default n
+config BUSYBOX_DEFAULT_I2CTRANSFER
+	bool
+	default n
+config BUSYBOX_DEFAULT_INOTIFYD
+	bool
+	default n
+config BUSYBOX_DEFAULT_LESS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES
+	int
+	default 9999999
+config BUSYBOX_DEFAULT_FEATURE_LESS_BRACKETS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_FLAGS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_TRUNCATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_MARKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_REGEXP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_WINCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_ASK_TERMINAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_DASHCMD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_RAW
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LESS_ENV
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOCK
+	bool
+	default y
+config BUSYBOX_DEFAULT_LSSCSI
+	bool
+	default n
+config BUSYBOX_DEFAULT_MAKEDEVS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MAKEDEVS_LEAF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MAKEDEVS_TABLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_MAN
+	bool
+	default n
+config BUSYBOX_DEFAULT_MICROCOM
+	bool
+	default n
+config BUSYBOX_DEFAULT_MIM
+	bool
+	default n
+config BUSYBOX_DEFAULT_MT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NANDWRITE
+	bool
+	default n
+config BUSYBOX_DEFAULT_NANDDUMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_PARTPROBE
+	bool
+	default n
+config BUSYBOX_DEFAULT_RAIDAUTORUN
+	bool
+	default n
+config BUSYBOX_DEFAULT_READAHEAD
+	bool
+	default n
+config BUSYBOX_DEFAULT_RFKILL
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUNLEVEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_RX
+	bool
+	default n
+config BUSYBOX_DEFAULT_SEEDRNG
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETFATTR
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETSERIAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_STRINGS
+	bool
+	default y
+config BUSYBOX_DEFAULT_TIME
+	bool
+	default y
+config BUSYBOX_DEFAULT_TREE
+	bool
+	default n
+config BUSYBOX_DEFAULT_TS
+	bool
+	default n
+config BUSYBOX_DEFAULT_TTYSIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIATTACH
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIDETACH
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIMKVOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIRMVOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIRSVOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIUPDATEVOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_UBIRENAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_VOLNAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_WATCHDOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WATCHDOG_OPEN_TWICE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IPV6
+	bool
+	default y if IPV6
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UNIX_LOCAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HWIB
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TLS_SHA1
+	bool
+	default n
+config BUSYBOX_DEFAULT_ARP
+	bool
+	default n
+config BUSYBOX_DEFAULT_ARPING
+	bool
+	default n
+config BUSYBOX_DEFAULT_BRCTL
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_BRCTL_FANCY
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_BRCTL_SHOW
+	bool
+	default y
+config BUSYBOX_DEFAULT_DNSD
+	bool
+	default n
+config BUSYBOX_DEFAULT_ETHER_WAKE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FTPD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FTPD_WRITE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FTPD_ACCEPT_BROKEN_LIST
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FTPD_AUTHENTICATION
+	bool
+	default n
+config BUSYBOX_DEFAULT_FTPGET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FTPPUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FTPGETPUT_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_HOSTNAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_DNSDOMAINNAME
+	bool
+	default n
+config BUSYBOX_DEFAULT_HTTPD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT
+	int
+	default 80
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_BASIC_AUTH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_AUTH_MD5
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_CGI
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ENCODE_URL_STR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ERROR_PAGES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_PROXY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_GZIP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ETAG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_LAST_MODIFIED
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_DATE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_HTTPD_ACL_IP
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFCONFIG
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IFCONFIG_STATUS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IFCONFIG_SLIP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFCONFIG_HW
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IFCONFIG_BROADCAST_PLUS
+	bool
+	default y
+config BUSYBOX_DEFAULT_IFENSLAVE
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFPLUGD
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFDOWN
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH
+	string
+	default ""
+config BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV6
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP
+	bool
+	default n
+config BUSYBOX_DEFAULT_INETD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_TIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_INETD_RPC
+	bool
+	default n
+config BUSYBOX_DEFAULT_IP
+	bool
+	default y
+config BUSYBOX_DEFAULT_IPADDR
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPLINK
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPROUTE
+	bool
+	default y
+config BUSYBOX_DEFAULT_IPTUNNEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPRULE
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPNEIGH
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IP_LINK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IP_ROUTE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IP_ROUTE_DIR
+	string
+	default "/etc/iproute2"
+config BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IP_RULE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS
+	bool
+	default n
+config BUSYBOX_DEFAULT_IPCALC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IPCALC_FANCY
+	bool
+	default n
+config BUSYBOX_DEFAULT_FAKEIDENTD
+	bool
+	default n
+config BUSYBOX_DEFAULT_NAMEIF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
+	bool
+	default n
+config BUSYBOX_DEFAULT_NBDCLIENT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NC
+	bool
+	default y
+config BUSYBOX_DEFAULT_NETCAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NC_SERVER
+	bool
+	default n
+config BUSYBOX_DEFAULT_NC_EXTRA
+	bool
+	default n
+config BUSYBOX_DEFAULT_NC_110_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NETMSG
+	bool
+	default y
+config BUSYBOX_DEFAULT_NETSTAT
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NETSTAT_WIDE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NETSTAT_PRG
+	bool
+	default y
+config BUSYBOX_DEFAULT_NSLOOKUP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_BIG
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_NTPD
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_NTPD_CONF
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_NTP_AUTH
+	bool
+	default n
+config BUSYBOX_DEFAULT_PING
+	bool
+	default y
+config BUSYBOX_DEFAULT_PING6
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_FANCY_PING
+	bool
+	default y
+config BUSYBOX_DEFAULT_PSCAN
+	bool
+	default n
+config BUSYBOX_DEFAULT_ROUTE
+	bool
+	default y
+config BUSYBOX_DEFAULT_SLATTACH
+	bool
+	default n
+config BUSYBOX_DEFAULT_SSL_CLIENT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TC_INGRESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_TCPSVD
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDPSVD
+	bool
+	default n
+config BUSYBOX_DEFAULT_TELNET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNET_TTYPE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNET_AUTOLOGIN
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH
+	bool
+	default n
+config BUSYBOX_DEFAULT_TELNETD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT
+	int
+	default 23
+config BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TFTP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TFTP_HPA_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_TFTPD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TFTP_GET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TFTP_PUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TFTP_BLOCKSIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_TFTP_DEBUG
+	bool
+	default n
+config BUSYBOX_DEFAULT_TLS
+	bool
+	default n
+config BUSYBOX_DEFAULT_TRACEROUTE
+	bool
+	default y
+config BUSYBOX_DEFAULT_TRACEROUTE6
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP
+	bool
+	default n
+config BUSYBOX_DEFAULT_TUNCTL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TUNCTL_UG
+	bool
+	default n
+config BUSYBOX_DEFAULT_VCONFIG
+	bool
+	default n
+config BUSYBOX_DEFAULT_WGET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_FTP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_HTTPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
+	bool
+	default n
+config BUSYBOX_DEFAULT_WHOIS
+	bool
+	default n
+config BUSYBOX_DEFAULT_ZCIP
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDHCPD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY
+	bool
+	default n
+config BUSYBOX_DEFAULT_DHCPD_LEASES_FILE
+	string
+	default ""
+config BUSYBOX_DEFAULT_DUMPLEASES
+	bool
+	default n
+config BUSYBOX_DEFAULT_DHCPRELAY
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDHCPC
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT
+	string
+	default "/usr/share/udhcpc/default.script"
+config BUSYBOX_DEFAULT_UDHCPC6_DEFAULT_SCRIPT
+	string
+	default ""
+config BUSYBOX_DEFAULT_UDHCPC6
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC5970
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE
+	string
+	default ""
+config BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_UDHCP_DEBUG
+	int
+	default 0
+config BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS
+	int
+	default 80
+config BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_UDHCP_8021Q
+	bool
+	default n
+config BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
+	string
+	default ""
+config BUSYBOX_DEFAULT_LPD
+	bool
+	default n
+config BUSYBOX_DEFAULT_LPR
+	bool
+	default n
+config BUSYBOX_DEFAULT_LPQ
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
+	string
+	default ""
+config BUSYBOX_DEFAULT_MAKEMIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_POPMAILDIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_POPMAILDIR_DELIVERY
+	bool
+	default n
+config BUSYBOX_DEFAULT_REFORMIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_REFORMIME_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_SENDMAIL
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_FAST_TOP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FREE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FUSER
+	bool
+	default n
+config BUSYBOX_DEFAULT_IOSTAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_KILL
+	bool
+	default y
+config BUSYBOX_DEFAULT_KILLALL
+	bool
+	default y
+config BUSYBOX_DEFAULT_KILLALL5
+	bool
+	default n
+config BUSYBOX_DEFAULT_LSOF
+	bool
+	default n
+config BUSYBOX_DEFAULT_MPSTAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_NMETER
+	bool
+	default n
+config BUSYBOX_DEFAULT_PGREP
+	bool
+	default y
+config BUSYBOX_DEFAULT_PKILL
+	bool
+	default n
+config BUSYBOX_DEFAULT_PIDOF
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_PMAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_POWERTOP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_POWERTOP_INTERACTIVE
+	bool
+	default n
+config BUSYBOX_DEFAULT_PS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_PS_WIDE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_PS_LONG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PS_TIME
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
+	bool
+	default n
+config BUSYBOX_DEFAULT_PSTREE
+	bool
+	default n
+config BUSYBOX_DEFAULT_PWDX
+	bool
+	default n
+config BUSYBOX_DEFAULT_SMEMCAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_BB_SYSCTL
+	bool
+	default y
+config BUSYBOX_DEFAULT_TOP
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TOP_INTERACTIVE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_TOP_SMP_CPU
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TOP_DECIMALS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TOP_SMP_PROCESS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_TOPMEM
+	bool
+	default n
+config BUSYBOX_DEFAULT_UPTIME
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_WATCH
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHPST
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETUIDGID
+	bool
+	default n
+config BUSYBOX_DEFAULT_ENVUIDGID
+	bool
+	default n
+config BUSYBOX_DEFAULT_ENVDIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_SOFTLIMIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUNSV
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUNSVDIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_SV
+	bool
+	default n
+config BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
+	string
+	default ""
+config BUSYBOX_DEFAULT_SVC
+	bool
+	default n
+config BUSYBOX_DEFAULT_SVOK
+	bool
+	default n
+config BUSYBOX_DEFAULT_SVLOGD
+	bool
+	default n
+config BUSYBOX_DEFAULT_CHCON
+	bool
+	default n
+config BUSYBOX_DEFAULT_GETENFORCE
+	bool
+	default n
+config BUSYBOX_DEFAULT_GETSEBOOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOAD_POLICY
+	bool
+	default n
+config BUSYBOX_DEFAULT_MATCHPATHCON
+	bool
+	default n
+config BUSYBOX_DEFAULT_RUNCON
+	bool
+	default n
+config BUSYBOX_DEFAULT_SELINUXENABLED
+	bool
+	default n
+config BUSYBOX_DEFAULT_SESTATUS
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETENFORCE
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETFILES
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SETFILES_CHECK_OPTION
+	bool
+	default n
+config BUSYBOX_DEFAULT_RESTORECON
+	bool
+	default n
+config BUSYBOX_DEFAULT_SETSEBOOL
+	bool
+	default n
+config BUSYBOX_DEFAULT_SH_IS_ASH
+	bool
+	default y
+config BUSYBOX_DEFAULT_SH_IS_HUSH
+	bool
+	default n
+config BUSYBOX_DEFAULT_SH_IS_NONE
+	bool
+	default n
+config BUSYBOX_DEFAULT_BASH_IS_ASH
+	bool
+	default n
+config BUSYBOX_DEFAULT_BASH_IS_HUSH
+	bool
+	default n
+config BUSYBOX_DEFAULT_BASH_IS_NONE
+	bool
+	default y
+config BUSYBOX_DEFAULT_SHELL_ASH
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_BASH_COMPAT
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_JOB_CONTROL
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_ALIAS
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_MAIL
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_ECHO
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_PRINTF
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_TEST
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_SLEEP
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_HELP
+	bool
+	default n
+config BUSYBOX_DEFAULT_ASH_GETOPTS
+	bool
+	default y
+config BUSYBOX_DEFAULT_ASH_CMDCMD
+	bool
+	default y
+config BUSYBOX_DEFAULT_CTTYHACK
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH
+	bool
+	default n
+config BUSYBOX_DEFAULT_SHELL_HUSH
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_LINENO_VAR
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_INTERACTIVE
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_JOB
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_TICK
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_IF
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_LOOPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_CASE
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_FUNCTIONS
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_LOCAL
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_MODE_X
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_ECHO
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_PRINTF
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_TEST
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_HELP
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_EXPORT
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_EXPORT_N
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_READONLY
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_KILL
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_WAIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_COMMAND
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_TRAP
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_TYPE
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_TIMES
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_READ
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_SET
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_UNSET
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_ULIMIT
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_UMASK
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_GETOPTS
+	bool
+	default n
+config BUSYBOX_DEFAULT_HUSH_MEMLEAK
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_MATH
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
+	bool
+	default y
+config BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
+	bool
+	default n
+config BUSYBOX_DEFAULT_KLOGD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
+	bool
+	default n
+config BUSYBOX_DEFAULT_LOGGER
+	bool
+	default y
+config BUSYBOX_DEFAULT_LOGREAD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
+	bool
+	default n
+config BUSYBOX_DEFAULT_SYSLOGD
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_ROTATE_LOGFILE
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_REMOTE_LOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_DUP
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_CFG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG
+	bool
+	default n
+config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE
+	int
+	default 0
+config BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
+	bool
+	default n
diff --git a/package/utils/busybox/Config.in b/package/utils/busybox/Config.in
new file mode 100644
index 0000000..dcd027e
--- /dev/null
+++ b/package/utils/busybox/Config.in
@@ -0,0 +1,21 @@
+if PACKAGE_busybox || PACKAGE_busybox-selinux
+
+config BUSYBOX_CUSTOM
+	bool "Customize busybox options"
+	default n
+        help
+          Enabling this allows full customization of busybox settings.
+          Note that there are many options here that can result in a build
+          that doesn't work properly.  Enabling customization will mark your
+          build as "tainted" for the purpose of bug reports.
+          See the variables written to /etc/openwrt_release
+
+          Unless you know what you are doing, you should leave this as 'n'
+
+	source "Config-defaults.in"
+
+	if BUSYBOX_CUSTOM
+	source "config/Config.in"
+	endif
+
+endif
diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
new file mode 100644
index 0000000..7d302bd
--- /dev/null
+++ b/package/utils/busybox/Makefile
@@ -0,0 +1,166 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2006-2021 OpenWrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=busybox
+PKG_VERSION:=1.36.1
+PKG_RELEASE:=2
+PKG_FLAGS:=essential
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://www.busybox.net/downloads \
+		https://sources.buildroot.net/$(PKG_NAME)
+PKG_HASH:=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
+
+PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=lto
+ifeq ($(CONFIG_SOFT_FLOAT),)
+  PKG_BUILD_FLAGS+=no-mips16
+endif
+
+PKG_CHECK_FORMAT_SECURITY:=0
+
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE
+PKG_CPE_ID:=cpe:/a:busybox:busybox
+
+BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT)
+BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2))
+
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SUID),)
+  PKG_FILE_MODES:=/bin/busybox:root:root:4755
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+ifeq ($(DUMP),)
+  STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | $(MKHASH) md5)
+endif
+
+# All files provided by busybox will serve as fallback alternatives by opkg.
+# There should be no need to enumerate ALTERNATIVES entries here
+define Package/busybox/Default
+  SECTION:=base
+  CATEGORY:=Base system
+  MAINTAINER:=Felix Fietkau <nbd@nbd.name>
+  TITLE:=Core utilities for embedded Linux
+  URL:=http://busybox.net/
+  DEPENDS:=+BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter
+  USERID:=ntp=123:ntp=123
+endef
+
+define Package/busybox
+  $(call Package/busybox/Default)
+  CONFLICTS:=busybox-selinux
+  VARIANT:=default
+endef
+
+define Package/busybox-selinux
+  $(call Package/busybox/Default)
+  TITLE += with SELinux support
+  DEPENDS += +libselinux
+  VARIANT:=selinux
+  PROVIDES:=busybox
+endef
+
+define Package/busybox/description
+ The Swiss Army Knife of embedded Linux.
+ It slices, it dices, it makes Julian Fries.
+endef
+
+define Package/busybox/config
+	source "$(SOURCE)/Config.in"
+endef
+
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOG)$(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOGD_CFG),)
+define Package/busybox/conffiles/syslog
+/etc/syslog.conf
+endef
+endif
+
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_CROND),)
+define Package/busybox/conffiles/crond
+/etc/crontabs/
+endef
+endif
+
+define Package/busybox/conffiles
+$(Package/busybox/conffiles/syslog)
+$(Package/busybox/conffiles/crond)
+endef
+
+Package/busybox-selinux/conffiles = $(Package/busybox/conffiles)
+
+ifndef CONFIG_USE_MUSL
+LDLIBS:=m crypt
+endif
+
+LDLIBS += $(call BUSYBOX_IF_ENABLED,PAM,pam pam_misc pthread)
+
+ifeq ($(CONFIG_USE_GLIBC),y)
+  LDLIBS += $(call BUSYBOX_IF_ENABLED,NSLOOKUP,resolv)
+endif
+
+ifeq ($(BUILD_VARIANT),selinux)
+  LDLIBS += selinux sepol
+endif
+
+MAKE_VARS :=
+MAKE_FLAGS += \
+	EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
+	EXTRA_LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_CFLAGS)" \
+	LDLIBS="$(LDLIBS)" \
+	LD="$(TARGET_CC)" \
+	SKIP_STRIP=y
+ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
+  MAKE_FLAGS += V=1
+endif
+
+define Build/Configure
+	rm -f $(PKG_BUILD_DIR)/.config
+	touch $(PKG_BUILD_DIR)/.config
+ifeq ($(DEVICE_TYPE),nas)
+	echo "CONFIG_HDPARM=y" >> $(PKG_BUILD_DIR)/.config
+endif
+ifeq ($(BUILD_VARIANT),selinux)
+	cat $(TOPDIR)/$(SOURCE)/selinux.config >> $(PKG_BUILD_DIR)/.config
+endif
+	grep 'CONFIG_BUSYBOX_$(BUSYBOX_SYM)' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_$(BUSYBOX_SYM)_\\(.*\\),\\1CONFIG_\\2,g" >> $(PKG_BUILD_DIR)/.config
+	yes 'n' | $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) oldconfig
+endef
+
+define Build/Compile
+	$(call Build/Compile/Default, \
+		CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
+		all install \
+	)
+endef
+
+define Package/busybox/install
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_DIR) $(1)/usr/sbin
+	$(CP) $(PKG_INSTALL_DIR)/* $(1)/
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOG)$(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOGD_CFG),)
+	touch $(1)/etc/syslog.conf
+endif
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_CROND),)
+	$(INSTALL_BIN) ./files/cron $(1)/etc/init.d/cron
+	$(INSTALL_DIR) $(1)/etc/crontabs
+endif
+ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_NTPD),)
+	$(INSTALL_BIN) ./files/sysntpd $(1)/etc/init.d/sysntpd
+	$(INSTALL_BIN) ./files/ntpd-hotplug $(1)/usr/sbin/ntpd-hotplug
+	$(INSTALL_DIR) $(1)/etc/capabilities $(1)/usr/share/acl.d
+	$(INSTALL_DATA) ./files/ntpd.capabilities $(1)/etc/capabilities/ntpd.json
+	$(INSTALL_DATA) ./files/ntpd_acl.json $(1)/usr/share/acl.d/ntpd.json
+endif
+	-rm -rf $(1)/lib64
+endef
+
+Package/busybox-selinux/install = $(Package/busybox/install)
+
+$(eval $(call BuildPackage,busybox))
+$(eval $(call BuildPackage,busybox-selinux))
diff --git a/package/utils/busybox/config/Config.in b/package/utils/busybox/config/Config.in
new file mode 100644
index 0000000..f306298
--- /dev/null
+++ b/package/utils/busybox/config/Config.in
@@ -0,0 +1,741 @@
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+
+config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
+	bool
+	default BUSYBOX_DEFAULT_HAVE_DOT_CONFIG
+
+menu "Settings"
+
+config BUSYBOX_CONFIG_DESKTOP
+	bool "Enable compatibility for full-blown desktop systems (8kb)"
+	default BUSYBOX_DEFAULT_DESKTOP
+	help
+	Enable applet options and features which are not essential.
+	Many applet options have dedicated config options to (de)select them
+	under that applet; this options enables those options which have no
+	individual config item for them.
+
+	Select this if you plan to use busybox on full-blown desktop machine
+	with common Linux distro, which needs higher level of command-line
+	compatibility.
+
+	If you are preparing your build to be used on an embedded box
+	where you have tighter control over the entire set of userspace
+	tools, you can unselect this option for smaller code size.
+
+config BUSYBOX_CONFIG_EXTRA_COMPAT
+	bool "Provide compatible behavior for rare corner cases (bigger code)"
+	default BUSYBOX_DEFAULT_EXTRA_COMPAT
+	help
+	This option makes grep, sed etc handle rare corner cases
+	(embedded NUL bytes and such). This makes code bigger and uses
+	some GNU extensions in libc. You probably only need this option
+	if you plan to run busybox on desktop.
+
+config BUSYBOX_CONFIG_FEDORA_COMPAT
+	bool "Building for Fedora distribution"
+	default BUSYBOX_DEFAULT_FEDORA_COMPAT
+	help
+	This option makes some tools behave like they do on Fedora.
+
+	At the time of this writing (2017-08) this only affects uname:
+	normally, uname -p (processor) and uname -i (platform)
+	are shown as "unknown", but with this option uname -p
+	shows the same string as uname -m (machine type),
+	and so does uname -i unless machine type is i486/i586/i686 -
+	then uname -i shows "i386".
+
+config BUSYBOX_CONFIG_INCLUDE_SUSv2
+	bool "Enable obsolete features removed before SUSv3"
+	default BUSYBOX_DEFAULT_INCLUDE_SUSv2
+	help
+	This option will enable backwards compatibility with SuSv2,
+	specifically, old-style numeric options ('command -1 <file>')
+	will be supported in head, tail, and fold. (Note: should
+	affect renice too.)
+
+config BUSYBOX_CONFIG_LONG_OPTS
+	bool "Support --long-options"
+	default BUSYBOX_DEFAULT_LONG_OPTS
+	help
+	Enable this if you want busybox applets to use the gnu --long-option
+	style, in addition to single character -a -b -c style options.
+
+config BUSYBOX_CONFIG_SHOW_USAGE
+	bool "Show applet usage messages"
+	default BUSYBOX_DEFAULT_SHOW_USAGE
+	help
+	Enabling this option, applets will show terse help messages
+	when invoked with wrong arguments.
+	If you do not want to show any (helpful) usage message when
+	issuing wrong command syntax, you can say 'N' here,
+	saving approximately 7k.
+
+config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
+	bool "Show verbose applet usage messages"
+	default BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
+	depends on BUSYBOX_CONFIG_SHOW_USAGE
+	help
+	All applets will show verbose help messages when invoked with --help.
+	This will add a lot of text to the binary.
+
+config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
+	bool "Store applet usage messages in compressed form"
+	default BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
+	depends on BUSYBOX_CONFIG_SHOW_USAGE
+	help
+	Store usage messages in .bz2 compressed form, uncompress them
+	on-the-fly when "APPLET --help" is run.
+
+	If you have a really tiny busybox with few applets enabled (and
+	bunzip2 isn't one of them), the overhead of the decompressor might
+	be noticeable. Also, if you run executables directly from ROM
+	and have very little memory, this might not be a win. Otherwise,
+	you probably want this.
+
+config BUSYBOX_CONFIG_LFS
+	bool
+	default BUSYBOX_DEFAULT_LFS
+	help
+	If you need to work with large files, enable this option.
+	This will have no effect if your kernel or your C
+	library lacks large file support for large files. Some of the
+	programs that can benefit from large file support include dd, gzip,
+	cp, mount, tar.
+
+config BUSYBOX_CONFIG_PAM
+	bool "Support PAM (Pluggable Authentication Modules)"
+	default BUSYBOX_DEFAULT_PAM
+	help
+	Use PAM in some applets (currently login and httpd) instead
+	of direct access to password database.
+
+config BUSYBOX_CONFIG_FEATURE_DEVPTS
+	bool "Use the devpts filesystem for Unix98 PTYs"
+	default BUSYBOX_DEFAULT_FEATURE_DEVPTS
+	help
+	Enable if you want to use Unix98 PTY support. If enabled,
+	busybox will use /dev/ptmx for the master side of the pseudoterminal
+	and /dev/pts/<number> for the slave side. Otherwise, BSD style
+	/dev/ttyp<number> will be used. To use this option, you should have
+	devpts mounted.
+
+config BUSYBOX_CONFIG_FEATURE_UTMP
+	bool "Support utmp file"
+	default BUSYBOX_DEFAULT_FEATURE_UTMP
+	help
+	The file /var/run/utmp is used to track who is currently logged in.
+	With this option on, certain applets (getty, login, telnetd etc)
+	will create and delete entries there.
+	"who" applet requires this option.
+
+config BUSYBOX_CONFIG_FEATURE_WTMP
+	bool "Support wtmp file"
+	default BUSYBOX_DEFAULT_FEATURE_WTMP
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	The file /var/run/wtmp is used to track when users have logged into
+	and logged out of the system.
+	With this option on, certain applets (getty, login, telnetd etc)
+	will append new entries there.
+	"last" applet requires this option.
+
+config BUSYBOX_CONFIG_FEATURE_PIDFILE
+	bool "Support writing pidfiles"
+	default BUSYBOX_DEFAULT_FEATURE_PIDFILE
+	help
+	This option makes some applets (e.g. crond, syslogd, inetd) write
+	a pidfile at the configured PID_FILE_PATH.  It has no effect
+	on applets which require pidfiles to run.
+
+config BUSYBOX_CONFIG_PID_FILE_PATH
+	string "Directory for pidfiles"
+	default BUSYBOX_DEFAULT_PID_FILE_PATH
+	depends on BUSYBOX_CONFIG_FEATURE_PIDFILE || BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES
+	help
+	This is the default path where pidfiles are created.  Applets which
+	allow you to set the pidfile path on the command line will override
+	this value.  The option has no effect on applets that require you to
+	specify a pidfile path.  When crond has the 'Support special times'
+	option enabled, the 'crond.reboot' file is also stored here.
+
+config BUSYBOX_CONFIG_BUSYBOX
+	bool "Include busybox applet"
+	default BUSYBOX_DEFAULT_BUSYBOX
+	help
+	The busybox applet provides general help message and allows
+	the included applets to be listed.  It also provides
+	optional --install command to create applet links. If you unselect
+	this option, running busybox without any arguments will give
+	just a cryptic error message:
+
+	$ busybox
+	busybox: applet not found
+
+	Running "busybox APPLET [ARGS...]" will still work, of course.
+
+config BUSYBOX_CONFIG_FEATURE_SHOW_SCRIPT
+	bool "Support --show SCRIPT"
+	default BUSYBOX_DEFAULT_FEATURE_SHOW_SCRIPT
+	depends on BUSYBOX_CONFIG_BUSYBOX
+
+config BUSYBOX_CONFIG_FEATURE_INSTALLER
+	bool "Support --install [-s] to install applet links at runtime"
+	default BUSYBOX_DEFAULT_FEATURE_INSTALLER
+	depends on BUSYBOX_CONFIG_BUSYBOX
+	help
+	Enable 'busybox --install [-s]' support. This will allow you to use
+	busybox at runtime to create hard links or symlinks for all the
+	applets that are compiled into busybox.
+
+config BUSYBOX_CONFIG_INSTALL_NO_USR
+	bool "Don't use /usr"
+	default BUSYBOX_DEFAULT_INSTALL_NO_USR
+	help
+	Disable use of /usr. "busybox --install" and "make install"
+	will install applets only to /bin and /sbin,
+	never to /usr/bin or /usr/sbin.
+
+config BUSYBOX_CONFIG_FEATURE_SUID
+	bool "Drop SUID state for most applets"
+	default BUSYBOX_DEFAULT_FEATURE_SUID
+	help
+	With this option you can install the busybox binary belonging
+	to root with the suid bit set, enabling some applets to perform
+	root-level operations even when run by ordinary users
+	(for example, mounting of user mounts in fstab needs this).
+
+	With this option enabled, busybox drops privileges for applets
+	that don't need root access, before entering their main() function.
+
+	If you are really paranoid and don't want even initial busybox code
+	to run under root for every applet, build two busybox binaries with
+	different applets in them (and the appropriate symlinks pointing
+	to each binary), and only set the suid bit on the one that needs it.
+
+	Some applets which require root rights (need suid bit on the binary
+	or to be run by root) and will refuse to execute otherwise:
+	crontab, login, passwd, su, vlock, wall.
+
+	The applets which will use root rights if they have them
+	(via suid bit, or because run by root), but would try to work
+	without root right nevertheless:
+	findfs, ping[6], traceroute[6], mount.
+
+	Note that if you DO NOT select this option, but DO make busybox
+	suid root, ALL applets will run under root, which is a huge
+	security hole (think "cp /some/file /etc/passwd").
+
+config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
+	bool "Enable SUID configuration via /etc/busybox.conf"
+	default BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG
+	depends on BUSYBOX_CONFIG_FEATURE_SUID
+	help
+	Allow the SUID/SGID state of an applet to be determined at runtime
+	by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
+	The format of this file is as follows:
+
+	APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
+
+	s: USER or GROUP is allowed to execute APPLET.
+	   APPLET will run under USER or GROUP
+	   (regardless of who's running it).
+	S: USER or GROUP is NOT allowed to execute APPLET.
+	   APPLET will run under USER or GROUP.
+	   This option is not very sensical.
+	x: USER/GROUP/others are allowed to execute APPLET.
+	   No UID/GID change will be done when it is run.
+	-: USER/GROUP/others are not allowed to execute APPLET.
+
+	An example might help:
+
+	|[SUID]
+	|su = ssx root.0 # applet su can be run by anyone and runs with
+	|                # euid=0,egid=0
+	|su = ssx        # exactly the same
+	|
+	|mount = sx- root.disk # applet mount can be run by root and members
+	|                      # of group disk (but not anyone else)
+	|                      # and runs with euid=0 (egid is not changed)
+	|
+	|cp = --- # disable applet cp for everyone
+
+	The file has to be owned by user root, group root and has to be
+	writeable only by root:
+		(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
+	The busybox executable has to be owned by user root, group
+	root and has to be setuid root for this to work:
+		(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+
+	Robert 'sandman' Griebl has more information here:
+	<url: http://www.softforge.de/bb/suid.html >.
+
+config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
+	bool "Suppress warning message if /etc/busybox.conf is not readable"
+	default BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG_QUIET
+	depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
+	help
+	/etc/busybox.conf should be readable by the user needing the SUID,
+	check this option to avoid users to be notified about missing
+	permissions.
+
+config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+	bool "exec prefers applets"
+	default BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
+	help
+	This is an experimental option which directs applets about to
+	call 'exec' to try and find an applicable busybox applet before
+	searching the PATH. This is typically done by exec'ing
+	/proc/self/exe.
+
+	This may affect shell, find -exec, xargs and similar applets.
+	They will use applets even if /bin/APPLET -> busybox link
+	is missing (or is not a link to busybox). However, this causes
+	problems in chroot jails without mounted /proc and with ps/top
+	(command name can be shown as 'exe' for applets started this way).
+
+config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
+	string "Path to busybox executable"
+	default BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
+	help
+	When applets need to run other applets, busybox
+	sometimes needs to exec() itself. When the /proc filesystem is
+	mounted, /proc/self/exe always points to the currently running
+	executable. If you haven't got /proc, set this to wherever you
+	want to run busybox from.
+
+config BUSYBOX_CONFIG_SELINUX
+	bool "Support NSA Security Enhanced Linux"
+	default BUSYBOX_DEFAULT_SELINUX
+	help
+	Enable support for SELinux in applets ls, ps, and id. Also provide
+	the option of compiling in SELinux applets.
+
+	If you do not have a complete SELinux userland installed, this stuff
+	will not compile.  Specifially, libselinux 1.28 or better is
+	directly required by busybox. If the installation is located in a
+	non-standard directory, provide it by invoking make as follows:
+
+		CFLAGS=-I<libselinux-include-path> \
+		LDFLAGS=-L<libselinux-lib-path> \
+		make
+
+	Most people will leave this set to 'N'.
+
+config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
+	bool "Clean up all memory before exiting (usually not needed)"
+	default BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
+	help
+	As a size optimization, busybox normally exits without explicitly
+	freeing dynamically allocated memory or closing files. This saves
+	space since the OS will clean up for us, but it can confuse debuggers
+	like valgrind, which report tons of memory and resource leaks.
+
+	Don't enable this unless you have a really good reason to clean
+	things up manually.
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOG_INFO
+	bool "Support LOG_INFO level syslog messages"
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOG_INFO
+	depends on BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	Applets which send their output to syslog use either LOG_INFO or
+	LOG_ERR log levels, but by disabling this option all messages will
+	be logged at the LOG_ERR level, saving just under 200 bytes.
+
+# These are auto-selected by other options
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOG
+	bool #No description makes it a hidden option
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOG
+	#help
+	#This option is auto-selected when you select any applet which may
+	#send its output to syslog. You do not need to select it manually.
+
+comment 'Build Options'
+
+config BUSYBOX_CONFIG_STATIC
+	bool "Build static binary (no shared libs)"
+	default BUSYBOX_DEFAULT_STATIC
+	help
+	If you want to build a static binary, which does not use
+	or require any shared libraries, enable this option.
+	Static binaries are larger, but do not require functioning
+	dynamic libraries to be present, which is important if used
+	as a system rescue tool.
+
+config BUSYBOX_CONFIG_PIE
+	bool "Build position independent executable"
+	default BUSYBOX_DEFAULT_PIE
+	depends on !BUSYBOX_CONFIG_STATIC
+	help
+	Hardened code option. PIE binaries are loaded at a different
+	address at each invocation. This has some overhead,
+	particularly on x86-32 which is short on registers.
+
+	Most people will leave this set to 'N'.
+
+config BUSYBOX_CONFIG_NOMMU
+	bool "Force NOMMU build"
+	default BUSYBOX_DEFAULT_NOMMU
+	help
+	Busybox tries to detect whether architecture it is being
+	built against supports MMU or not. If this detection fails,
+	or if you want to build NOMMU version of busybox for testing,
+	you may force NOMMU build here.
+
+	Most people will leave this set to 'N'.
+
+# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
+# build system does not support that
+config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+	bool "Build shared libbusybox"
+	default BUSYBOX_DEFAULT_BUILD_LIBBUSYBOX
+	depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
+	help
+	Build a shared library libbusybox.so.N.N.N which contains all
+	busybox code.
+
+	This feature allows every applet to be built as a really tiny
+	separate executable linked against the library:
+	|$ size 0_lib/l*
+	|    text  data   bss     dec    hex filename
+	|     939   212    28    1179    49b 0_lib/last
+	|     939   212    28    1179    49b 0_lib/less
+	|  919138  8328  1556  929022  e2cfe 0_lib/libbusybox.so.1.N.M
+
+	This is useful on NOMMU systems which are not capable
+	of sharing executables, but are capable of sharing code
+	in dynamic libraries.
+
+config BUSYBOX_CONFIG_FEATURE_LIBBUSYBOX_STATIC
+	bool "Pull in all external references into libbusybox"
+	default BUSYBOX_DEFAULT_FEATURE_LIBBUSYBOX_STATIC
+	depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+	help
+	Make libbusybox library independent, not using or requiring
+	any other shared libraries.
+
+config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
+	bool "Produce a binary for each applet, linked against libbusybox"
+	default BUSYBOX_DEFAULT_FEATURE_INDIVIDUAL
+	depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+	help
+	If your CPU architecture doesn't allow for sharing text/rodata
+	sections of running binaries, but allows for runtime dynamic
+	libraries, this option will allow you to reduce memory footprint
+	when you have many different applets running at once.
+
+	If your CPU architecture allows for sharing text/rodata,
+	having single binary is more optimal.
+
+	Each applet will be a tiny program, dynamically linked
+	against libbusybox.so.N.N.N.
+
+	You need to have a working dynamic linker.
+
+config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
+	bool "Produce additional busybox binary linked against libbusybox"
+	default BUSYBOX_DEFAULT_FEATURE_SHARED_BUSYBOX
+	depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+	help
+	Build busybox, dynamically linked against libbusybox.so.N.N.N.
+
+	You need to have a working dynamic linker.
+
+### config BUILD_AT_ONCE
+###	bool "Compile all sources at once"
+###	default n
+###	help
+###	Normally each source-file is compiled with one invocation of
+###	the compiler.
+###	If you set this option, all sources are compiled at once.
+###	This gives the compiler more opportunities to optimize which can
+###	result in smaller and/or faster binaries.
+###
+###	Setting this option will consume alot of memory, e.g. if you
+###	enable all applets with all features, gcc uses more than 300MB
+###	RAM during compilation of busybox.
+###
+###	This option is most likely only beneficial for newer compilers
+###	such as gcc-4.1 and above.
+###
+###	Say 'N' unless you know what you are doing.
+
+config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
+	string "Cross compiler prefix"
+	default BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX
+	help
+	If you want to build busybox with a cross compiler, then you
+	will need to set this to the cross-compiler prefix, for example,
+	"i386-uclibc-".
+
+	Note that CROSS_COMPILE environment variable or
+	"make CROSS_COMPILE=xxx ..." will override this selection.
+
+	Native builds leave this empty.
+
+config BUSYBOX_CONFIG_SYSROOT
+	string "Path to sysroot"
+	default BUSYBOX_DEFAULT_SYSROOT
+	help
+	If you want to build busybox with a cross compiler, then you
+	might also need to specify where /usr/include and /usr/lib
+	will be found.
+
+	For example, busybox can be built against an installed
+	Android NDK, platform version 9, for ARM ABI with
+
+	CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
+
+	Native builds leave this empty.
+
+config BUSYBOX_CONFIG_EXTRA_CFLAGS
+	string "Additional CFLAGS"
+	default BUSYBOX_DEFAULT_EXTRA_CFLAGS
+	help
+	Additional CFLAGS to pass to the compiler verbatim.
+
+config BUSYBOX_CONFIG_EXTRA_LDFLAGS
+	string "Additional LDFLAGS"
+	default BUSYBOX_DEFAULT_EXTRA_LDFLAGS
+	help
+	Additional LDFLAGS to pass to the linker verbatim.
+
+config BUSYBOX_CONFIG_EXTRA_LDLIBS
+	string "Additional LDLIBS"
+	default BUSYBOX_DEFAULT_EXTRA_LDLIBS
+	help
+	Additional LDLIBS to pass to the linker with -l.
+
+config BUSYBOX_CONFIG_USE_PORTABLE_CODE
+	bool "Avoid using GCC-specific code constructs"
+	default BUSYBOX_DEFAULT_USE_PORTABLE_CODE
+	help
+	Use this option if you are trying to compile busybox with
+	compiler other than gcc.
+	If you do use gcc, this option may needlessly increase code size.
+
+config BUSYBOX_CONFIG_STACK_OPTIMIZATION_386
+	bool "Use -mpreferred-stack-boundary=2 on i386 arch"
+	default BUSYBOX_DEFAULT_STACK_OPTIMIZATION_386
+	help
+	This option makes for smaller code, but some libc versions
+	do not work with it (they use SSE instructions without
+	ensuring stack alignment).
+
+config BUSYBOX_CONFIG_STATIC_LIBGCC
+	bool "Use -static-libgcc"
+	default BUSYBOX_DEFAULT_STATIC_LIBGCC
+	help
+	This option instructs gcc to link in a static version of its
+	support library, libgcc. This means that the binary will require
+	one fewer dynamic library at run time.
+
+comment 'Installation Options ("make install" behavior)'
+
+choice
+	prompt "What kind of applet links to install"
+	default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
+	help
+	Choose what kind of links to applets are created by "make install".
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
+	bool "as soft-links"
+	help
+	Install applets as soft-links to the busybox binary. This needs some
+	free inodes on the filesystem, but might help with filesystem
+	generators that can't cope with hard-links.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
+	bool "as hard-links"
+	help
+	Install applets as hard-links to the busybox binary. This might
+	count on a filesystem with few inodes.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
+	bool "as script wrappers"
+	help
+	Install applets as script wrappers that call the busybox binary.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
+	bool "not installed"
+	help
+	Do not install applet links. Useful when you plan to use
+	busybox --install for installing links, or plan to use
+	a standalone shell and thus don't need applet links.
+
+endchoice
+
+choice
+	prompt "/bin/sh applet link"
+	default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
+	depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
+	help
+	Choose how you install /bin/sh applet link.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
+	bool "as soft-link"
+	help
+	Install /bin/sh applet as soft-link to the busybox binary.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
+	bool "as hard-link"
+	help
+	Install /bin/sh applet as hard-link to the busybox binary.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
+	bool "as script wrapper"
+	help
+	Install /bin/sh applet as script wrapper that calls
+	the busybox binary.
+
+endchoice
+
+config BUSYBOX_CONFIG_PREFIX
+	string "Destination path for 'make install'"
+	default BUSYBOX_DEFAULT_PREFIX
+	help
+	Where "make install" should install busybox binary and links.
+
+comment 'Debugging Options'
+
+config BUSYBOX_CONFIG_DEBUG
+	bool "Build with debug information"
+	default BUSYBOX_DEFAULT_DEBUG
+	help
+	Say Y here to compile with debug information.
+	This increases the size of the binary considerably, and
+	should only be used when doing development.
+
+	This adds -g option to gcc command line.
+
+	Most people should answer N.
+
+config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
+	bool "Disable compiler optimizations"
+	default BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
+	depends on BUSYBOX_CONFIG_DEBUG
+	help
+	The compiler's optimization of source code can eliminate and reorder
+	code, resulting in an executable that's hard to understand when
+	stepping through it with a debugger. This switches it off, resulting
+	in a much bigger executable that more closely matches the source
+	code.
+
+	This replaces -Os/-O2 with -O0 in gcc command line.
+
+config BUSYBOX_CONFIG_DEBUG_SANITIZE
+	bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
+	default BUSYBOX_DEFAULT_DEBUG_SANITIZE
+	help
+	Say Y here if you want to enable runtime sanitizers. These help
+	catch bad memory accesses (e.g. buffer overflows), but will make
+	the executable larger and slow down runtime a bit.
+
+	This adds -fsanitize=foo options to gcc command line.
+
+	If you aren't developing/testing busybox, say N here.
+
+config BUSYBOX_CONFIG_UNIT_TEST
+	bool "Build unit tests"
+	default BUSYBOX_DEFAULT_UNIT_TEST
+	help
+	Say Y here if you want to build unit tests (both the framework and
+	test cases) as an applet. This results in bigger code, so you
+	probably don't want this option in production builds.
+
+config BUSYBOX_CONFIG_WERROR
+	bool "Abort compilation on any warning"
+	default BUSYBOX_DEFAULT_WERROR
+	help
+	This adds -Werror to gcc command line.
+
+	Most people should answer N.
+
+config BUSYBOX_CONFIG_WARN_SIMPLE_MSG
+	bool "Warn about single parameter bb_xx_msg calls"
+	default BUSYBOX_DEFAULT_WARN_SIMPLE_MSG
+	help
+	This will cause warnings to be shown for any instances of
+	bb_error_msg(), bb_error_msg_and_die(), bb_perror_msg(),
+	bb_perror_msg_and_die(), bb_herror_msg() or bb_herror_msg_and_die()
+	being called with a single parameter. In these cases the equivalent
+	bb_simple_xx_msg function should be used instead.
+	Note that use of STRERROR_FMT may give false positives.
+
+	If you aren't developing busybox, say N here.
+
+choice
+	prompt "Additional debugging library"
+	default BUSYBOX_CONFIG_NO_DEBUG_LIB
+	help
+	Using an additional debugging library will make busybox become
+	considerably larger and will cause it to run more slowly. You
+	should always leave this option disabled for production use.
+
+	dmalloc support:
+	----------------
+	This enables compiling with dmalloc ( http://dmalloc.com/ )
+	which is an excellent public domain mem leak and malloc problem
+	detector. To enable dmalloc, before running busybox you will
+	want to properly set your environment, for example:
+		export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
+	The 'debug=' value is generated using the following command
+	dmalloc -p log-stats -p log-non-free -p log-bad-space \
+		-p log-elapsed-time -p check-fence -p check-heap \
+		-p check-lists -p check-blank -p check-funcs -p realloc-copy \
+		-p allow-free-null
+
+	Electric-fence support:
+	-----------------------
+	This enables compiling with Electric-fence support. Electric
+	fence is another very useful malloc debugging library which uses
+	your computer's virtual memory hardware to detect illegal memory
+	accesses. This support will make busybox be considerably larger
+	and run slower, so you should leave this option disabled unless
+	you are hunting a hard to find memory problem.
+
+
+config BUSYBOX_CONFIG_NO_DEBUG_LIB
+	bool "None"
+
+config BUSYBOX_CONFIG_DMALLOC
+	bool "Dmalloc"
+
+config BUSYBOX_CONFIG_EFENCE
+	bool "Electric-fence"
+
+endchoice
+
+source "libbb/Config.in"
+
+endmenu
+
+comment "Applets"
+
+source "archival/Config.in"
+source "coreutils/Config.in"
+source "console-tools/Config.in"
+source "debianutils/Config.in"
+source "klibc-utils/Config.in"
+source "editors/Config.in"
+source "findutils/Config.in"
+source "init/Config.in"
+source "loginutils/Config.in"
+source "e2fsprogs/Config.in"
+source "modutils/Config.in"
+source "util-linux/Config.in"
+source "miscutils/Config.in"
+source "networking/Config.in"
+source "printutils/Config.in"
+source "mailutils/Config.in"
+source "procps/Config.in"
+source "runit/Config.in"
+source "selinux/Config.in"
+source "shell/Config.in"
+source "sysklogd/Config.in"
diff --git a/package/utils/busybox/config/archival/Config.in b/package/utils/busybox/config/archival/Config.in
new file mode 100644
index 0000000..ac2b3d2
--- /dev/null
+++ b/package/utils/busybox/config/archival/Config.in
@@ -0,0 +1,450 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Archival Utilities"
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
+	bool "Make tar, rpm, modprobe etc understand .xz data"
+	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
+	bool "Make tar, rpm, modprobe etc understand .lzma data"
+	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_LZMA
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2
+	bool "Make tar, rpm, modprobe etc understand .bz2 data"
+	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_BZ2
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
+	bool "Make tar, rpm, modprobe etc understand .gz data"
+	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ
+
+config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
+	bool "Make tar, rpm, modprobe etc understand .Z data"
+	default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z  # it is ancient
+
+config BUSYBOX_CONFIG_AR
+	bool "ar (9.5 kb)"
+	default BUSYBOX_DEFAULT_AR  # needs to be improved to be able to replace binutils ar
+	help
+	ar is an archival utility program used to create, modify, and
+	extract contents from archives. In practice, it is used exclusively
+	for object module archives used by compilers.
+
+	Unless you have a specific application which requires ar, you should
+	probably say N here: most compilers come with their own ar utility.
+
+config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
+	bool "Support long filenames (not needed for debs)"
+	default BUSYBOX_DEFAULT_FEATURE_AR_LONG_FILENAMES
+	depends on BUSYBOX_CONFIG_AR
+	help
+	By default the ar format can only store the first 15 characters
+	of the filename, this option removes that limitation.
+	It supports the GNU ar long filename method which moves multiple long
+	filenames into a the data section of a new ar entry.
+
+config BUSYBOX_CONFIG_FEATURE_AR_CREATE
+	bool "Support archive creation"
+	default BUSYBOX_DEFAULT_FEATURE_AR_CREATE
+	depends on BUSYBOX_CONFIG_AR
+	help
+	This enables archive creation (-c and -r) with busybox ar.
+config BUSYBOX_CONFIG_UNCOMPRESS
+	bool "uncompress (7.1 kb)"
+	default BUSYBOX_DEFAULT_UNCOMPRESS  # ancient
+	help
+	uncompress is used to decompress archives created by compress.
+	Not much used anymore, replaced by gzip/gunzip.
+config BUSYBOX_CONFIG_GUNZIP
+	bool "gunzip (11 kb)"
+	default BUSYBOX_DEFAULT_GUNZIP
+	select BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS
+	help
+	gunzip is used to decompress archives created by gzip.
+	You can use the '-t' option to test the integrity of
+	an archive, without decompressing it.
+
+config BUSYBOX_CONFIG_ZCAT
+	bool "zcat (24 kb)"
+	default BUSYBOX_DEFAULT_ZCAT
+	select BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS
+	help
+	Alias to "gunzip -c".
+
+config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
+	depends on (BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT) && BUSYBOX_CONFIG_LONG_OPTS
+config BUSYBOX_CONFIG_BUNZIP2
+	bool "bunzip2 (8.7 kb)"
+	default BUSYBOX_DEFAULT_BUNZIP2
+	select BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS
+	help
+	bunzip2 is a compression utility using the Burrows-Wheeler block
+	sorting text compression algorithm, and Huffman coding. Compression
+	is generally considerably better than that achieved by more
+	conventional LZ77/LZ78-based compressors, and approaches the
+	performance of the PPM family of statistical compressors.
+
+	Unless you have a specific application which requires bunzip2, you
+	should probably say N here.
+
+config BUSYBOX_CONFIG_BZCAT
+	bool "bzcat (8.7 kb)"
+	default BUSYBOX_DEFAULT_BZCAT
+	select BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS
+	help
+	Alias to "bunzip2 -c".
+config BUSYBOX_CONFIG_UNLZMA
+	bool "unlzma (7.5 kb)"
+	default BUSYBOX_DEFAULT_UNLZMA
+	help
+	unlzma is a compression utility using the Lempel-Ziv-Markov chain
+	compression algorithm, and range coding. Compression
+	is generally considerably better than that achieved by the bzip2
+	compressors.
+
+config BUSYBOX_CONFIG_LZCAT
+	bool "lzcat (7.5 kb)"
+	default BUSYBOX_DEFAULT_LZCAT
+	help
+	Alias to "unlzma -c".
+
+config BUSYBOX_CONFIG_LZMA
+	bool "lzma -d"
+	default BUSYBOX_DEFAULT_LZMA
+	help
+	Enable this option if you want commands like "lzma -d" to work.
+	IOW: you'll get lzma applet, but it will always require -d option.
+config BUSYBOX_CONFIG_UNXZ
+	bool "unxz (13 kb)"
+	default BUSYBOX_DEFAULT_UNXZ
+	help
+	unxz is a unlzma successor.
+
+config BUSYBOX_CONFIG_XZCAT
+	bool "xzcat (13 kb)"
+	default BUSYBOX_DEFAULT_XZCAT
+	help
+	Alias to "unxz -c".
+
+config BUSYBOX_CONFIG_XZ
+	bool "xz -d"
+	default BUSYBOX_DEFAULT_XZ
+	help
+	Enable this option if you want commands like "xz -d" to work.
+	IOW: you'll get xz applet, but it will always require -d option.
+config BUSYBOX_CONFIG_BZIP2
+	bool "bzip2 (16 kb)"
+	default BUSYBOX_DEFAULT_BZIP2
+	help
+	bzip2 is a compression utility using the Burrows-Wheeler block
+	sorting text compression algorithm, and Huffman coding. Compression
+	is generally considerably better than that achieved by more
+	conventional LZ77/LZ78-based compressors, and approaches the
+	performance of the PPM family of statistical compressors.
+
+	Unless you have a specific application which requires bzip2, you
+	should probably say N here.
+
+config BUSYBOX_CONFIG_BZIP2_SMALL
+	int "Trade bytes for speed (0:fast, 9:small)"
+	default BUSYBOX_DEFAULT_BZIP2_SMALL  # all "fast or small" options default to small
+	range 0 9
+	depends on BUSYBOX_CONFIG_BZIP2
+	help
+	Trade code size versus speed.
+	Approximate values with gcc-6.3.0 "bzip -9" compressing
+	linux-4.15.tar were:
+	value         time (sec)  code size (386)
+	9 (smallest)       70.11             7687
+	8                  67.93             8091
+	7                  67.88             8405
+	6                  67.78             8624
+	5                  67.05             9427
+	4-0 (fastest)      64.14            12083
+
+config BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS
+	bool "Enable decompression"
+	default BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS
+	depends on BUSYBOX_CONFIG_BZIP2 || BUSYBOX_CONFIG_BUNZIP2 || BUSYBOX_CONFIG_BZCAT
+	help
+	Enable -d (--decompress) and -t (--test) options for bzip2.
+	This will be automatically selected if bunzip2 or bzcat is
+	enabled.
+config BUSYBOX_CONFIG_CPIO
+	bool "cpio (15 kb)"
+	default BUSYBOX_DEFAULT_CPIO
+	help
+	cpio is an archival utility program used to create, modify, and
+	extract contents from archives.
+	cpio has 110 bytes of overheads for every stored file.
+
+	This implementation of cpio can extract cpio archives created in the
+	"newc" or "crc" format.
+
+	Unless you have a specific application which requires cpio, you
+	should probably say N here.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_O
+	bool "Support archive creation"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_O
+	depends on BUSYBOX_CONFIG_CPIO
+	help
+	This implementation of cpio can create cpio archives in the "newc"
+	format only.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_P
+	bool "Support passthrough mode"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_P
+	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
+	help
+	Passthrough mode. Rarely used.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_IGNORE_DEVNO
+	bool "Support --ignore-devno like GNU cpio"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO
+	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Optionally ignore device numbers when creating archives.
+
+config BUSYBOX_CONFIG_FEATURE_CPIO_RENUMBER_INODES
+	bool "Support --renumber-inodes like GNU cpio"
+	default BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES
+	depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Optionally renumber inodes when creating archives.
+config BUSYBOX_CONFIG_DPKG
+	bool "dpkg (43 kb)"
+	default BUSYBOX_DEFAULT_DPKG
+	select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
+	help
+	dpkg is a medium-level tool to install, build, remove and manage
+	Debian packages.
+
+	This implementation of dpkg has a number of limitations,
+	you should use the official dpkg if possible.
+config BUSYBOX_CONFIG_DPKG_DEB
+	bool "dpkg-deb (30 kb)"
+	default BUSYBOX_DEFAULT_DPKG_DEB
+	select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
+	help
+	dpkg-deb unpacks and provides information about Debian archives.
+
+	This implementation of dpkg-deb cannot pack archives.
+
+	Unless you have a specific application which requires dpkg-deb,
+	say N here.
+config BUSYBOX_CONFIG_GZIP
+	bool "gzip (17 kb)"
+	default BUSYBOX_DEFAULT_GZIP
+	help
+	gzip is used to compress files.
+	It's probably the most widely used UNIX compression program.
+
+config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_GZIP_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_GZIP_FAST
+	int "Trade memory for speed (0:small,slow - 2:fast,big)"
+	default BUSYBOX_DEFAULT_GZIP_FAST
+	range 0 2
+	depends on BUSYBOX_CONFIG_GZIP
+	help
+	Enable big memory options for gzip.
+	0: small buffers, small hash-tables
+	1: larger buffers, larger hash-tables
+	2: larger buffers, largest hash-tables
+	Larger models may give slightly better compression
+
+config BUSYBOX_CONFIG_FEATURE_GZIP_LEVELS
+	bool "Enable compression levels"
+	default BUSYBOX_DEFAULT_FEATURE_GZIP_LEVELS
+	depends on BUSYBOX_CONFIG_GZIP
+	help
+	Enable support for compression levels 4-9. The default level
+	is 6. If levels 1-3 are specified, 4 is used.
+	If this option is not selected, -N options are ignored and -6
+	is used.
+
+config BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS
+	bool "Enable decompression"
+	default BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS
+	depends on BUSYBOX_CONFIG_GZIP || BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT
+	help
+	Enable -d (--decompress) and -t (--test) options for gzip.
+	This will be automatically selected if gunzip or zcat is
+	enabled.
+config BUSYBOX_CONFIG_LZOP
+	bool "lzop (12 kb)"
+	default BUSYBOX_DEFAULT_LZOP
+	help
+	Lzop compression/decompresion.
+
+config BUSYBOX_CONFIG_UNLZOP
+	bool "unlzop (13 kb)"
+	default BUSYBOX_DEFAULT_UNLZOP  # INCOMPAT: upstream lzop does not provide such tool
+	help
+	Lzop decompresion.
+
+config BUSYBOX_CONFIG_LZOPCAT
+	bool "lzopcat (13 kb)"
+	default BUSYBOX_DEFAULT_LZOPCAT  # INCOMPAT: upstream lzop does not provide such tool
+	help
+	Alias to "lzop -dc".
+
+config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
+	bool "lzop compression levels 7,8,9 (not very useful)"
+	default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH
+	depends on BUSYBOX_CONFIG_LZOP || BUSYBOX_CONFIG_UNLZOP || BUSYBOX_CONFIG_LZOPCAT
+	help
+	High levels (7,8,9) of lzop compression. These levels
+	are actually slower than gzip at equivalent compression ratios
+	and take up 3.2K of code.
+config BUSYBOX_CONFIG_RPM
+	bool "rpm (32 kb)"
+	default BUSYBOX_DEFAULT_RPM
+	help
+	Mini RPM applet - queries and extracts RPM packages.
+config BUSYBOX_CONFIG_RPM2CPIO
+	bool "rpm2cpio (21 kb)"
+	default BUSYBOX_DEFAULT_RPM2CPIO
+	help
+	Converts a RPM file into a CPIO archive.
+config BUSYBOX_CONFIG_TAR
+	bool "tar (39 kb)"
+	default BUSYBOX_DEFAULT_TAR
+	help
+	tar is an archiving program. It's commonly used with gzip to
+	create compressed archives. It's probably the most widely used
+	UNIX archive program.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
+	bool "Enable -c (archive creation)"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_CREATE
+	depends on BUSYBOX_CONFIG_TAR
+
+config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
+	bool "Autodetect compressed tarballs"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_AUTODETECT
+	depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
+	help
+	With this option tar can automatically detect compressed
+	tarballs. Currently it works only on files (not pipes etc).
+
+config BUSYBOX_CONFIG_FEATURE_TAR_FROM
+	bool "Enable -X (exclude from) and -T (include from) options"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_FROM
+	depends on BUSYBOX_CONFIG_TAR
+	help
+	If you enable this option you'll be able to specify
+	a list of files to include or exclude from an archive.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
+	bool "Support old tar header format"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_OLDGNU_COMPATIBILITY
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
+	help
+	This option is required to unpack archives created in
+	the old GNU format; help to kill this old format by
+	repacking your ancient archives with the new format.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
+	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_OLDSUN_COMPATIBILITY
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
+	help
+	This option is required to unpack archives created by some old
+	version of Sun's tar (it was calculating checksum using signed
+	arithmetic). It is said to be fixed in newer Sun tar, but "old"
+	tarballs still exist.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
+	bool "Support GNU tar extensions (long filenames)"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS
+	depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
+
+config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
+	bool "Support writing to an external program (--to-command)"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_TO_COMMAND
+	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
+	help
+	If you enable this option you'll be able to instruct tar to send
+	the contents of each extracted file to the standard input of an
+	external program.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
+	bool "Enable use of user and group names"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_UNAME_GNAME
+	depends on BUSYBOX_CONFIG_TAR
+	help
+	Enable use of user and group names in tar. This affects contents
+	listings (-t) and preserving permissions when unpacking (-p).
+	+200 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
+	bool "Enable -m (do not preserve time) GNU option"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_NOPRESERVE_TIME
+	depends on BUSYBOX_CONFIG_TAR
+
+config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
+	bool "Support extracting SELinux labels"
+	default BUSYBOX_DEFAULT_FEATURE_TAR_SELINUX
+	depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
+	help
+	With this option busybox supports restoring SELinux labels
+	when extracting files from tar archives.
+config BUSYBOX_CONFIG_UNZIP
+	bool "unzip (26 kb)"
+	default BUSYBOX_DEFAULT_UNZIP
+	help
+	unzip will list or extract files from a ZIP archive,
+	commonly found on DOS/WIN systems. The default behavior
+	(with no options) is to extract the archive into the
+	current directory.
+
+config BUSYBOX_CONFIG_FEATURE_UNZIP_CDF
+	bool "Read and use Central Directory data"
+	default BUSYBOX_DEFAULT_FEATURE_UNZIP_CDF
+	depends on BUSYBOX_CONFIG_UNZIP
+	help
+	If you know that you only need to deal with simple
+	ZIP files without deleted/updated files, SFX archives etc,
+	you can reduce code size by unselecting this option.
+	To support less trivial ZIPs, say Y.
+
+config BUSYBOX_CONFIG_FEATURE_UNZIP_BZIP2
+	bool "Support compression method 12 (bzip2)"
+	default BUSYBOX_DEFAULT_FEATURE_UNZIP_BZIP2
+	depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
+
+config BUSYBOX_CONFIG_FEATURE_UNZIP_LZMA
+	bool "Support compression method 14 (lzma)"
+	default BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA
+	depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
+
+config BUSYBOX_CONFIG_FEATURE_UNZIP_XZ
+	bool "Support compression method 95 (xz)"
+	default BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
+	depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
+
+config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
+	bool "Optimize lzma for speed"
+	default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
+	depends on BUSYBOX_CONFIG_UNLZMA || BUSYBOX_CONFIG_LZCAT || BUSYBOX_CONFIG_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
+	help
+	This option reduces decompression time by about 25% at the cost of
+	a 1K bigger binary.
+
+endmenu
diff --git a/package/utils/busybox/config/console-tools/Config.in b/package/utils/busybox/config/console-tools/Config.in
new file mode 100644
index 0000000..cf224e5
--- /dev/null
+++ b/package/utils/busybox/config/console-tools/Config.in
@@ -0,0 +1,144 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Console Utilities"
+
+config BUSYBOX_CONFIG_CHVT
+	bool "chvt (2 kb)"
+	default BUSYBOX_DEFAULT_CHVT
+	help
+	This program is used to change to another terminal.
+	Example: chvt 4 (change to terminal /dev/tty4)
+config BUSYBOX_CONFIG_CLEAR
+	bool "clear (tiny)"
+	default BUSYBOX_DEFAULT_CLEAR
+	help
+	This program clears the terminal screen.
+config BUSYBOX_CONFIG_DEALLOCVT
+	bool "deallocvt (1.9 kb)"
+	default BUSYBOX_DEFAULT_DEALLOCVT
+	help
+	This program deallocates unused virtual consoles.
+config BUSYBOX_CONFIG_DUMPKMAP
+	bool "dumpkmap (1.6 kb)"
+	default BUSYBOX_DEFAULT_DUMPKMAP
+	help
+	This program dumps the kernel's keyboard translation table to
+	stdout, in binary format. You can then use loadkmap to load it.
+config BUSYBOX_CONFIG_FGCONSOLE
+	bool "fgconsole (1.5 kb)"
+	default BUSYBOX_DEFAULT_FGCONSOLE
+	help
+	This program prints active (foreground) console number.
+config BUSYBOX_CONFIG_KBD_MODE
+	bool "kbd_mode (4.1 kb)"
+	default BUSYBOX_DEFAULT_KBD_MODE
+	help
+	This program reports and sets keyboard mode.
+config BUSYBOX_CONFIG_LOADFONT
+	bool "loadfont (5.2 kb)"
+	default BUSYBOX_DEFAULT_LOADFONT
+	help
+	This program loads a console font from standard input.
+
+config BUSYBOX_CONFIG_SETFONT
+	bool "setfont (24 kb)"
+	default BUSYBOX_DEFAULT_SETFONT
+	help
+	Allows to load console screen map. Useful for i18n.
+
+config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
+	bool "Support reading textual screen maps"
+	default BUSYBOX_DEFAULT_FEATURE_SETFONT_TEXTUAL_MAP
+	depends on BUSYBOX_CONFIG_SETFONT
+	help
+	Support reading textual screen maps.
+
+config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
+	string "Default directory for console-tools files"
+	default BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR
+	depends on BUSYBOX_CONFIG_SETFONT
+	help
+	Directory to use if setfont's params are simple filenames
+	(not /path/to/file or ./file). Default is "" (no default directory).
+
+comment "Common options for loadfont and setfont"
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
+	bool "Support PSF2 console fonts"
+	default BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+
+config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
+	bool "Support old (raw) console fonts"
+	default BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW
+	depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
+config BUSYBOX_CONFIG_LOADKMAP
+	bool "loadkmap (1.8 kb)"
+	default BUSYBOX_DEFAULT_LOADKMAP
+	help
+	This program loads a keyboard translation table from
+	standard input.
+config BUSYBOX_CONFIG_OPENVT
+	bool "openvt (7.2 kb)"
+	default BUSYBOX_DEFAULT_OPENVT
+	help
+	This program is used to start a command on an unused
+	virtual terminal.
+config BUSYBOX_CONFIG_RESET
+	bool "reset (345 bytes)"
+	default BUSYBOX_DEFAULT_RESET
+	help
+	This program is used to reset the terminal screen, if it
+	gets messed up.
+config BUSYBOX_CONFIG_RESIZE
+	bool "resize (903 bytes)"
+	default BUSYBOX_DEFAULT_RESIZE
+	help
+	This program is used to (re)set the width and height of your current
+	terminal.
+
+config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
+	bool "Print environment variables"
+	default BUSYBOX_DEFAULT_FEATURE_RESIZE_PRINT
+	depends on BUSYBOX_CONFIG_RESIZE
+	help
+	Prints the newly set size (number of columns and rows) of
+	the terminal.
+	E.g.:
+	COLUMNS=80;LINES=44;export COLUMNS LINES;
+config BUSYBOX_CONFIG_SETCONSOLE
+	bool "setconsole (3.6 kb)"
+	default BUSYBOX_DEFAULT_SETCONSOLE
+	help
+	Redirect writes to /dev/console to another device,
+	like the current tty while logged in via telnet.
+	This does not redirect kernel log, only writes
+	from user space.
+
+config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
+config BUSYBOX_CONFIG_SETKEYCODES
+	bool "setkeycodes (2.1 kb)"
+	default BUSYBOX_DEFAULT_SETKEYCODES
+	help
+	This program loads entries into the kernel's scancode-to-keycode
+	map, allowing unusual keyboards to generate usable keycodes.
+config BUSYBOX_CONFIG_SETLOGCONS
+	bool "setlogcons (1.8 kb)"
+	default BUSYBOX_DEFAULT_SETLOGCONS
+	help
+	This program redirects the output console of kernel messages.
+config BUSYBOX_CONFIG_SHOWKEY
+	bool "showkey (4.7 kb)"
+	default BUSYBOX_DEFAULT_SHOWKEY
+	help
+	Shows keys pressed.
+
+endmenu
diff --git a/package/utils/busybox/config/coreutils/Config.in b/package/utils/busybox/config/coreutils/Config.in
new file mode 100644
index 0000000..983740b
--- /dev/null
+++ b/package/utils/busybox/config/coreutils/Config.in
@@ -0,0 +1,965 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Coreutils"
+
+config BUSYBOX_CONFIG_FEATURE_VERBOSE
+	bool "Support verbose options (usually -v) for various applets"
+	default BUSYBOX_DEFAULT_FEATURE_VERBOSE
+	help
+	Enable cp -v, rm -v and similar messages.
+	Also enables long option (--verbose) if it exists.
+	Without this option, -v is accepted but ignored.
+
+comment "Common options for date and touch"
+
+config BUSYBOX_CONFIG_FEATURE_TIMEZONE
+	bool "Allow timezone in dates"
+	default BUSYBOX_DEFAULT_FEATURE_TIMEZONE
+	depends on BUSYBOX_CONFIG_DESKTOP
+	help
+	Permit the use of timezones when parsing user-provided data
+	strings, e.g. '1996-04-09 12:45:00 -0500'.
+
+	This requires support for the '%z' extension to strptime() which
+	may not be available in all implementations.
+
+comment "Common options for cp and mv"
+	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
+
+config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
+	bool "Preserve hard links"
+	default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
+	depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
+	help
+	Allow cp and mv to preserve hard links.
+
+comment "Common options for df, du, ls"
+	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
+	bool "Support human readable output (example 13k, 23M, 235G)"
+	default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
+	depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
+	help
+	Allow df, du, and ls to have human readable output.
+
+config BUSYBOX_CONFIG_BASENAME
+	bool "basename (438 bytes)"
+	default BUSYBOX_DEFAULT_BASENAME
+	help
+	basename is used to strip the directory and suffix from filenames,
+	leaving just the filename itself. Enable this option if you wish
+	to enable the 'basename' utility.
+config BUSYBOX_CONFIG_CAT
+	bool "cat (5.6 kb)"
+	default BUSYBOX_DEFAULT_CAT
+	help
+	cat is used to concatenate files and print them to the standard
+	output. Enable this option if you wish to enable the 'cat' utility.
+
+config BUSYBOX_CONFIG_FEATURE_CATN
+	bool "Enable -n and -b options"
+	default BUSYBOX_DEFAULT_FEATURE_CATN
+	depends on BUSYBOX_CONFIG_CAT
+	help
+	-n numbers all output lines while -b numbers nonempty output lines.
+
+config BUSYBOX_CONFIG_FEATURE_CATV
+	bool "cat -v[etA]"
+	default BUSYBOX_DEFAULT_FEATURE_CATV
+	depends on BUSYBOX_CONFIG_CAT
+	help
+	Display nonprinting characters as escape sequences
+config BUSYBOX_CONFIG_CHGRP
+	bool "chgrp (7.6 kb)"
+	default BUSYBOX_DEFAULT_CHGRP
+	help
+	chgrp is used to change the group ownership of files.
+config BUSYBOX_CONFIG_CHMOD
+	bool "chmod (5.5 kb)"
+	default BUSYBOX_DEFAULT_CHMOD
+	help
+	chmod is used to change the access permission of files.
+config BUSYBOX_CONFIG_CHOWN
+	bool "chown (7.6 kb)"
+	default BUSYBOX_DEFAULT_CHOWN
+	help
+	chown is used to change the user and/or group ownership
+	of files.
+
+config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
+config BUSYBOX_CONFIG_CHROOT
+	bool "chroot (3.7 kb)"
+	default BUSYBOX_DEFAULT_CHROOT
+	help
+	chroot is used to change the root directory and run a command.
+	The default command is '/bin/sh'.
+config BUSYBOX_CONFIG_CKSUM
+	bool "cksum (4.1 kb)"
+	default BUSYBOX_DEFAULT_CKSUM
+
+config BUSYBOX_CONFIG_CRC32
+	bool "crc32 (4.1 kb)"
+	default BUSYBOX_DEFAULT_CRC32
+config BUSYBOX_CONFIG_COMM
+	bool "comm (4.2 kb)"
+	default BUSYBOX_DEFAULT_COMM
+	help
+	comm is used to compare two files line by line and return
+	a three-column output.
+config BUSYBOX_CONFIG_CP
+	bool "cp (10 kb)"
+	default BUSYBOX_DEFAULT_CP
+	help
+	cp is used to copy files and directories.
+
+config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Enable long options.
+	Also add support for --parents option.
+
+config BUSYBOX_CONFIG_FEATURE_CP_REFLINK
+	bool "Enable --reflink[=auto]"
+	default BUSYBOX_DEFAULT_FEATURE_CP_REFLINK
+	depends on BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
+config BUSYBOX_CONFIG_CUT
+	bool "cut (5.8 kb)"
+	default BUSYBOX_DEFAULT_CUT
+	help
+	cut is used to print selected parts of lines from
+	each file to stdout.
+
+config BUSYBOX_CONFIG_FEATURE_CUT_REGEX
+	bool "cut -F"
+	default BUSYBOX_DEFAULT_FEATURE_CUT_REGEX
+	depends on BUSYBOX_CONFIG_CUT
+	help
+	Allow regex based delimiters.
+config BUSYBOX_CONFIG_DATE
+	bool "date (7 kb)"
+	default BUSYBOX_DEFAULT_DATE
+	help
+	date is used to set the system date or display the
+	current time in the given format.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
+	bool "Enable ISO date format output (-I)"
+	default BUSYBOX_DEFAULT_FEATURE_DATE_ISOFMT
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	Enable option (-I) to output an ISO-8601 compliant
+	date/time string.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_NANO
+	bool "Support %[num]N nanosecond format specifier"
+	default BUSYBOX_DEFAULT_FEATURE_DATE_NANO # stat's nanosecond field is a bit non-portable
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	Support %[num]N format specifier. Adds ~250 bytes of code.
+
+config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
+	bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
+	default BUSYBOX_DEFAULT_FEATURE_DATE_COMPAT
+	depends on BUSYBOX_CONFIG_DATE
+	help
+	System time can be set by 'date -s DATE' and simply 'date DATE',
+	but formats of DATE string are different. 'date DATE' accepts
+	a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
+	unnatural placement of year between minutes and seconds.
+	date -s (and other commands like touch -d) use more sensible
+	formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
+
+	With this option off, 'date DATE' and 'date -s DATE' support
+	the same format. With it on, 'date DATE' additionally supports
+	MMDDhhmm[[YY]YY][.ss] format.
+config BUSYBOX_CONFIG_DD
+	bool "dd (7.5 kb)"
+	default BUSYBOX_DEFAULT_DD
+	help
+	dd copies a file (from standard input to standard output,
+	by default) using specific input and output blocksizes,
+	while optionally performing conversions on it.
+
+config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
+	bool "Enable signal handling for status reporting"
+	default BUSYBOX_DEFAULT_FEATURE_DD_SIGNAL_HANDLING
+	depends on BUSYBOX_CONFIG_DD
+	help
+	Sending a SIGUSR1 signal to a running 'dd' process makes it
+	print to standard error the number of records read and written
+	so far, then to resume copying.
+
+	$ dd if=/dev/zero of=/dev/null &
+	$ pid=$!; kill -USR1 $pid; sleep 1; kill $pid
+	10899206+0 records in
+	10899206+0 records out
+
+config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
+	bool "Enable the third status line upon signal"
+	default BUSYBOX_DEFAULT_FEATURE_DD_THIRD_STATUS_LINE
+	depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
+	help
+	Displays a coreutils-like third status line with transferred bytes,
+	elapsed time and speed.
+
+config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
+	bool "Enable ibs, obs, iflag, oflag and conv options"
+	default BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS
+	depends on BUSYBOX_CONFIG_DD
+	help
+	Enable support for writing a certain number of bytes in and out,
+	at a time, and performing conversions on the data stream.
+
+config BUSYBOX_CONFIG_FEATURE_DD_STATUS
+	bool "Enable status display options"
+	default BUSYBOX_DEFAULT_FEATURE_DD_STATUS
+	depends on BUSYBOX_CONFIG_DD
+	help
+	Enable support for status=noxfer/none option.
+config BUSYBOX_CONFIG_DF
+	bool "df (6.8 kb)"
+	default BUSYBOX_DEFAULT_DF
+	help
+	df reports the amount of disk space used and available
+	on filesystems.
+
+config BUSYBOX_CONFIG_FEATURE_DF_FANCY
+	bool "Enable -a, -i, -B"
+	default BUSYBOX_DEFAULT_FEATURE_DF_FANCY
+	depends on BUSYBOX_CONFIG_DF
+	help
+	-a Show all filesystems
+	-i Inodes
+	-B <SIZE> Blocksize
+
+config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
+	bool "Skip rootfs in mount table"
+	default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
+	depends on BUSYBOX_CONFIG_DF
+	help
+	Ignore rootfs entry in mount table.
+
+	In Linux, kernel has a special filesystem, rootfs, which is initially
+	mounted on /. It contains initramfs data, if kernel is configured
+	to have one. Usually, another file system is mounted over / early
+	in boot process, and therefore most tools which manipulate
+	mount table, such as df, will skip rootfs entry.
+
+	However, some systems do not mount anything on /.
+	If you need to configure busybox for one of these systems,
+	you may find it useful to turn this option off to make df show
+	initramfs statistics.
+
+	Otherwise, choose Y.
+config BUSYBOX_CONFIG_DIRNAME
+	bool "dirname (329 bytes)"
+	default BUSYBOX_DEFAULT_DIRNAME
+	help
+	dirname is used to strip a non-directory suffix from
+	a file name.
+config BUSYBOX_CONFIG_DOS2UNIX
+	bool "dos2unix (5.2 kb)"
+	default BUSYBOX_DEFAULT_DOS2UNIX
+	help
+	dos2unix is used to convert a text file from DOS format to
+	UNIX format, and vice versa.
+
+config BUSYBOX_CONFIG_UNIX2DOS
+	bool "unix2dos (5.2 kb)"
+	default BUSYBOX_DEFAULT_UNIX2DOS
+	help
+	unix2dos is used to convert a text file from UNIX format to
+	DOS format, and vice versa.
+config BUSYBOX_CONFIG_DU
+	bool "du (6.3 kb)"
+	default BUSYBOX_DEFAULT_DU
+	help
+	du is used to report the amount of disk space used
+	for specified files.
+
+config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
+	bool "Use default blocksize of 1024 bytes (else it's 512 bytes)"
+	default BUSYBOX_DEFAULT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
+	depends on BUSYBOX_CONFIG_DU
+config BUSYBOX_CONFIG_ECHO
+	bool "echo (1.8 kb)"
+	default BUSYBOX_DEFAULT_ECHO
+	help
+	echo prints a specified string to stdout.
+
+# this entry also appears in shell/Config.in, next to the echo builtin
+config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
+	bool "Enable -n and -e options"
+	default BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO
+	depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_ECHO || BUSYBOX_CONFIG_HUSH_ECHO
+config BUSYBOX_CONFIG_ENV
+	bool "env (4 kb)"
+	default BUSYBOX_DEFAULT_ENV
+	help
+	env is used to set an environment variable and run
+	a command; without options it displays the current
+	environment.
+config BUSYBOX_CONFIG_EXPAND
+	bool "expand (5.1 kb)"
+	default BUSYBOX_DEFAULT_EXPAND
+	help
+	By default, convert all tabs to spaces.
+
+config BUSYBOX_CONFIG_UNEXPAND
+	bool "unexpand (5.3 kb)"
+	default BUSYBOX_DEFAULT_UNEXPAND
+	help
+	By default, convert only leading sequences of blanks to tabs.
+config BUSYBOX_CONFIG_EXPR
+	bool "expr (6.6 kb)"
+	default BUSYBOX_DEFAULT_EXPR
+	help
+	expr is used to calculate numbers and print the result
+	to standard output.
+
+config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
+	bool "Extend Posix numbers support to 64 bit"
+	default BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64
+	depends on BUSYBOX_CONFIG_EXPR
+	help
+	Enable 64-bit math support in the expr applet. This will make
+	the applet slightly larger, but will allow computation with very
+	large numbers.
+config BUSYBOX_CONFIG_FACTOR
+	bool "factor (2.7 kb)"
+	default BUSYBOX_DEFAULT_FACTOR
+	help
+	factor factorizes integers
+config BUSYBOX_CONFIG_FALSE
+	bool "false (tiny)"
+	default BUSYBOX_DEFAULT_FALSE
+	help
+	false returns an exit code of FALSE (1).
+config BUSYBOX_CONFIG_FOLD
+	bool "fold (4.6 kb)"
+	default BUSYBOX_DEFAULT_FOLD
+	help
+	Wrap text to fit a specific width.
+config BUSYBOX_CONFIG_HEAD
+	bool "head (3.8 kb)"
+	default BUSYBOX_DEFAULT_HEAD
+	help
+	head is used to print the first specified number of lines
+	from files.
+
+config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
+	bool "Enable -c, -q, and -v"
+	default BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD
+	depends on BUSYBOX_CONFIG_HEAD
+config BUSYBOX_CONFIG_HOSTID
+	bool "hostid (286 bytes)"
+	default BUSYBOX_DEFAULT_HOSTID
+	help
+	hostid prints the numeric identifier (in hexadecimal) for
+	the current host.
+config BUSYBOX_CONFIG_ID
+	bool "id (7 kb)"
+	default BUSYBOX_DEFAULT_ID
+	help
+	id displays the current user and group ID names.
+
+config BUSYBOX_CONFIG_GROUPS
+	bool "groups (6.7 kb)"
+	default BUSYBOX_DEFAULT_GROUPS
+	help
+	Print the group names associated with current user id.
+config BUSYBOX_CONFIG_INSTALL
+	bool "install (12 kb)"
+	default BUSYBOX_DEFAULT_INSTALL
+	help
+	Copy files and set attributes.
+
+config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_INSTALL_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
+config BUSYBOX_CONFIG_LINK
+	bool "link (3.2 kb)"
+	default BUSYBOX_DEFAULT_LINK
+	help
+	link creates hard links between files.
+config BUSYBOX_CONFIG_LN
+	bool "ln (4.9 kb)"
+	default BUSYBOX_DEFAULT_LN
+	help
+	ln is used to create hard or soft links between files.
+config BUSYBOX_CONFIG_LOGNAME
+	bool "logname (1.1 kb)"
+	default BUSYBOX_DEFAULT_LOGNAME
+	help
+	logname is used to print the current user's login name.
+config BUSYBOX_CONFIG_LS
+	bool "ls (14 kb)"
+	default BUSYBOX_DEFAULT_LS
+	help
+	ls is used to list the contents of directories.
+
+config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
+	bool "Enable filetyping options (-p and -F)"
+	default BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES
+	depends on BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
+	bool "Enable symlinks dereferencing (-L)"
+	default BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS
+	depends on BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
+	bool "Enable recursion (-R)"
+	default BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE
+	depends on BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_LS_WIDTH
+	bool "Enable -w WIDTH and window size autodetection"
+	default BUSYBOX_DEFAULT_FEATURE_LS_WIDTH
+	depends on BUSYBOX_CONFIG_LS
+
+config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
+	bool "Sort the file names"
+	default BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES
+	depends on BUSYBOX_CONFIG_LS
+	help
+	Allow ls to sort file names alphabetically.
+
+config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
+	bool "Show file timestamps"
+	default BUSYBOX_DEFAULT_FEATURE_LS_TIMESTAMPS
+	depends on BUSYBOX_CONFIG_LS
+	help
+	Allow ls to display timestamps for files.
+
+config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
+	bool "Show username/groupnames"
+	default BUSYBOX_DEFAULT_FEATURE_LS_USERNAME
+	depends on BUSYBOX_CONFIG_LS
+	help
+	Allow ls to display username/groupname for files.
+
+config BUSYBOX_CONFIG_FEATURE_LS_COLOR
+	bool "Allow use of color to identify file types"
+	default BUSYBOX_DEFAULT_FEATURE_LS_COLOR
+	depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	This enables the --color option to ls.
+
+config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
+	bool "Produce colored ls output by default"
+	default BUSYBOX_DEFAULT_FEATURE_LS_COLOR_IS_DEFAULT
+	depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
+	help
+	Saying yes here will turn coloring on by default,
+	even if no "--color" option is given to the ls command.
+	This is not recommended, since the colors are not
+	configurable, and the output may not be legible on
+	many output screens.
+config BUSYBOX_CONFIG_MD5SUM
+	bool "md5sum (6.5 kb)"
+	default BUSYBOX_DEFAULT_MD5SUM
+	help
+	Compute and check MD5 message digest
+
+config BUSYBOX_CONFIG_SHA1SUM
+	bool "sha1sum (5.9 kb)"
+	default BUSYBOX_DEFAULT_SHA1SUM
+	help
+	Compute and check SHA1 message digest
+
+config BUSYBOX_CONFIG_SHA256SUM
+	bool "sha256sum (7 kb)"
+	default BUSYBOX_DEFAULT_SHA256SUM
+	help
+	Compute and check SHA256 message digest
+
+config BUSYBOX_CONFIG_SHA512SUM
+	bool "sha512sum (7.4 kb)"
+	default BUSYBOX_DEFAULT_SHA512SUM
+	help
+	Compute and check SHA512 message digest
+
+config BUSYBOX_CONFIG_SHA3SUM
+	bool "sha3sum (6.1 kb)"
+	default BUSYBOX_DEFAULT_SHA3SUM
+	help
+	Compute and check SHA3 message digest
+
+comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
+	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
+
+config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
+	bool "Enable -c, -s and -w options"
+	default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
+	depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
+	help
+	Enabling the -c options allows files to be checked
+	against pre-calculated hash values.
+	-s and -w are useful options when verifying checksums.
+config BUSYBOX_CONFIG_MKDIR
+	bool "mkdir (4.5 kb)"
+	default BUSYBOX_DEFAULT_MKDIR
+	help
+	mkdir is used to create directories with the specified names.
+config BUSYBOX_CONFIG_MKFIFO
+	bool "mkfifo (3.8 kb)"
+	default BUSYBOX_DEFAULT_MKFIFO
+	help
+	mkfifo is used to create FIFOs (named pipes).
+	The 'mknod' program can also create FIFOs.
+config BUSYBOX_CONFIG_MKNOD
+	bool "mknod (4.5 kb)"
+	default BUSYBOX_DEFAULT_MKNOD
+	help
+	mknod is used to create FIFOs or block/character special
+	files with the specified names.
+config BUSYBOX_CONFIG_MKTEMP
+	bool "mktemp (4.2 kb)"
+	default BUSYBOX_DEFAULT_MKTEMP
+	help
+	mktemp is used to create unique temporary files
+config BUSYBOX_CONFIG_MV
+	bool "mv (10 kb)"
+	default BUSYBOX_DEFAULT_MV
+	help
+	mv is used to move or rename files or directories.
+config BUSYBOX_CONFIG_NICE
+	bool "nice (2.1 kb)"
+	default BUSYBOX_DEFAULT_NICE
+	help
+	nice runs a program with modified scheduling priority.
+config BUSYBOX_CONFIG_NL
+	bool "nl (4.6 kb)"
+	default BUSYBOX_DEFAULT_NL
+	help
+	nl is used to number lines of files.
+config BUSYBOX_CONFIG_NOHUP
+	bool "nohup (2 kb)"
+	default BUSYBOX_DEFAULT_NOHUP
+	help
+	run a command immune to hangups, with output to a non-tty.
+config BUSYBOX_CONFIG_NPROC
+	bool "nproc (3.7 kb)"
+	default BUSYBOX_DEFAULT_NPROC
+	help
+	Print number of CPUs
+config BUSYBOX_CONFIG_OD
+	bool "od (11 kb)"
+	default BUSYBOX_DEFAULT_OD
+	help
+	od is used to dump binary files in octal and other formats.
+config BUSYBOX_CONFIG_PASTE
+	bool "paste (4.9 kb)"
+	default BUSYBOX_DEFAULT_PASTE
+	help
+	paste is used to paste lines of different files together
+	and write the result to stdout
+config BUSYBOX_CONFIG_PRINTENV
+	bool "printenv (1.3 kb)"
+	default BUSYBOX_DEFAULT_PRINTENV
+	help
+	printenv is used to print all or part of environment.
+config BUSYBOX_CONFIG_PRINTF
+	bool "printf (3.8 kb)"
+	default BUSYBOX_DEFAULT_PRINTF
+	help
+	printf is used to format and print specified strings.
+	It's similar to 'echo' except it has more options.
+config BUSYBOX_CONFIG_PWD
+	bool "pwd (3.7 kb)"
+	default BUSYBOX_DEFAULT_PWD
+	help
+	pwd is used to print the current directory.
+config BUSYBOX_CONFIG_READLINK
+	bool "readlink (4 kb)"
+	default BUSYBOX_DEFAULT_READLINK
+	help
+	This program reads a symbolic link and returns the name
+	of the file it points to
+
+config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
+	bool "Enable canonicalization by following all symlinks (-f)"
+	default BUSYBOX_DEFAULT_FEATURE_READLINK_FOLLOW
+	depends on BUSYBOX_CONFIG_READLINK
+	help
+	Enable the readlink option (-f).
+config BUSYBOX_CONFIG_REALPATH
+	bool "realpath (1.6 kb)"
+	default BUSYBOX_DEFAULT_REALPATH
+	help
+	Return the canonicalized absolute pathname.
+	This isn't provided by GNU shellutils, but where else does it belong.
+config BUSYBOX_CONFIG_RM
+	bool "rm (5.4 kb)"
+	default BUSYBOX_DEFAULT_RM
+	help
+	rm is used to remove files or directories.
+config BUSYBOX_CONFIG_RMDIR
+	bool "rmdir (3.5 kb)"
+	default BUSYBOX_DEFAULT_RMDIR
+	help
+	rmdir is used to remove empty directories.
+config BUSYBOX_CONFIG_SEQ
+	bool "seq (3.8 kb)"
+	default BUSYBOX_DEFAULT_SEQ
+	help
+	print a sequence of numbers
+config BUSYBOX_CONFIG_SHRED
+	bool "shred (4.9 kb)"
+	default BUSYBOX_DEFAULT_SHRED
+	help
+	Overwrite a file to hide its contents, and optionally delete it
+config BUSYBOX_CONFIG_SHUF
+	bool "shuf (5.4 kb)"
+	default BUSYBOX_DEFAULT_SHUF
+	help
+	Generate random permutations
+config BUSYBOX_CONFIG_SLEEP
+	bool "sleep (2 kb)"
+	default BUSYBOX_DEFAULT_SLEEP
+	help
+	sleep is used to pause for a specified number of seconds.
+	It comes in 3 versions:
+	- small: takes one integer parameter
+	- fancy: takes multiple integer arguments with suffixes:
+		sleep 1d 2h 3m 15s
+	- fancy with fractional numbers:
+		sleep 2.3s 4.5h sleeps for 16202.3 seconds
+	Last one is "the most compatible" with coreutils sleep,
+	but it adds around 1k of code.
+
+config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
+	bool "Enable multiple arguments and s/m/h/d suffixes"
+	default BUSYBOX_DEFAULT_FEATURE_FANCY_SLEEP
+	depends on BUSYBOX_CONFIG_SLEEP
+	help
+	Allow sleep to pause for specified minutes, hours, and days.
+config BUSYBOX_CONFIG_SORT
+	bool "sort (7.7 kb)"
+	default BUSYBOX_DEFAULT_SORT
+	help
+	sort is used to sort lines of text in specified files.
+
+config BUSYBOX_CONFIG_FEATURE_SORT_BIG
+	bool "Full SuSv3 compliant sort (support -ktcbdfioghM)"
+	default BUSYBOX_DEFAULT_FEATURE_SORT_BIG
+	depends on BUSYBOX_CONFIG_SORT
+	help
+	Without this, sort only supports -rusz, and an integer version
+	of -n. Selecting this adds sort keys, floating point support, and
+	more. This adds a little over 3k to a nonstatic build on x86.
+
+	The SuSv3 sort standard is available at:
+	http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
+
+config BUSYBOX_CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY
+	bool "Use less memory (but might be slower)"
+	default BUSYBOX_DEFAULT_FEATURE_SORT_OPTIMIZE_MEMORY   # defaults to N since we are size-paranoid tribe
+	depends on BUSYBOX_CONFIG_SORT
+	help
+	Attempt to use less memory (by storing only one copy
+	of duplicated lines, and such). Useful if you work on huge files.
+config BUSYBOX_CONFIG_SPLIT
+	bool "split (5 kb)"
+	default BUSYBOX_DEFAULT_SPLIT
+	help
+	Split a file into pieces.
+
+config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
+	bool "Fancy extensions"
+	default BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY
+	depends on BUSYBOX_CONFIG_SPLIT
+	help
+	Add support for features not required by SUSv3.
+	Supports additional suffixes 'b' for 512 bytes,
+	'g' for 1GiB for the -b option.
+config BUSYBOX_CONFIG_STAT
+	bool "stat (11 kb)"
+	default BUSYBOX_DEFAULT_STAT
+	help
+	display file or filesystem status.
+
+config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
+	bool "Enable custom formats (-c)"
+	default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
+	depends on BUSYBOX_CONFIG_STAT
+	help
+	Without this, stat will not support the '-c format' option where
+	users can pass a custom format string for output. This adds about
+	7k to a nonstatic build on amd64.
+
+config BUSYBOX_CONFIG_FEATURE_STAT_FILESYSTEM
+	bool "Enable display of filesystem status (-f)"
+	default BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
+	depends on BUSYBOX_CONFIG_STAT
+	help
+	Without this, stat will not support the '-f' option to display
+	information about filesystem status.
+config BUSYBOX_CONFIG_STTY
+	bool "stty (8.9 kb)"
+	default BUSYBOX_DEFAULT_STTY
+	help
+	stty is used to change and print terminal line settings.
+config BUSYBOX_CONFIG_SUM
+	bool "sum (4 kb)"
+	default BUSYBOX_DEFAULT_SUM
+	help
+	checksum and count the blocks in a file
+config BUSYBOX_CONFIG_SYNC
+	bool "sync (3.8 kb)"
+	default BUSYBOX_DEFAULT_SYNC
+	help
+	sync is used to flush filesystem buffers.
+config BUSYBOX_CONFIG_FEATURE_SYNC_FANCY
+	bool "Enable -d and -f flags (requires syncfs(2) in libc)"
+	default BUSYBOX_DEFAULT_FEATURE_SYNC_FANCY
+	depends on BUSYBOX_CONFIG_SYNC
+	help
+	sync -d FILE... executes fdatasync() on each FILE.
+	sync -f FILE... executes syncfs() on each FILE.
+config BUSYBOX_CONFIG_FSYNC
+	bool "fsync (3.6 kb)"
+	default BUSYBOX_DEFAULT_FSYNC
+	help
+	fsync is used to flush file-related cached blocks to disk.
+config BUSYBOX_CONFIG_TAC
+	bool "tac (3.9 kb)"
+	default BUSYBOX_DEFAULT_TAC
+	help
+	tac is used to concatenate and print files in reverse.
+config BUSYBOX_CONFIG_TAIL
+	bool "tail (6.8 kb)"
+	default BUSYBOX_DEFAULT_TAIL
+	help
+	tail is used to print the last specified number of lines
+	from files.
+
+config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
+	bool "Enable -q, -s, -v, and -F options"
+	default BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL
+	depends on BUSYBOX_CONFIG_TAIL
+	help
+	These options are provided by GNU tail, but
+	are not specified in the SUSv3 standard:
+		-q      Never output headers giving file names
+		-s SEC  Wait SEC seconds between reads with -f
+		-v      Always output headers giving file names
+		-F      Same as -f, but keep retrying
+config BUSYBOX_CONFIG_TEE
+	bool "tee (4.2 kb)"
+	default BUSYBOX_DEFAULT_TEE
+	help
+	tee is used to read from standard input and write
+	to standard output and files.
+
+config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
+	bool "Enable block I/O (larger/faster) instead of byte I/O"
+	default BUSYBOX_DEFAULT_FEATURE_TEE_USE_BLOCK_IO
+	depends on BUSYBOX_CONFIG_TEE
+	help
+	Enable this option for a faster tee, at expense of size.
+config BUSYBOX_CONFIG_TEST
+	bool "test (4.1 kb)"
+	default BUSYBOX_DEFAULT_TEST
+	help
+	test is used to check file types and compare values,
+	returning an appropriate exit code. The bash shell
+	has test built in, ash can build it in optionally.
+
+config BUSYBOX_CONFIG_TEST1
+	bool "test as ["
+	default BUSYBOX_DEFAULT_TEST1
+	help
+	Provide test command in the "[ EXPR ]" form
+
+config BUSYBOX_CONFIG_TEST2
+	bool "test as [["
+	default BUSYBOX_DEFAULT_TEST2
+	help
+	Provide test command in the "[[ EXPR ]]" form
+
+config BUSYBOX_CONFIG_FEATURE_TEST_64
+	bool "Extend test to 64 bit"
+	default BUSYBOX_DEFAULT_FEATURE_TEST_64
+	depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_TEST1 || BUSYBOX_CONFIG_TEST2 || BUSYBOX_CONFIG_ASH_TEST || BUSYBOX_CONFIG_HUSH_TEST
+	help
+	Enable 64-bit support in test.
+config BUSYBOX_CONFIG_TIMEOUT
+	bool "timeout (6 kb)"
+	default BUSYBOX_DEFAULT_TIMEOUT
+	help
+	Runs a program and watches it. If it does not terminate in
+	specified number of seconds, it is sent a signal.
+config BUSYBOX_CONFIG_TOUCH
+	bool "touch (5.9 kb)"
+	default BUSYBOX_DEFAULT_TOUCH
+	help
+	touch is used to create or change the access and/or
+	modification timestamp of specified files.
+
+config BUSYBOX_CONFIG_FEATURE_TOUCH_SUSV3
+	bool "Add support for SUSV3 features (-a -d -m -t -r)"
+	default BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
+	depends on BUSYBOX_CONFIG_TOUCH
+	help
+	Enable touch to use a reference file or a given date/time argument.
+config BUSYBOX_CONFIG_TR
+	bool "tr (5.1 kb)"
+	default BUSYBOX_DEFAULT_TR
+	help
+	tr is used to squeeze, and/or delete characters from standard
+	input, writing to standard output.
+
+config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
+	bool "Enable character classes (such as [:upper:])"
+	default BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
+	depends on BUSYBOX_CONFIG_TR
+	help
+	Enable character classes, enabling commands such as:
+	tr [:upper:] [:lower:] to convert input into lowercase.
+
+config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
+	bool "Enable equivalence classes"
+	default BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
+	depends on BUSYBOX_CONFIG_TR
+	help
+	Enable equivalence classes, which essentially add the enclosed
+	character to the current set. For instance, tr [=a=] xyz would
+	replace all instances of 'a' with 'xyz'. This option is mainly
+	useful for cases when no other way of expressing a character
+	is possible.
+config BUSYBOX_CONFIG_TRUE
+	bool "true (tiny)"
+	default BUSYBOX_DEFAULT_TRUE
+	help
+	true returns an exit code of TRUE (0).
+config BUSYBOX_CONFIG_TRUNCATE
+	bool "truncate (4.2 kb)"
+	default BUSYBOX_DEFAULT_TRUNCATE
+	help
+	truncate truncates files to a given size. If a file does
+	not exist, it is created unless told otherwise.
+config BUSYBOX_CONFIG_TSORT
+	bool "tsort (0.7 kb)"
+	default BUSYBOX_DEFAULT_TSORT
+	help
+	tsort performs a topological sort.
+config BUSYBOX_CONFIG_TTY
+	bool "tty (3.6 kb)"
+	default BUSYBOX_DEFAULT_TTY
+	help
+	tty is used to print the name of the current terminal to
+	standard output.
+config BUSYBOX_CONFIG_UNAME
+	bool "uname (3.9 kb)"
+	default BUSYBOX_DEFAULT_UNAME
+	help
+	uname is used to print system information.
+
+config BUSYBOX_CONFIG_UNAME_OSNAME
+	string "Operating system name"
+	default BUSYBOX_DEFAULT_UNAME_OSNAME
+	depends on BUSYBOX_CONFIG_UNAME
+	help
+	Sets the operating system name reported by uname -o.  The
+	default BUSYBOX_DEFAULT_UNAME_OSNAME "GNU/Linux".
+
+config BUSYBOX_CONFIG_BB_ARCH
+	bool "arch (1.1 kb)"
+	default BUSYBOX_DEFAULT_BB_ARCH
+	help
+	Same as uname -m.
+config BUSYBOX_CONFIG_UNIQ
+	bool "uniq (4.9 kb)"
+	default BUSYBOX_DEFAULT_UNIQ
+	help
+	uniq is used to remove duplicate lines from a sorted file.
+config BUSYBOX_CONFIG_UNLINK
+	bool "unlink (3.2 kb)"
+	default BUSYBOX_DEFAULT_UNLINK
+	help
+	unlink deletes a file by calling unlink()
+config BUSYBOX_CONFIG_USLEEP
+	bool "usleep (1.3 kb)"
+	default BUSYBOX_DEFAULT_USLEEP
+	help
+	usleep is used to pause for a specified number of microseconds.
+config BUSYBOX_CONFIG_UUDECODE
+	bool "uudecode (5.8 kb)"
+	default BUSYBOX_DEFAULT_UUDECODE
+	help
+	uudecode is used to decode a uuencoded file.
+config BUSYBOX_CONFIG_BASE32
+	bool "base32 (4.9 kb)"
+	default BUSYBOX_DEFAULT_BASE32
+	help
+	Base32 encode and decode
+config BUSYBOX_CONFIG_BASE64
+	bool "base64 (4.9 kb)"
+	default BUSYBOX_DEFAULT_BASE64
+	help
+	Base64 encode and decode
+config BUSYBOX_CONFIG_UUENCODE
+	bool "uuencode (4.4 kb)"
+	default BUSYBOX_DEFAULT_UUENCODE
+	help
+	uuencode is used to uuencode a file.
+config BUSYBOX_CONFIG_WC
+	bool "wc (4.5 kb)"
+	default BUSYBOX_DEFAULT_WC
+	help
+	wc is used to print the number of bytes, words, and lines,
+	in specified files.
+
+config BUSYBOX_CONFIG_FEATURE_WC_LARGE
+	bool "Support very large counts"
+	default BUSYBOX_DEFAULT_FEATURE_WC_LARGE
+	depends on BUSYBOX_CONFIG_WC
+	help
+	Use "unsigned long long" for counter variables.
+config BUSYBOX_CONFIG_WHO
+	bool "who (3.9 kb)"
+	default BUSYBOX_DEFAULT_WHO
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Print users currently logged on.
+
+config BUSYBOX_CONFIG_W
+	bool "w (3.8 kb)"
+	default BUSYBOX_DEFAULT_W
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Print users currently logged on.
+
+config BUSYBOX_CONFIG_USERS
+	bool "users (3.4 kb)"
+	default BUSYBOX_DEFAULT_USERS
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Print users currently logged on.
+config BUSYBOX_CONFIG_WHOAMI
+	bool "whoami (3.2 kb)"
+	default BUSYBOX_DEFAULT_WHOAMI
+	help
+	whoami is used to print the username of the current
+	user id (same as id -un).
+config BUSYBOX_CONFIG_YES
+	bool "yes (1.2 kb)"
+	default BUSYBOX_DEFAULT_YES
+	help
+	yes is used to repeatedly output a specific string, or
+	the default string 'y'.
+
+endmenu
diff --git a/package/utils/busybox/config/debianutils/Config.in b/package/utils/busybox/config/debianutils/Config.in
new file mode 100644
index 0000000..15abb08
--- /dev/null
+++ b/package/utils/busybox/config/debianutils/Config.in
@@ -0,0 +1,70 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Debian Utilities"
+
+config BUSYBOX_CONFIG_PIPE_PROGRESS
+	bool "pipe_progress (275 bytes)"
+	default BUSYBOX_DEFAULT_PIPE_PROGRESS
+	help
+	Display a dot to indicate pipe activity.
+config BUSYBOX_CONFIG_RUN_PARTS
+	bool "run-parts (6.1 kb)"
+	default BUSYBOX_DEFAULT_RUN_PARTS
+	help
+	run-parts is a utility designed to run all the scripts in a directory.
+
+	It is useful to set up a directory like cron.daily, where you need to
+	execute all the scripts in that directory.
+
+	In this implementation of run-parts some features (such as report
+	mode) are not implemented.
+
+	Unless you know that run-parts is used in some of your scripts
+	you can safely say N here.
+
+config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
+	bool "Support additional arguments"
+	default BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_FANCY
+	depends on BUSYBOX_CONFIG_RUN_PARTS
+	help
+	Support additional options:
+	-l --list print the names of the all matching files (not
+	limited to executables), but don't actually run them.
+config BUSYBOX_CONFIG_START_STOP_DAEMON
+	bool "start-stop-daemon (12 kb)"
+	default BUSYBOX_DEFAULT_START_STOP_DAEMON
+	help
+	start-stop-daemon is used to control the creation and
+	termination of system-level processes, usually the ones
+	started during the startup of the system.
+
+config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
+	bool "Support additional arguments"
+	default BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY
+	depends on BUSYBOX_CONFIG_START_STOP_DAEMON
+	help
+	-o|--oknodo ignored since we exit with 0 anyway
+	-v|--verbose
+	-N|--nicelevel N
+config BUSYBOX_CONFIG_WHICH
+	bool "which (3.8 kb)"
+	default BUSYBOX_DEFAULT_WHICH
+	help
+	which is used to find programs in your PATH and
+	print out their pathnames.
+
+endmenu
diff --git a/package/utils/busybox/config/e2fsprogs/Config.in b/package/utils/busybox/config/e2fsprogs/Config.in
new file mode 100644
index 0000000..4a9aa2a
--- /dev/null
+++ b/package/utils/busybox/config/e2fsprogs/Config.in
@@ -0,0 +1,66 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Linux Ext2 FS Progs"
+
+config BUSYBOX_CONFIG_CHATTR
+	bool "chattr (3.8 kb)"
+	default BUSYBOX_DEFAULT_CHATTR
+	help
+	chattr changes the file attributes on a second extended file system.
+config BUSYBOX_CONFIG_FSCK
+	bool "fsck (7.4 kb)"
+	default BUSYBOX_DEFAULT_FSCK
+	help
+	fsck is used to check and optionally repair one or more filesystems.
+	In actuality, fsck is simply a front-end for the various file system
+	checkers (fsck.fstype) available under Linux.
+config BUSYBOX_CONFIG_LSATTR
+	bool "lsattr (5.5 kb)"
+	default BUSYBOX_DEFAULT_LSATTR
+	help
+	lsattr lists the file attributes on a second extended file system.
+config BUSYBOX_CONFIG_TUNE2FS
+	bool "tune2fs (4.4 kb)"
+	default BUSYBOX_DEFAULT_TUNE2FS  # off: it is too limited compared to upstream version
+	help
+	tune2fs allows the system administrator to adjust various tunable
+	filesystem parameters on Linux ext2/ext3 filesystems.
+
+### config E2FSCK
+###	bool "e2fsck"
+###	default y
+###	help
+###	  e2fsck is used to check Linux second extended file systems (ext2fs).
+###	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
+###	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
+###	  provided.
+
+### config MKE2FS
+###	bool "mke2fs"
+###	default y
+###	help
+###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
+###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
+
+### config E2LABEL
+###	bool "e2label"
+###	default y
+###	depends on TUNE2FS
+###	help
+###	  e2label will display or change the filesystem label on the ext2
+###	  filesystem located on device.
+
+### NB: this one is now provided by util-linux/volume_id/*
+### config FINDFS
+###	bool "findfs"
+###	default y
+###	depends on TUNE2FS
+###	help
+###	  findfs will search the disks in the system looking for a filesystem
+###	  which has a label matching label or a UUID equal to uuid.
+
+endmenu
diff --git a/package/utils/busybox/config/e2fsprogs/old_e2fsprogs/Config.in b/package/utils/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
new file mode 100644
index 0000000..cfa6313
--- /dev/null
+++ b/package/utils/busybox/config/e2fsprogs/old_e2fsprogs/Config.in
@@ -0,0 +1,69 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see scripts/kbuild/config-language.txt.
+#
+
+menu "Linux Ext2 FS Progs"
+
+
+config BUSYBOX_CONFIG_CHATTR
+	bool "chattr"
+	default BUSYBOX_DEFAULT_CHATTR
+	help
+	chattr changes the file attributes on a second extended file system.
+
+config BUSYBOX_CONFIG_E2FSCK
+	bool "e2fsck"
+	default BUSYBOX_DEFAULT_E2FSCK
+	help
+	e2fsck is used to check Linux second extended file systems (ext2fs).
+	e2fsck also supports ext2 filesystems countaining a journal (ext3).
+	The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
+	provided.
+
+config BUSYBOX_CONFIG_FSCK
+	bool "fsck"
+	default BUSYBOX_DEFAULT_FSCK
+	help
+	fsck is used to check and optionally repair one or more filesystems.
+	In actuality, fsck is simply a front-end for the various file system
+	checkers (fsck.fstype) available under Linux.
+
+config BUSYBOX_CONFIG_LSATTR
+	bool "lsattr"
+	default BUSYBOX_DEFAULT_LSATTR
+	help
+	lsattr lists the file attributes on a second extended file system.
+
+config BUSYBOX_CONFIG_MKE2FS
+	bool "mke2fs"
+	default BUSYBOX_DEFAULT_MKE2FS
+	help
+	mke2fs is used to create an ext2/ext3 filesystem. The normal compat
+	symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
+
+config BUSYBOX_CONFIG_TUNE2FS
+	bool "tune2fs"
+	default BUSYBOX_DEFAULT_TUNE2FS
+	help
+	tune2fs allows the system administrator to adjust various tunable
+	filesystem parameters on Linux ext2/ext3 filesystems.
+
+config BUSYBOX_CONFIG_E2LABEL
+	bool "e2label"
+	default BUSYBOX_DEFAULT_E2LABEL
+	depends on BUSYBOX_CONFIG_TUNE2FS
+	help
+	e2label will display or change the filesystem label on the ext2
+	filesystem located on device.
+
+config BUSYBOX_CONFIG_FINDFS
+	bool "findfs"
+	default BUSYBOX_DEFAULT_FINDFS
+	depends on BUSYBOX_CONFIG_TUNE2FS
+	help
+	findfs will search the disks in the system looking for a filesystem
+	which has a label matching label or a UUID equal to uuid.
+
+endmenu
diff --git a/package/utils/busybox/config/editors/Config.in b/package/utils/busybox/config/editors/Config.in
new file mode 100644
index 0000000..dc80a4e
--- /dev/null
+++ b/package/utils/busybox/config/editors/Config.in
@@ -0,0 +1,245 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Editors"
+
+config BUSYBOX_CONFIG_AWK
+	bool "awk (23 kb)"
+	default BUSYBOX_DEFAULT_AWK
+	help
+	Awk is used as a pattern scanning and processing language.
+
+config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
+	bool "Enable math functions (requires libm)"
+	default BUSYBOX_DEFAULT_FEATURE_AWK_LIBM
+	depends on BUSYBOX_CONFIG_AWK
+	help
+	Enable math functions of the Awk programming language.
+	NOTE: This requires libm to be present for linking.
+
+config BUSYBOX_CONFIG_FEATURE_AWK_GNU_EXTENSIONS
+	bool "Enable a few GNU extensions"
+	default BUSYBOX_DEFAULT_FEATURE_AWK_GNU_EXTENSIONS
+	depends on BUSYBOX_CONFIG_AWK
+	help
+	Enable a few features from gawk:
+	* command line option -e AWK_PROGRAM
+	* simultaneous use of -f and -e on the command line.
+	This enables the use of awk library files.
+	Example: awk -f mylib.awk -e '{print myfunction($1);}' ...
+config BUSYBOX_CONFIG_CMP
+	bool "cmp (4.9 kb)"
+	default BUSYBOX_DEFAULT_CMP
+	help
+	cmp is used to compare two files and returns the result
+	to standard output.
+config BUSYBOX_CONFIG_DIFF
+	bool "diff (13 kb)"
+	default BUSYBOX_DEFAULT_DIFF
+	help
+	diff compares two files or directories and outputs the
+	differences between them in a form that can be given to
+	the patch command.
+
+config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_DIFF_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
+	bool "Enable directory support"
+	default BUSYBOX_DEFAULT_FEATURE_DIFF_DIR
+	depends on BUSYBOX_CONFIG_DIFF
+	help
+	This option enables support for directory and subdirectory
+	comparison.
+config BUSYBOX_CONFIG_ED
+	bool "ed (21 kb)"
+	default BUSYBOX_DEFAULT_ED
+	help
+	The original 1970's Unix text editor, from the days of teletypes.
+	Small, simple, evil. Part of SUSv3. If you're not already using
+	this, you don't need it.
+config BUSYBOX_CONFIG_PATCH
+	bool "patch (9.4 kb)"
+	default BUSYBOX_DEFAULT_PATCH
+	help
+	Apply a unified diff formatted patch.
+config BUSYBOX_CONFIG_SED
+	bool "sed (12 kb)"
+	default BUSYBOX_DEFAULT_SED
+	help
+	sed is used to perform text transformations on a file
+	or input from a pipeline.
+config BUSYBOX_CONFIG_VI
+	bool "vi (23 kb)"
+	default BUSYBOX_DEFAULT_VI
+	help
+	'vi' is a text editor. More specifically, it is the One True
+	text editor <grin>. It does, however, have a rather steep
+	learning curve. If you are not already comfortable with 'vi'
+	you may wish to use something else.
+
+config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
+	int "Maximum screen width"
+	range 256 16384
+	default BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Contrary to what you may think, this is not eating much.
+	Make it smaller than 4k only if you are very limited on memory.
+
+config BUSYBOX_CONFIG_FEATURE_VI_8BIT
+	bool "Allow to display 8-bit chars (otherwise shows dots)"
+	default BUSYBOX_DEFAULT_FEATURE_VI_8BIT
+	depends on BUSYBOX_CONFIG_VI
+	help
+	If your terminal can display characters with high bit set,
+	you may want to enable this. Note: vi is not Unicode-capable.
+	If your terminal combines several 8-bit bytes into one character
+	(as in Unicode mode), this will not work properly.
+
+config BUSYBOX_CONFIG_FEATURE_VI_COLON
+	bool "Enable \":\" colon commands (no \"ex\" mode)"
+	default BUSYBOX_DEFAULT_FEATURE_VI_COLON
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Enable a limited set of colon commands. This does not
+	provide an "ex" mode.
+
+config BUSYBOX_CONFIG_FEATURE_VI_COLON_EXPAND
+	bool "Expand \"%\" and \"#\" in colon commands"
+	default BUSYBOX_DEFAULT_FEATURE_VI_COLON_EXPAND
+	depends on BUSYBOX_CONFIG_FEATURE_VI_COLON
+	help
+	Expand the special characters \"%\" (current filename)
+	and \"#\" (alternate filename) in colon commands.
+
+config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
+	bool "Enable yank/put commands and mark cmds"
+	default BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK
+	depends on BUSYBOX_CONFIG_VI
+	help
+	This enables you to use yank and put, as well as mark.
+
+config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
+	bool "Enable search and replace cmds"
+	default BUSYBOX_DEFAULT_FEATURE_VI_SEARCH
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Select this if you wish to be able to do search and replace.
+
+config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
+	bool "Enable regex in search and replace"
+	default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH   # Uses GNU regex, which may be unavailable. FIXME
+	depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
+	depends on USE_GLIBC
+	help
+	Use extended regex search.
+
+config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
+	bool "Catch signals"
+	default BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Selecting this option will make vi signal aware. This will support
+	SIGWINCH to deal with Window Changes, catch ^Z and ^C and alarms.
+
+config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
+	bool "Remember previous cmd and \".\" cmd"
+	default BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Make vi remember the last command and be able to repeat it.
+
+config BUSYBOX_CONFIG_FEATURE_VI_READONLY
+	bool "Enable -R option and \"view\" mode"
+	default BUSYBOX_DEFAULT_FEATURE_VI_READONLY
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Enable the read-only command line option, which allows the user to
+	open a file in read-only mode.
+
+config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
+	bool "Enable settable options, ai ic showmatch"
+	default BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Enable the editor to set some (ai, ic, showmatch) options.
+
+config BUSYBOX_CONFIG_FEATURE_VI_SET
+	bool "Support :set"
+	default BUSYBOX_DEFAULT_FEATURE_VI_SET
+	depends on BUSYBOX_CONFIG_VI
+
+config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
+	bool "Handle window resize"
+	default BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Behave nicely with terminals that get resized.
+
+config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
+	bool "Use 'tell me cursor position' ESC sequence to measure window"
+	default BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL
+	depends on BUSYBOX_CONFIG_VI
+	help
+	If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+	this option makes vi perform a last-ditch effort to find it:
+	position cursor to 999,999 and ask terminal to report real
+	cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+	This is not clean but helps a lot on serial lines and such.
+
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO
+	bool "Support undo command \"u\""
+	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Support the 'u' command to undo insertion, deletion, and replacement
+	of text.
+
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE
+	bool "Enable undo operation queuing"
+	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
+	depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO
+	help
+	The vi undo functions can use an intermediate queue to greatly lower
+	malloc() calls and overhead. When the maximum size of this queue is
+	reached, the contents of the queue are committed to the undo stack.
+	This increases the size of the undo code and allows some undo
+	operations (especially un-typing/backspacing) to be far more useful.
+
+config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX
+	int "Maximum undo character queue size"
+	default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
+	range 32 65536
+	depends on BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE
+	help
+	This option sets the number of bytes used at runtime for the queue.
+	Smaller values will create more undo objects and reduce the amount
+	of typed or backspaced characters that are grouped into one undo
+	operation; larger values increase the potential size of each undo
+	and will generally malloc() larger objects and less frequently.
+	Unless you want more (or less) frequent "undo points" while typing,
+	you should probably leave this unchanged.
+
+config BUSYBOX_CONFIG_FEATURE_VI_VERBOSE_STATUS
+	bool "Enable verbose status reporting"
+	default BUSYBOX_DEFAULT_FEATURE_VI_VERBOSE_STATUS
+	depends on BUSYBOX_CONFIG_VI
+	help
+	Enable more verbose reporting of the results of yank, change,
+	delete, undo and substitution commands.
+
+config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
+	bool "Allow vi and awk to execute shell commands"
+	default BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
+	depends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK
+	help
+	Enables vi and awk features which allow user to execute
+	shell commands (using system() C call).
+
+endmenu
diff --git a/package/utils/busybox/config/findutils/Config.in b/package/utils/busybox/config/findutils/Config.in
new file mode 100644
index 0000000..805d44f
--- /dev/null
+++ b/package/utils/busybox/config/findutils/Config.in
@@ -0,0 +1,318 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Finding Utilities"
+
+config BUSYBOX_CONFIG_FIND
+	bool "find (14 kb)"
+	default BUSYBOX_DEFAULT_FIND
+	help
+	find is used to search your system to find specified files.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
+	bool "Enable -print0: NUL-terminated output"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Causes output names to be separated by a NUL character
+	rather than a newline. This allows names that contain
+	newlines and other whitespace to be more easily
+	interpreted by other programs.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
+	bool "Enable -mtime: modification time matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Allow searching based on the modification time of
+	files, in days.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_ATIME
+	bool "Enable -atime: access time matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_ATIME
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
+	help
+	Allow searching based on the access time of
+	files, in days.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_CTIME
+	bool "Enable -ctime: status change timestamp matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_CTIME
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
+	help
+	Allow searching based on the status change timestamp of
+	files, in days.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+	bool "Enable -mmin: modification time matching by minutes"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Allow searching based on the modification time of
+	files, in minutes.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_AMIN
+	bool "Enable -amin: access time matching by minutes"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_AMIN
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+	help
+	Allow searching based on the access time of
+	files, in minutes.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_CMIN
+	bool "Enable -cmin: status change timestamp matching by minutes"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_CMIN
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+	help
+	Allow searching based on the status change timestamp of
+	files, in minutes.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_PERM
+	bool "Enable -perm: permissions matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_PERM
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
+	bool "Enable -type: file type matching (file/dir/link/...)"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_TYPE
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Enable searching based on file type (file,
+	directory, socket, device, etc.).
+
+config BUSYBOX_CONFIG_FEATURE_FIND_EXECUTABLE
+	bool "Enable -executable: file is executable"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_EXECUTABLE
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
+	bool "Enable -xdev: 'stay in filesystem'"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_XDEV
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
+	bool "Enable -mindepth N and -maxdepth N"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
+	bool "Enable -newer: compare file modification times"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_NEWER
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -newer' option for finding any files which have
+	modification time that is more recent than the specified FILE.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_INUM
+	bool "Enable -inum: inode number matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_INUM
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_SAMEFILE
+	bool "Enable -samefile: reference file matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -samefile' option for searching by a reference file.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
+	bool "Enable -exec: execute commands"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -exec' option for executing commands based upon
+	the files matched.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_EXEC_PLUS
+	bool "Enable -exec ... {} +"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS
+	depends on BUSYBOX_CONFIG_FEATURE_FIND_EXEC
+	help
+	Support the 'find -exec ... {} +' option for executing commands
+	for all matched files at once.
+	Without this option, -exec + is a synonym for -exec ;
+	(IOW: it works correctly, but without expected speedup)
+
+config BUSYBOX_CONFIG_FEATURE_FIND_USER
+	bool "Enable -user: username/uid matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_USER
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
+	bool "Enable -group: group/gid matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_GROUP
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_NOT
+	bool "Enable the 'not' (!) operator"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_NOT
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the '!' operator to invert the test results.
+	If 'Enable full-blown desktop' is enabled, then will also support
+	the non-POSIX notation '-not'.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
+	bool "Enable -depth"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_DEPTH
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Process each directory's contents before the directory itself.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
+	bool "Enable parens in options"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_PAREN
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Enable usage of parens '(' to specify logical order of arguments.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
+	bool "Enable -size: file size matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_SIZE
+	depends on BUSYBOX_CONFIG_FIND
+
+config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
+	bool "Enable -prune: exclude subdirectories"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	If the file is a directory, don't descend into it. Useful for
+	exclusion .svn and CVS directories.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_QUIT
+	bool "Enable -quit: exit"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_QUIT
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	If this action is reached, 'find' exits.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
+	bool "Enable -delete: delete files/dirs"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_DELETE
+	depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
+	help
+	Support the 'find -delete' option for deleting files and directories.
+	WARNING: This option can do much harm if used wrong. Busybox will not
+	try to protect the user from doing stupid things. Use with care.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_EMPTY
+	bool "Enable -empty: match empty files or directories"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -empty' option to find empty regular files
+	or directories.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_PATH
+	bool "Enable -path: match pathname with shell pattern"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_PATH
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	The -path option matches whole pathname instead of just filename.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
+	bool "Enable -regex: match pathname with regex"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_REGEX
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	The -regex option matches whole pathname against regular expression.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
+	bool "Enable -context: security context matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_CONTEXT
+	depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
+	help
+	Support the 'find -context' option for matching security context.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
+	bool "Enable -links: link count matching"
+	default BUSYBOX_DEFAULT_FEATURE_FIND_LINKS
+	depends on BUSYBOX_CONFIG_FIND
+	help
+	Support the 'find -links' option for matching number of links.
+config BUSYBOX_CONFIG_GREP
+	bool "grep (8.6 kb)"
+	default BUSYBOX_DEFAULT_GREP
+	help
+	grep is used to search files for a specified pattern.
+
+config BUSYBOX_CONFIG_EGREP
+	bool "egrep (7.8 kb)"
+	default BUSYBOX_DEFAULT_EGREP
+	help
+	Alias to "grep -E".
+
+config BUSYBOX_CONFIG_FGREP
+	bool "fgrep (7.8 kb)"
+	default BUSYBOX_DEFAULT_FGREP
+	help
+	Alias to "grep -F".
+
+config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
+	bool "Enable before and after context flags (-A, -B and -C)"
+	default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT
+	depends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP || BUSYBOX_CONFIG_FGREP
+	help
+	Print the specified number of leading (-B) and/or trailing (-A)
+	context surrounding our matching lines.
+	Print the specified number of context lines (-C).
+config BUSYBOX_CONFIG_XARGS
+	bool "xargs (7.2 kb)"
+	default BUSYBOX_DEFAULT_XARGS
+	help
+	xargs is used to execute a specified command for
+	every item from standard input.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
+	bool "Enable -p: prompt and confirmation"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_CONFIRMATION
+	depends on BUSYBOX_CONFIG_XARGS
+	help
+	Support -p: prompt the user whether to run each command
+	line and read a line from the terminal.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
+	bool "Enable single and double quotes and backslash"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_QUOTES
+	depends on BUSYBOX_CONFIG_XARGS
+	help
+	Support quoting in the input.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
+	bool "Enable -x: exit if -s or -n is exceeded"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT
+	depends on BUSYBOX_CONFIG_XARGS
+	help
+	Support -x: exit if the command size (see the -s or -n option)
+	is exceeded.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
+	bool "Enable -0: NUL-terminated input"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM
+	depends on BUSYBOX_CONFIG_XARGS
+	help
+	Support -0: input items are terminated by a NUL character
+	instead of whitespace, and the quotes and backslash
+	are not special.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR
+	bool "Enable -I STR: string to replace"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
+	depends on BUSYBOX_CONFIG_XARGS
+	help
+	Support -I STR and -i[STR] options.
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL
+	bool "Enable -P N: processes to run in parallel"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_PARALLEL
+	depends on BUSYBOX_CONFIG_XARGS
+
+config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE
+	bool "Enable -a FILE: use FILE instead of stdin"
+	default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ARGS_FILE
+	depends on BUSYBOX_CONFIG_XARGS
+
+endmenu
diff --git a/package/utils/busybox/config/init/Config.in b/package/utils/busybox/config/init/Config.in
new file mode 100644
index 0000000..fc6c916
--- /dev/null
+++ b/package/utils/busybox/config/init/Config.in
@@ -0,0 +1,206 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Init Utilities"
+
+config BUSYBOX_CONFIG_BOOTCHARTD
+	bool "bootchartd (10 kb)"
+	default BUSYBOX_DEFAULT_BOOTCHARTD
+	help
+	bootchartd is commonly used to profile the boot process
+	for the purpose of speeding it up. In this case, it is started
+	by the kernel as the init process. This is configured by adding
+	the init=/sbin/bootchartd option to the kernel command line.
+
+	It can also be used to monitor the resource usage of a specific
+	application or the running system in general. In this case,
+	bootchartd is started interactively by running bootchartd start
+	and stopped using bootchartd stop.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
+	bool "Compatible, bloated header"
+	default BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_BLOATED_HEADER
+	depends on BUSYBOX_CONFIG_BOOTCHARTD
+	help
+	Create extended header file compatible with "big" bootchartd.
+	"Big" bootchartd is a shell script and it dumps some
+	"convenient" info into the header, such as:
+		title = Boot chart for `hostname` (`date`)
+		system.uname = `uname -srvm`
+		system.release = `cat /etc/DISTRO-release`
+		system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
+		system.kernel.options = `cat /proc/cmdline`
+	This data is not mandatory for bootchart graph generation,
+	and is considered bloat. Nevertheless, this option
+	makes bootchartd applet to dump a subset of it.
+
+config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
+	bool "Support bootchartd.conf"
+	default BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_CONFIG_FILE
+	depends on BUSYBOX_CONFIG_BOOTCHARTD
+	help
+	Enable reading and parsing of $PWD/bootchartd.conf
+	and /etc/bootchartd.conf files.
+config BUSYBOX_CONFIG_HALT
+	bool "halt (4 kb)"
+	default BUSYBOX_DEFAULT_HALT
+	help
+	Stop all processes and halt the system.
+
+config BUSYBOX_CONFIG_POWEROFF
+	bool "poweroff (4 kb)"
+	default BUSYBOX_DEFAULT_POWEROFF
+	help
+	Stop all processes and power off the system.
+
+config BUSYBOX_CONFIG_REBOOT
+	bool "reboot (4 kb)"
+	default BUSYBOX_DEFAULT_REBOOT
+	help
+	Stop all processes and reboot the system.
+
+config BUSYBOX_CONFIG_FEATURE_WAIT_FOR_INIT
+	bool "Before signaling init, make sure it is ready for it"
+	default BUSYBOX_DEFAULT_FEATURE_WAIT_FOR_INIT
+	depends on BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT
+	help
+	In rare cases, poweroff may be commanded by firmware to OS
+	even before init process exists. On Linux, this spawns
+	"/sbin/poweroff" very early. This option adds code
+	which checks that init is ready to receive poweroff
+	commands. Code size increase of ~80 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+	bool "Call telinit on shutdown and reboot"
+	default BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT
+	depends on (BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT) && !BUSYBOX_CONFIG_INIT
+	help
+	Call an external program (normally telinit) to facilitate
+	a switch to a proper runlevel.
+
+	This option is only available if you selected halt and friends,
+	but did not select init.
+
+config BUSYBOX_CONFIG_TELINIT_PATH
+	string "Path to telinit executable"
+	default BUSYBOX_DEFAULT_TELINIT_PATH
+	depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
+	help
+	When busybox halt and friends have to call external telinit
+	to facilitate proper shutdown, this path is to be used when
+	locating telinit executable.
+config BUSYBOX_CONFIG_INIT
+	bool "init (10 kb)"
+	default BUSYBOX_DEFAULT_INIT
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	init is the first program run when the system boots.
+
+config BUSYBOX_CONFIG_LINUXRC
+	bool "linuxrc: support running init from initrd (not initramfs)"
+	default BUSYBOX_DEFAULT_LINUXRC
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	Legacy support for running init under the old-style initrd. Allows
+	the name linuxrc to act as init, and it doesn't assume init is PID 1.
+
+	This does not apply to initramfs, which runs /init as PID 1 and
+	requires no special support.
+
+config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
+	bool "Support reading an inittab file"
+	default BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	Allow init to read an inittab file when the system boot.
+
+config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
+	bool "Support killing processes that have been removed from inittab"
+	default BUSYBOX_DEFAULT_FEATURE_KILL_REMOVED
+	depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
+	help
+	When respawn entries are removed from inittab and a SIGHUP is
+	sent to init, this option will make init kill the processes
+	that have been removed.
+
+config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
+	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
+	range 0 1024
+	default BUSYBOX_DEFAULT_FEATURE_KILL_DELAY
+	depends on BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
+	help
+	With nonzero setting, init sends TERM, forks, child waits N
+	seconds, sends KILL and exits. Setting it too high is unwise
+	(child will hang around for too long and could actually kill
+	the wrong process!)
+
+config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
+	bool "Run commands with leading dash with controlling tty"
+	default BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	If this option is enabled, init will try to give a controlling
+	tty to any command which has leading hyphen (often it's "-/bin/sh").
+	More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
+	If device attached to STDIN_FILENO can be a ctty but is not yet
+	a ctty for other session, it will become this process' ctty.
+	This is not the traditional init behavour, but is often what you want
+	in an embedded system where the console is only accessed during
+	development or for maintenance.
+	NB: using cttyhack applet may work better.
+
+config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
+	bool "Enable init to write to syslog"
+	default BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	If selected, some init messages are sent to syslog.
+	Otherwise, they are sent to VT #5 if linux virtual tty is detected
+	(if not, no separate logging is done).
+
+config BUSYBOX_CONFIG_FEATURE_INIT_QUIET
+	bool "Be quiet on boot (no 'init started:' message)"
+	default BUSYBOX_DEFAULT_FEATURE_INIT_QUIET
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+
+config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
+	bool "Support dumping core for child processes (debugging only)"
+	default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS	# not Y because this is a debug option
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	If this option is enabled and the file /.init_enable_core
+	exists, then init will call setrlimit() to allow unlimited
+	core file sizes. If this option is disabled, processes
+	will not generate any core files.
+
+config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
+	string "Initial terminal type"
+	default BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	This is the initial value set by init for the TERM environment
+	variable. This variable is used by programs which make use of
+	extended terminal capabilities.
+
+	Note that on Linux, init attempts to detect serial terminal and
+	sets TERM to "vt102" if one is found.
+
+config BUSYBOX_CONFIG_FEATURE_INIT_MODIFY_CMDLINE
+	bool "Clear init's command line"
+	default BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
+	depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
+	help
+	When launched as PID 1 and after parsing its arguments, init
+	wipes all the arguments but argv[0] and rewrites argv[0] to
+	contain only "init", so that its command line appears solely as
+	"init" in tools such as ps.
+	If this option is set to Y, init will keep its original behavior,
+	otherwise, all the arguments including argv[0] will be preserved,
+	be they parsed or ignored by init.
+	The original command-line used to launch init can then be
+	retrieved in /proc/1/cmdline on Linux, for example.
+
+endmenu
diff --git a/package/utils/busybox/config/klibc-utils/Config.in b/package/utils/busybox/config/klibc-utils/Config.in
new file mode 100644
index 0000000..06b9681
--- /dev/null
+++ b/package/utils/busybox/config/klibc-utils/Config.in
@@ -0,0 +1,42 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "klibc-utils"
+
+config BUSYBOX_CONFIG_MINIPS
+	bool "minips (11 kb)"
+	default BUSYBOX_DEFAULT_MINIPS  # for god's sake, just use "ps" name in your scripts
+	help
+	Alias to "ps".
+config BUSYBOX_CONFIG_NUKE
+	bool "nuke (2.9 kb)"
+	default BUSYBOX_DEFAULT_NUKE  # off by default: too "accidentally destructive"
+	help
+	Alias to "rm -rf".
+config BUSYBOX_CONFIG_RESUME
+	bool "resume (3.2 kb)"
+	default BUSYBOX_DEFAULT_RESUME
+	help
+	Resume from saved "suspend-to-disk" image
+config BUSYBOX_CONFIG_RUN_INIT
+	bool "run-init (7.7 kb)"
+	default BUSYBOX_DEFAULT_RUN_INIT
+	help
+	The run-init utility is used from initramfs to select a new
+	root device. Under initramfs, you have to use this instead of
+	pivot_root.
+
+	Booting with initramfs extracts a gzipped cpio archive into rootfs
+	(which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+	or unmounted, pivot_root will not work from initramfs. Instead,
+	run-init deletes everything out of rootfs (including itself),
+	does a mount --move that overmounts rootfs with the new root, and
+	then execs the specified init program.
+
+	util-linux has a similar tool, switch-root.
+	run-init differs by also having a "-d CAPS_TO_DROP" option.
+
+endmenu
diff --git a/package/utils/busybox/config/libbb/Config.in b/package/utils/busybox/config/libbb/Config.in
new file mode 100644
index 0000000..b3a83b9
--- /dev/null
+++ b/package/utils/busybox/config/libbb/Config.in
@@ -0,0 +1,449 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+comment "Library Tuning"
+
+config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
+	bool "Use the end of BSS page"
+	default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
+	help
+	Attempt to reclaim a small unused part of BSS.
+
+	Executables have the following parts:
+	= read-only executable code and constants, also known as "text"
+	= read-write data
+	= non-initialized (zeroed on demand) data, also known as "bss"
+
+	At link time, "text" is padded to a full page. At runtime, all "text"
+	pages are mapped RO and executable.
+
+	"Data" starts on the next page boundary, but is not padded
+	to a full page at the end. "Bss" starts wherever "data" ends.
+	At runtime, "data" pages are mapped RW and they are file-backed
+	(this includes a small portion of "bss" which may live in the last
+	partial page of "data").
+	Pages which are fully in "bss" are mapped to anonymous memory.
+
+	"Bss" end is usually not page-aligned. There is an unused space
+	in the last page. Linker marks its start with the "_end" symbol.
+
+	This option will attempt to use that space for bb_common_bufsiz1[]
+	array. If it fits after _end, it will be used, and COMMON_BUFSIZE
+	will be enlarged from its guaranteed minimum size of 1 kbyte.
+	This may require recompilation a second time, since value of _end
+	is known only after final link.
+
+	If you are getting a build error like this:
+		appletlib.c:(.text.main+0xd): undefined reference to '_end'
+	disable this option.
+config BUSYBOX_CONFIG_FLOAT_DURATION
+	bool "Enable fractional duration arguments"
+	default BUSYBOX_DEFAULT_FLOAT_DURATION
+	help
+	Allow sleep N.NNN, top -d N.NNN etc.
+config BUSYBOX_CONFIG_FEATURE_RTMINMAX
+	bool "Support RTMIN[+n] and RTMAX[-n] signal names"
+	default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
+	help
+	Support RTMIN[+n] and RTMAX[-n] signal names
+	in kill, killall etc. This costs ~250 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
+	bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
+	default BUSYBOX_DEFAULT_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
+	depends on BUSYBOX_CONFIG_FEATURE_RTMINMAX
+	help
+	Some C libraries reserve a few real-time signals for internal
+	use, and adjust the values of SIGRTMIN/SIGRTMAX seen by
+	applications accordingly. Saying yes here means that a signal
+	name RTMIN+n will be interpreted according to the libc definition
+	of SIGRTMIN, and not the raw definition provided by the kernel.
+	This behavior matches "kill -l RTMIN+n" from bash.
+
+choice
+	prompt "Buffer allocation policy"
+	default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
+	help
+	There are 3 ways busybox can handle buffer allocations:
+	- Use malloc. This costs code size for the call to xmalloc.
+	- Put them on stack. For some very small machines with limited stack
+	space, this can be deadly. For most folks, this works just fine.
+	- Put them in BSS. This works beautifully for computers with a real
+	MMU (and OS support), but wastes runtime RAM for uCLinux. This
+	behavior was the only one available for versions 0.48 and earlier.
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
+	bool "Allocate with Malloc"
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
+	bool "Allocate on the Stack"
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
+	bool "Allocate in the .bss section"
+
+endchoice
+
+config BUSYBOX_CONFIG_PASSWORD_MINLEN
+	int "Minimum password length"
+	default BUSYBOX_DEFAULT_PASSWORD_MINLEN
+	range 5 32
+	help
+	Minimum allowable password length.
+
+config BUSYBOX_CONFIG_MD5_SMALL
+	int "MD5: Trade bytes for speed (0:fast, 3:slow)"
+	default BUSYBOX_DEFAULT_MD5_SMALL  # all "fast or small" options default to small
+	range 0 3
+	help
+	Trade binary size versus speed for the md5 algorithm.
+	Approximate values running uClibc and hashing
+	linux-2.4.4.tar.bz2 were:
+	value           user times (sec)  text size (386)
+	0 (fastest)     1.1               6144
+	1               1.4               5392
+	2               3.0               5088
+	3 (smallest)    5.1               4912
+
+config BUSYBOX_CONFIG_SHA1_SMALL
+	int "SHA1: Trade bytes for speed (0:fast, 3:slow)"
+	default BUSYBOX_DEFAULT_SHA1_SMALL  # all "fast or small" options default to small
+	range 0 3
+	help
+	Trade binary size versus speed for the sha1 algorithm.
+	With FEATURE_COPYBUF_KB=64:
+	                throughput MB/s   size of sha1_process_block64
+	value           486  x86-64       486   x86-64
+	0               440  485          3481  3502
+	1               265  265           641   696
+	2,3             220  210           342   364
+
+config BUSYBOX_CONFIG_SHA1_HWACCEL
+	bool "SHA1: Use hardware accelerated instructions if possible"
+	default BUSYBOX_DEFAULT_SHA1_HWACCEL
+	help
+	On x86, this adds ~590 bytes of code. Throughput
+	is about twice as fast as fully-unrolled generic code.
+
+config BUSYBOX_CONFIG_SHA256_HWACCEL
+	bool "SHA256: Use hardware accelerated instructions if possible"
+	default BUSYBOX_DEFAULT_SHA256_HWACCEL
+	help
+	On x86, this adds ~1k bytes of code.
+
+config BUSYBOX_CONFIG_SHA3_SMALL
+	int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
+	default BUSYBOX_DEFAULT_SHA3_SMALL  # all "fast or small" options default to small
+	range 0 1
+	help
+	Trade binary size versus speed for the sha3 algorithm.
+	SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
+	64-bit x86: +270 bytes of code, 45% faster
+	32-bit x86: +450 bytes of code, 75% faster
+
+config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
+	bool "Non-POSIX, but safer, copying to special nodes"
+	default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
+	help
+	With this option, "cp file symlink" will delete symlink
+	and create a regular file. This does not conform to POSIX,
+	but prevents a symlink attack.
+	Similarly, "cp file device" will not send file's data
+	to the device. (To do that, use "cat file >device")
+
+config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
+	bool "Give more precise messages when copy fails (cp, mv etc)"
+	default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
+	help
+	Error messages with this feature enabled:
+
+	$ cp file /does_not_exist/file
+	cp: cannot create '/does_not_exist/file': Path does not exist
+	$ cp file /vmlinuz/file
+	cp: cannot stat '/vmlinuz/file': Path has non-directory component
+
+	If this feature is not enabled, they will be, respectively:
+
+	cp: cannot create '/does_not_exist/file': No such file or directory
+	cp: cannot stat '/vmlinuz/file': Not a directory
+
+	This will cost you ~60 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
+	bool "Use sendfile system call"
+	default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
+	help
+	When enabled, busybox will use the kernel sendfile() function
+	instead of read/write loops to copy data between file descriptors
+	(for example, cp command does this a lot).
+	If sendfile() doesn't work, copying code falls back to read/write
+	loop. sendfile() was originally implemented for faster I/O
+	from files to sockets, but since Linux 2.6.33 it was extended
+	to work for many more file types.
+
+config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
+	int "Copy buffer size, in kilobytes"
+	range 1 1024
+	default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
+	help
+	Size of buffer used by cp, mv, install, wget etc.
+	Buffers which are 4 kb or less will be allocated on stack.
+	Bigger buffers will be allocated with mmap, with fallback to 4 kb
+	stack buffer if mmap fails.
+
+config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
+	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
+	default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
+	help
+	Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
+	time intervals (time, ping, traceroute etc need this).
+	Probably requires Linux 2.6+. If not selected, gettimeofday
+	will be used instead (which gives wrong results if date/time
+	is reset).
+
+config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
+	bool "Use ioctl names rather than hex values in error messages"
+	default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
+	help
+	Use ioctl names rather than hex values in error messages
+	(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
+	saves about 1400 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_EDITING
+	bool "Command line editing"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING
+	help
+	Enable line editing (mainly for shell command line).
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
+	int "Maximum length of input"
+	range 128 8192
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Line editing code uses on-stack buffers for storage.
+	You may want to decrease this parameter if your target machine
+	benefits from smaller stack usage.
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_VI
+	bool "vi-style line editing commands"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_VI
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Enable vi-style line editing. In shells, this mode can be
+	turned on and off with "set -o vi" and "set +o vi".
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
+	int "History size"
+	# Don't allow way too big values here, code uses fixed "char *history[N]" struct member
+	range 0 9999
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Specify command history size (0 - disable).
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
+	bool "History saving"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Enable history saving in shells.
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
+	bool "Save history on shell exit, not after every command"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
+	help
+	Save history on shell exit, not after every command.
+
+config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
+	bool "Reverse history search"
+	default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Enable readline-like Ctrl-R combination for reverse history search.
+	Increases code by about 0.5k.
+
+config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
+	bool "Tab completion"
+	default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+
+config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
+	bool "Username completion"
+	default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
+	depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
+	bool "Fancy shell prompts"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Setting this option allows for prompts to use things like \w and
+	\$ and escape codes.
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_WINCH
+	bool "Enable automatic tracking of window size changes"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_WINCH
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+
+config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
+	bool "Query cursor position from terminal"
+	default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
+	depends on BUSYBOX_CONFIG_FEATURE_EDITING
+	help
+	Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+	current cursor position. This information is used to make line
+	editing more robust in some cases.
+	If you are not sure whether your terminals respond to this code
+	correctly, or want to save on code size (about 400 bytes),
+	then do not turn this option on.
+
+config BUSYBOX_CONFIG_LOCALE_SUPPORT
+	bool "Enable locale support (system needs locale for this to work)"
+	default BUSYBOX_DEFAULT_LOCALE_SUPPORT
+	help
+	Enable this if your system has locale support and you would like
+	busybox to support locale settings.
+
+config BUSYBOX_CONFIG_UNICODE_SUPPORT
+	bool "Support Unicode"
+	default BUSYBOX_DEFAULT_UNICODE_SUPPORT
+	help
+	This makes various applets aware that one byte is not
+	one character on screen.
+
+	Busybox aims to eventually work correctly with Unicode displays.
+	Any older encodings are not guaranteed to work.
+	Probably by the time when busybox will be fully Unicode-clean,
+	other encodings will be mainly of historic interest.
+
+config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+	bool "Use libc routines for Unicode (else uses internal ones)"
+	default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
+	help
+	With this option on, Unicode support is implemented using libc
+	routines. Otherwise, internal implementation is used.
+	Internal implementation is smaller.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
+	bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
+	default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+	help
+	With this option on, Unicode support is activated
+	only if locale-related variables have the value of the form
+	"xxxx.utf8"
+
+	Otherwise, Unicode support will be always enabled and active.
+
+config BUSYBOX_CONFIG_SUBST_WCHAR
+	int "Character code to substitute unprintable characters with"
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	default BUSYBOX_DEFAULT_SUBST_WCHAR
+	help
+	Typical values are 63 for '?' (works with any output device),
+	30 for ASCII substitute control code,
+	65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
+	int "Range of supported Unicode characters"
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
+	help
+	Any character with Unicode value bigger than this is assumed
+	to be non-printable on output device. Many applets replace
+	such characters with substitution character.
+
+	The idea is that many valid printable Unicode chars
+	nevertheless are not displayed correctly. Think about
+	combining charachers, double-wide hieroglyphs, obscure
+	characters in dozens of ancient scripts...
+	Many terminals, terminal emulators, xterms etc will fail
+	to handle them correctly. Choose the smallest value
+	which suits your needs.
+
+	Typical values are:
+	126 - ASCII only
+	767 (0x2ff) - there are no combining chars in [0..767] range
+			(the range includes Latin 1, Latin Ext. A and B),
+			code is ~700 bytes smaller for this case.
+	4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
+			code is ~300 bytes smaller for this case.
+	12799 (0x31ff) - nearly all non-ideographic characters are
+			available in [0..12799] range, including
+			East Asian scripts like katakana, hiragana, hangul,
+			bopomofo...
+	0 - off, any valid printable Unicode character will be printed.
+
+config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
+	bool "Allow zero-width Unicode characters on output"
+	default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	help
+	With this option off, any Unicode char with width of 0
+	is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
+	bool "Allow wide Unicode characters on output"
+	default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	help
+	With this option off, any Unicode char with width > 1
+	is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
+	bool "Bidirectional character-aware line input"
+	default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+	help
+	With this option on, right-to-left Unicode characters
+	are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
+	bool "In bidi input, support non-ASCII neutral chars too"
+	default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
+	depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
+	help
+	In most cases it's enough to treat only ASCII non-letters
+	(i.e. punctuation, numbers and space) as characters
+	with neutral directionality.
+	With this option on, more extensive (and bigger) table
+	of neutral chars will be used.
+
+config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
+	bool "Make it possible to enter sequences of chars which are not Unicode"
+	default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
+	depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+	help
+	With this option on, on line-editing input (such as used by shells)
+	invalid UTF-8 bytes are not substituted with the selected
+	substitution character.
+	For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
+	at shell prompt will list file named 0xff (single char name
+	with char value 255), not file named '?'.
+
+choice
+	prompt "Use LOOP_CONFIGURE for losetup and loop mounts"
+	default BUSYBOX_CONFIG_TRY_LOOP_CONFIGURE
+	help
+	LOOP_CONFIGURE is added to Linux 5.8
+	https://lwn.net/Articles/820408/
+	This allows userspace to completely setup a loop device with a single
+	ioctl, removing the in-between state where the device can be partially
+	configured - eg the loop device has a backing file associated with it,
+	but is reading from the wrong offset.
+
+config BUSYBOX_CONFIG_LOOP_CONFIGURE
+	bool "use LOOP_CONFIGURE, needs kernel >= 5.8"
+
+config BUSYBOX_CONFIG_NO_LOOP_CONFIGURE
+	bool "use LOOP_SET_FD + LOOP_SET_STATUS"
+
+config BUSYBOX_CONFIG_TRY_LOOP_CONFIGURE
+	bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS"
+
+endchoice
diff --git a/package/utils/busybox/config/loginutils/Config.in b/package/utils/busybox/config/loginutils/Config.in
new file mode 100644
index 0000000..465fa51
--- /dev/null
+++ b/package/utils/busybox/config/loginutils/Config.in
@@ -0,0 +1,330 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Login/Password Management Utilities"
+
+config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
+	bool "Support shadow passwords"
+	default BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
+	help
+	Build support for shadow password in /etc/shadow. This file is only
+	readable by root and thus the encrypted passwords are no longer
+	publicly readable.
+
+config BUSYBOX_CONFIG_USE_BB_PWD_GRP
+	bool "Use internal password and group functions rather than system functions"
+	default BUSYBOX_DEFAULT_USE_BB_PWD_GRP
+	help
+	If you leave this disabled, busybox will use the system's password
+	and group functions. And if you are using the GNU C library
+	(glibc), you will then need to install the /etc/nsswitch.conf
+	configuration file and the required /lib/libnss_* libraries in
+	order for the password and group functions to work. This generally
+	makes your embedded system quite a bit larger.
+
+	Enabling this option will cause busybox to directly access the
+	system's /etc/password, /etc/group files (and your system will be
+	smaller, and I will get fewer emails asking about how glibc NSS
+	works). When this option is enabled, you will not be able to use
+	PAM to access remote LDAP password servers and whatnot. And if you
+	want hostname resolution to work with glibc, you still need the
+	/lib/libnss_* libraries.
+
+	If you need to use glibc's nsswitch.conf mechanism
+	(e.g. if user/group database is NOT stored in /etc/passwd etc),
+	you must NOT use this option.
+
+	If you enable this option, it will add about 1.5k.
+
+config BUSYBOX_CONFIG_USE_BB_SHADOW
+	bool "Use internal shadow password functions"
+	default BUSYBOX_DEFAULT_USE_BB_SHADOW
+	depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
+	help
+	If you leave this disabled, busybox will use the system's shadow
+	password handling functions. And if you are using the GNU C library
+	(glibc), you will then need to install the /etc/nsswitch.conf
+	configuration file and the required /lib/libnss_* libraries in
+	order for the shadow password functions to work. This generally
+	makes your embedded system quite a bit larger.
+
+	Enabling this option will cause busybox to directly access the
+	system's /etc/shadow file when handling shadow passwords. This
+	makes your system smaller (and I will get fewer emails asking about
+	how glibc NSS works). When this option is enabled, you will not be
+	able to use PAM to access shadow passwords from remote LDAP
+	password servers and whatnot.
+
+config BUSYBOX_CONFIG_USE_BB_CRYPT
+	bool "Use internal crypt functions"
+	default BUSYBOX_DEFAULT_USE_BB_CRYPT
+	help
+	Busybox has internal DES and MD5 crypt functions.
+	They produce results which are identical to corresponding
+	standard C library functions.
+
+	If you leave this disabled, busybox will use the system's
+	crypt functions. Most C libraries use large (~70k)
+	static buffers there, and also combine them with more general
+	DES encryption/decryption.
+
+	For busybox, having large static buffers is undesirable,
+	especially on NOMMU machines. Busybox also doesn't need
+	DES encryption/decryption and can do with smaller code.
+
+	If you enable this option, it will add about 4.8k of code
+	if you are building dynamically linked executable.
+	In static build, it makes code _smaller_ by about 1.2k,
+	and likely many kilobytes less of bss.
+
+config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
+	bool "Enable SHA256/512 crypt functions"
+	default BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
+	depends on BUSYBOX_CONFIG_USE_BB_CRYPT
+	help
+	Enable this if you have passwords starting with "$5$" or "$6$"
+	in your /etc/passwd or /etc/shadow files. These passwords
+	are hashed using SHA256 and SHA512 algorithms. Support for them
+	was added to glibc in 2008.
+	With this option off, login will fail password check for any
+	user which has password encrypted with these algorithms.
+
+config BUSYBOX_CONFIG_ADD_SHELL
+	bool "add-shell (3.1 kb)"
+	default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
+	help
+	Add shells to /etc/shells.
+
+config BUSYBOX_CONFIG_REMOVE_SHELL
+	bool "remove-shell (3 kb)"
+	default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
+	help
+	Remove shells from /etc/shells.
+config BUSYBOX_CONFIG_ADDGROUP
+	bool "addgroup (8.6 kb)"
+	default BUSYBOX_DEFAULT_ADDGROUP
+	select BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Utility for creating a new group account.
+
+config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
+	bool "Support adding users to groups"
+	default BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
+	depends on BUSYBOX_CONFIG_ADDGROUP
+	help
+	If called with two non-option arguments,
+	addgroup will add an existing user to an
+	existing group.
+config BUSYBOX_CONFIG_ADDUSER
+	bool "adduser (15 kb)"
+	default BUSYBOX_DEFAULT_ADDUSER
+	select BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Utility for creating a new user account.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
+	bool "Enable sanity check on user/group names in adduser and addgroup"
+	default BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES
+	depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+	help
+	Enable sanity check on user and group names in adduser and addgroup.
+	To avoid problems, the user or group name should consist only of
+	letters, digits, underscores, periods, at signs and dashes,
+	and not start with a dash (as defined by IEEE Std 1003.1-2001).
+	For compatibility with Samba machine accounts "$" is also supported
+	at the end of the user or group name.
+
+config BUSYBOX_CONFIG_LAST_ID
+	int "Last valid uid or gid for adduser and addgroup"
+	depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+	default BUSYBOX_DEFAULT_LAST_ID
+	help
+	Last valid uid or gid for adduser and addgroup
+
+config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
+	int "First valid system uid or gid for adduser and addgroup"
+	depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+	range 0 BUSYBOX_CONFIG_LAST_ID
+	default BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
+	help
+	First valid system uid or gid for adduser and addgroup
+
+config BUSYBOX_CONFIG_LAST_SYSTEM_ID
+	int "Last valid system uid or gid for adduser and addgroup"
+	depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+	range BUSYBOX_CONFIG_FIRST_SYSTEM_ID BUSYBOX_CONFIG_LAST_ID
+	default BUSYBOX_DEFAULT_LAST_SYSTEM_ID
+	help
+	Last valid system uid or gid for adduser and addgroup
+config BUSYBOX_CONFIG_CHPASSWD
+	bool "chpasswd (18 kb)"
+	default BUSYBOX_DEFAULT_CHPASSWD
+	help
+	Reads a file of user name and password pairs from standard input
+	and uses this information to update a group of existing users.
+
+config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
+	string "Default encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)"
+	default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
+	depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW || BUSYBOX_CONFIG_CHPASSWD
+	help
+	Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
+config BUSYBOX_CONFIG_CRYPTPW
+	bool "cryptpw (14 kb)"
+	default BUSYBOX_DEFAULT_CRYPTPW
+	help
+	Encrypts the given password with the crypt(3) libc function
+	using the given salt.
+
+config BUSYBOX_CONFIG_MKPASSWD
+	bool "mkpasswd (15 kb)"
+	default BUSYBOX_DEFAULT_MKPASSWD
+	help
+	Encrypts the given password with the crypt(3) libc function
+	using the given salt. Debian has this utility under mkpasswd
+	name. Busybox provides mkpasswd as an alias for cryptpw.
+config BUSYBOX_CONFIG_DELUSER
+	bool "deluser (9.1 kb)"
+	default BUSYBOX_DEFAULT_DELUSER
+	help
+	Utility for deleting a user account.
+
+config BUSYBOX_CONFIG_DELGROUP
+	bool "delgroup (6.4 kb)"
+	default BUSYBOX_DEFAULT_DELGROUP
+	help
+	Utility for deleting a group account.
+
+config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
+	bool "Support removing users from groups"
+	default BUSYBOX_DEFAULT_FEATURE_DEL_USER_FROM_GROUP
+	depends on BUSYBOX_CONFIG_DELGROUP
+	help
+	If called with two non-option arguments, deluser
+	or delgroup will remove an user from a specified group.
+config BUSYBOX_CONFIG_GETTY
+	bool "getty (10 kb)"
+	default BUSYBOX_DEFAULT_GETTY
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	getty lets you log in on a tty. It is normally invoked by init.
+
+	Note that you can save a few bytes by disabling it and
+	using login applet directly.
+	If you need to reset tty attributes before calling login,
+	this script approximates getty:
+
+	exec </dev/$1 >/dev/$1 2>&1 || exit 1
+	reset
+	stty sane; stty ispeed 38400; stty ospeed 38400
+	printf "%s login: " "`hostname`"
+	read -r login
+	exec /bin/login "$login"
+config BUSYBOX_CONFIG_LOGIN
+	bool "login (24 kb)"
+	default BUSYBOX_DEFAULT_LOGIN
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	login is used when signing onto a system.
+
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
+
+config BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD
+	bool "Run logged in session in a child process"
+	default BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD if BUSYBOX_CONFIG_PAM
+	depends on BUSYBOX_CONFIG_LOGIN
+	help
+	Run the logged in session in a child process.  This allows
+	login to clean up things such as utmp entries or PAM sessions
+	when the login session is complete.  If you use PAM, you
+	almost always would want this to be set to Y, else PAM session
+	will not be cleaned up.
+
+config BUSYBOX_CONFIG_LOGIN_SCRIPTS
+	bool "Support login scripts"
+	depends on BUSYBOX_CONFIG_LOGIN
+	default BUSYBOX_DEFAULT_LOGIN_SCRIPTS
+	help
+	Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
+	just prior to switching from root to logged-in user.
+
+config BUSYBOX_CONFIG_FEATURE_NOLOGIN
+	bool "Support /etc/nologin"
+	default BUSYBOX_DEFAULT_FEATURE_NOLOGIN
+	depends on BUSYBOX_CONFIG_LOGIN
+	help
+	The file /etc/nologin is used by (some versions of) login(1).
+	If it exists, non-root logins are prohibited.
+
+config BUSYBOX_CONFIG_FEATURE_SECURETTY
+	bool "Support /etc/securetty"
+	default BUSYBOX_DEFAULT_FEATURE_SECURETTY
+	depends on BUSYBOX_CONFIG_LOGIN
+	help
+	The file /etc/securetty is used by (some versions of) login(1).
+	The file contains the device names of tty lines (one per line,
+	without leading /dev/) on which root is allowed to login.
+config BUSYBOX_CONFIG_PASSWD
+	bool "passwd (21 kb)"
+	default BUSYBOX_DEFAULT_PASSWD
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	passwd changes passwords for user and group accounts. A normal user
+	may only change the password for his/her own account, the super user
+	may change the password for any account. The administrator of a group
+	may change the password for the group.
+
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
+
+config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
+	bool "Check new passwords for weakness"
+	default BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK
+	depends on BUSYBOX_CONFIG_PASSWD
+	help
+	With this option passwd will refuse new passwords which are "weak".
+config BUSYBOX_CONFIG_SU
+	bool "su (19 kb)"
+	default BUSYBOX_DEFAULT_SU
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	su is used to become another user during a login session.
+	Invoked without a username, su defaults to becoming the super user.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
+
+config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG
+	bool "Log to syslog all attempts to use su"
+	default BUSYBOX_DEFAULT_FEATURE_SU_SYSLOG
+	depends on BUSYBOX_CONFIG_SU
+
+config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
+	bool "If user's shell is not in /etc/shells, disallow -s PROG"
+	default BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS
+	depends on BUSYBOX_CONFIG_SU
+
+config BUSYBOX_CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
+	bool "Allow blank passwords only on TTYs in /etc/securetty"
+	default BUSYBOX_DEFAULT_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
+	depends on BUSYBOX_CONFIG_SU
+config BUSYBOX_CONFIG_SULOGIN
+	bool "sulogin (17 kb)"
+	default BUSYBOX_DEFAULT_SULOGIN
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	sulogin is invoked when the system goes into single user
+	mode (this is done through an entry in inittab).
+config BUSYBOX_CONFIG_VLOCK
+	bool "vlock (17 kb)"
+	default BUSYBOX_DEFAULT_VLOCK
+	help
+	Build the "vlock" applet which allows you to lock (virtual) terminals.
+
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
+
+endmenu
diff --git a/package/utils/busybox/config/mailutils/Config.in b/package/utils/busybox/config/mailutils/Config.in
new file mode 100644
index 0000000..ea7ae6d
--- /dev/null
+++ b/package/utils/busybox/config/mailutils/Config.in
@@ -0,0 +1,51 @@
+# DO NOT EDIT. This file is generated from Config.src
+menu "Mail Utilities"
+
+config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
+	string "Default charset"
+	default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
+	depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
+	help
+	Default charset of the message.
+
+config BUSYBOX_CONFIG_MAKEMIME
+	bool "makemime (5.4 kb)"
+	default BUSYBOX_DEFAULT_MAKEMIME
+	help
+	Create MIME-formatted messages.
+config BUSYBOX_CONFIG_POPMAILDIR
+	bool "popmaildir (10 kb)"
+	default BUSYBOX_DEFAULT_POPMAILDIR
+	help
+	Simple yet powerful POP3 mail popper. Delivers content
+	of remote mailboxes to local Maildir.
+
+config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
+	bool "Allow message filters and custom delivery program"
+	default BUSYBOX_DEFAULT_FEATURE_POPMAILDIR_DELIVERY
+	depends on BUSYBOX_CONFIG_POPMAILDIR
+	help
+	Allow to use a custom program to filter the content
+	of the message before actual delivery (-F "prog [args...]").
+	Allow to use a custom program for message actual delivery
+	(-M "prog [args...]").
+config BUSYBOX_CONFIG_REFORMIME
+	bool "reformime (7.5 kb)"
+	default BUSYBOX_DEFAULT_REFORMIME
+	help
+	Parse MIME-formatted messages.
+
+config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
+	bool "Accept and ignore options other than -x and -X"
+	default BUSYBOX_DEFAULT_FEATURE_REFORMIME_COMPAT
+	depends on BUSYBOX_CONFIG_REFORMIME
+	help
+	Accept (for compatibility only) and ignore options
+	other than -x and -X.
+config BUSYBOX_CONFIG_SENDMAIL
+	bool "sendmail (14 kb)"
+	default BUSYBOX_DEFAULT_SENDMAIL
+	help
+	Barebones sendmail.
+
+endmenu
diff --git a/package/utils/busybox/config/miscutils/Config.in b/package/utils/busybox/config/miscutils/Config.in
new file mode 100644
index 0000000..e15e318
--- /dev/null
+++ b/package/utils/busybox/config/miscutils/Config.in
@@ -0,0 +1,824 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Miscellaneous Utilities"
+
+config BUSYBOX_CONFIG_ADJTIMEX
+	bool "adjtimex (4.7 kb)"
+	default BUSYBOX_DEFAULT_ADJTIMEX
+	help
+	Adjtimex reads and optionally sets adjustment parameters for
+	the Linux clock adjustment algorithm.
+config BUSYBOX_CONFIG_ASCII
+	bool "ascii"
+	default BUSYBOX_DEFAULT_ASCII
+	help
+	Print ascii table.
+
+config BUSYBOX_CONFIG_BBCONFIG
+	bool "bbconfig (9.7 kb)"
+	default BUSYBOX_DEFAULT_BBCONFIG
+	help
+	The bbconfig applet will print the config file with which
+	busybox was built.
+
+config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
+	bool "Compress bbconfig data"
+	default BUSYBOX_DEFAULT_FEATURE_COMPRESS_BBCONFIG
+	depends on BUSYBOX_CONFIG_BBCONFIG
+	help
+	Store bbconfig data in compressed form, uncompress them on-the-fly
+	before output.
+
+	If you have a really tiny busybox with few applets enabled (and
+	bunzip2 isn't one of them), the overhead of the decompressor might
+	be noticeable. Also, if you run executables directly from ROM
+	and have very little memory, this might not be a win. Otherwise,
+	you probably want this.
+config BUSYBOX_CONFIG_BC
+	bool "bc (45 kb)"
+	default BUSYBOX_DEFAULT_BC
+	select BUSYBOX_CONFIG_FEATURE_DC_BIG
+	help
+	bc is a command-line, arbitrary-precision calculator with a
+	Turing-complete language. See the GNU bc manual
+	(https://www.gnu.org/software/bc/manual/bc.html) and bc spec
+	(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html).
+
+	This bc has five differences to the GNU bc:
+	  1) The period (.) is a shortcut for "last", as in the BSD bc.
+	  2) Arrays are copied before being passed as arguments to
+	     functions. This behavior is required by the bc spec.
+	  3) Arrays can be passed to the builtin "length" function to get
+	     the number of elements in the array. This prints "1":
+		a[0] = 0; length(a[])
+	  4) The precedence of the boolean "not" operator (!) is equal to
+	     that of the unary minus (-) negation operator. This still
+	     allows POSIX-compliant scripts to work while somewhat
+	     preserving expected behavior (versus C) and making parsing
+	     easier.
+	  5) "read()" accepts expressions, not only numeric literals.
+
+config BUSYBOX_CONFIG_DC
+	bool "dc (36 kb)"
+	default BUSYBOX_DEFAULT_DC
+	help
+	dc is a reverse-polish notation command-line calculator which
+	supports unlimited precision arithmetic. See the FreeBSD man page
+	(https://www.unix.com/man-page/FreeBSD/1/dc/) and GNU dc manual
+	(https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html).
+
+	This dc has a few differences from the two above:
+	  1) When printing a byte stream (command "P"), this dc follows what
+	     the FreeBSD dc does.
+	  2) Implements the GNU extensions for divmod ("~") and
+	     modular exponentiation ("|").
+	  3) Implements all FreeBSD extensions, except for "J" and "M".
+	  4) Like the FreeBSD dc, this dc supports extended registers.
+	     However, they are implemented differently. When it encounters
+	     whitespace where a register should be, it skips the whitespace.
+	     If the character following is not a lowercase letter, an error
+	     is issued. Otherwise, the register name is parsed by the
+	     following regex: [a-z][a-z0-9_]*
+	     This generally means that register names will be surrounded by
+	     whitespace. Examples:
+		l idx s temp L index S temp2 < do_thing
+	     Also note that, like the FreeBSD dc, extended registers are not
+	     allowed unless the "-x" option is given.
+
+if BC || BUSYBOX_CONFIG_DC  # for menuconfig indenting
+
+config BUSYBOX_CONFIG_FEATURE_DC_BIG
+	bool "Use bc code base for dc (larger, more features)"
+	default BUSYBOX_DEFAULT_FEATURE_DC_BIG
+
+config BUSYBOX_CONFIG_FEATURE_DC_LIBM
+	bool "Enable power and exp functions (requires libm)"
+	default BUSYBOX_DEFAULT_FEATURE_DC_LIBM
+	depends on BUSYBOX_CONFIG_DC && !BUSYBOX_CONFIG_BC && !BUSYBOX_CONFIG_FEATURE_DC_BIG
+	help
+	Enable power and exp functions.
+	NOTE: This will require libm to be present for linking.
+
+config BUSYBOX_CONFIG_FEATURE_BC_INTERACTIVE
+	bool "Interactive mode (+4kb)"
+	default BUSYBOX_DEFAULT_FEATURE_BC_INTERACTIVE
+	depends on BUSYBOX_CONFIG_BC || (BUSYBOX_CONFIG_DC && BUSYBOX_CONFIG_FEATURE_DC_BIG)
+	help
+	Enable interactive mode: when started on a tty,
+	^C interrupts execution and returns to command line,
+	errors also return to command line instead of exiting,
+	line editing with history is available.
+
+	With this option off, input can still be taken from tty,
+	but all errors are fatal, ^C is fatal,
+	tty is treated exactly the same as any other
+	standard input (IOW: no line editing).
+
+config BUSYBOX_CONFIG_FEATURE_BC_LONG_OPTIONS
+	bool "Enable bc/dc long options"
+	default BUSYBOX_DEFAULT_FEATURE_BC_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_BC || (BUSYBOX_CONFIG_DC && BUSYBOX_CONFIG_FEATURE_DC_BIG)
+
+endif
+config BUSYBOX_CONFIG_BEEP
+	bool "beep (2.4 kb)"
+	default BUSYBOX_DEFAULT_BEEP
+	help
+	The beep applets beeps in a given freq/Hz.
+
+config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
+	int "default frequency"
+	range 20 50000	# allowing 0 here breaks the build
+	default BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ
+	depends on BUSYBOX_CONFIG_BEEP
+	help
+	Frequency for default beep.
+
+config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
+	int "default length"
+	range 0 2147483647
+	default BUSYBOX_DEFAULT_FEATURE_BEEP_LENGTH_MS
+	depends on BUSYBOX_CONFIG_BEEP
+	help
+	Length in ms for default beep.
+config BUSYBOX_CONFIG_CHAT
+	bool "chat (6.3 kb)"
+	default BUSYBOX_DEFAULT_CHAT
+	help
+	Simple chat utility.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_NOFAIL
+	bool "Enable NOFAIL expect strings"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_NOFAIL
+	help
+	When enabled expect strings which are started with a dash trigger
+	no-fail mode. That is when expectation is not met within timeout
+	the script is not terminated but sends next SEND string and waits
+	for next EXPECT string. This allows to compose far more flexible
+	scripts.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_TTY_HIFI
+	bool "Force STDIN to be a TTY"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_TTY_HIFI
+	help
+	Original chat always treats STDIN as a TTY device and sets for it
+	so-called raw mode. This option turns on such behaviour.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_IMPLICIT_CR
+	bool "Enable implicit Carriage Return"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_IMPLICIT_CR
+	help
+	When enabled make chat to terminate all SEND strings with a "\r"
+	unless "\c" is met anywhere in the string.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_SWALLOW_OPTS
+	bool "Swallow options"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_SWALLOW_OPTS
+	help
+	Busybox chat require no options. To make it not fail when used
+	in place of original chat (which has a bunch of options) turn
+	this on.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_SEND_ESCAPES
+	bool "Support weird SEND escapes"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_SEND_ESCAPES
+	help
+	Original chat uses some escape sequences in SEND arguments which
+	are not sent to device but rather performs special actions.
+	E.g. "\K" means to send a break sequence to device.
+	"\d" delays execution for a second, "\p" -- for a 1/100 of second.
+	Before turning this option on think twice: do you really need them?
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_VAR_ABORT_LEN
+	bool "Support variable-length ABORT conditions"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_VAR_ABORT_LEN
+	help
+	Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
+
+config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
+	bool "Support revoking of ABORT conditions"
+	depends on BUSYBOX_CONFIG_CHAT
+	default BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
+	help
+	Support CLR_ABORT directive.
+config BUSYBOX_CONFIG_CONSPY
+	bool "conspy (10 kb)"
+	default BUSYBOX_DEFAULT_CONSPY
+	help
+	A text-mode VNC like program for Linux virtual terminals.
+	example:  conspy NUM      shared access to console num
+	or        conspy -nd NUM  screenshot of console num
+	or        conspy -cs NUM  poor man's GNU screen like
+config BUSYBOX_CONFIG_CROND
+	bool "crond (14 kb)"
+	default BUSYBOX_DEFAULT_CROND
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	Crond is a background daemon that parses individual crontab
+	files and executes commands on behalf of the users in question.
+	This is a port of dcron from slackware. It uses files of the
+	format /var/spool/cron/crontabs/<username> files, for example:
+		$ cat /var/spool/cron/crontabs/root
+		# Run daily cron jobs at 4:40 every day:
+		40 4 * * * /etc/cron/daily > /dev/null 2>&1
+
+config BUSYBOX_CONFIG_FEATURE_CROND_D
+	bool "Support -d (redirect output to stderr)"
+	depends on BUSYBOX_CONFIG_CROND
+	default BUSYBOX_DEFAULT_FEATURE_CROND_D
+	help
+	-d N sets loglevel (0:most verbose) and directs all output to stderr.
+
+config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
+	bool "Report command output via email (using sendmail)"
+	default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
+	depends on BUSYBOX_CONFIG_CROND
+	help
+	Command output will be sent to corresponding user via email.
+
+config BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES
+	bool "Support special times (@reboot, @daily, etc) in crontabs"
+	default BUSYBOX_DEFAULT_FEATURE_CROND_SPECIAL_TIMES
+	depends on BUSYBOX_CONFIG_CROND
+	help
+	string        meaning
+	------        -------
+	@reboot       Run once, at startup
+	@yearly       Run once a year:  "0 0 1 1 *"
+	@annually     Same as @yearly:  "0 0 1 1 *"
+	@monthly      Run once a month: "0 0 1 * *"
+	@weekly       Run once a week:  "0 0 * * 0"
+	@daily        Run once a day:   "0 0 * * *"
+	@midnight     Same as @daily:   "0 0 * * *"
+	@hourly       Run once an hour: "0 * * * *"
+
+config BUSYBOX_CONFIG_FEATURE_CROND_DIR
+	string "crond spool directory"
+	default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
+	depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
+	help
+	Location of crond spool.
+config BUSYBOX_CONFIG_CRONTAB
+	bool "crontab (10 kb)"
+	default BUSYBOX_DEFAULT_CRONTAB
+	help
+	Crontab manipulates the crontab for a particular user. Only
+	the superuser may specify a different user and/or crontab directory.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
+config BUSYBOX_CONFIG_DEVFSD
+	bool "devfsd (obsolete)"
+	default BUSYBOX_DEFAULT_DEVFSD
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	This is deprecated and should NOT be used anymore.
+	Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+	See docs/mdev.txt for detailed instructions on how to use mdev
+	instead.
+
+	Provides compatibility with old device names on a devfs systems.
+	You should set it to true if you have devfs enabled.
+	The following keywords in devsfd.conf are supported:
+	"CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
+	"PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
+	"MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
+
+	But only if they are written UPPERCASE!!!!!!!!
+
+config BUSYBOX_CONFIG_DEVFSD_MODLOAD
+	bool "Adds support for MODLOAD keyword in devsfd.conf"
+	default BUSYBOX_DEFAULT_DEVFSD_MODLOAD
+	depends on BUSYBOX_CONFIG_DEVFSD
+	help
+	This actually doesn't work with busybox modutils but needs
+	the external modutils.
+
+config BUSYBOX_CONFIG_DEVFSD_FG_NP
+	bool "Enable the -fg and -np options"
+	default BUSYBOX_DEFAULT_DEVFSD_FG_NP
+	depends on BUSYBOX_CONFIG_DEVFSD
+	help
+	-fg  Run the daemon in the foreground.
+	-np  Exit after parsing config. Do not poll for events.
+
+config BUSYBOX_CONFIG_DEVFSD_VERBOSE
+	bool "Increases logging (and size)"
+	default BUSYBOX_DEFAULT_DEVFSD_VERBOSE
+	depends on BUSYBOX_CONFIG_DEVFSD
+	help
+	Increases logging to stderr or syslog.
+
+config BUSYBOX_CONFIG_FEATURE_DEVFS
+	bool "Use devfs names for all devices (obsolete)"
+	default BUSYBOX_DEFAULT_FEATURE_DEVFS
+	help
+	This is obsolete and should NOT be used anymore.
+	Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+
+	For legacy systems -- if there is no way around devfsd -- this
+	tells busybox to look for names like /dev/loop/0 instead of
+	/dev/loop0. If your /dev directory has normal names instead of
+	devfs names, you don't want this.
+config BUSYBOX_CONFIG_DEVMEM
+	bool "devmem (2.5 kb)"
+	default BUSYBOX_DEFAULT_DEVMEM
+	help
+	devmem is a small program that reads and writes from physical
+	memory using /dev/mem.
+config BUSYBOX_CONFIG_FBSPLASH
+	bool "fbsplash (26 kb)"
+	default BUSYBOX_DEFAULT_FBSPLASH
+	help
+	Shows splash image and progress bar on framebuffer device.
+	Can be used during boot phase of an embedded device.
+	Usage:
+	- use kernel option 'vga=xxx' or otherwise enable fb device.
+	- put somewhere fbsplash.cfg file and an image in .ppm format.
+	- $ setsid fbsplash [params] &
+	    -c: hide cursor
+	    -d /dev/fbN: framebuffer device (if not /dev/fb0)
+	    -s path_to_image_file (can be "-" for stdin)
+	    -i path_to_cfg_file (can be "-" for stdin)
+	    -f path_to_fifo (can be "-" for stdin)
+	- if you want to run it only in presence of kernel parameter:
+	    grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
+	- commands for fifo:
+	    "NN" (ASCII decimal number) - percentage to show on progress bar
+	    "exit" - well you guessed it
+config BUSYBOX_CONFIG_FLASH_ERASEALL
+	bool "flash_eraseall (5.9 kb)"
+	default BUSYBOX_DEFAULT_FLASH_ERASEALL  # doesn't build on Ubuntu 8.04
+	help
+	The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
+	This utility is used to erase the whole MTD device.
+config BUSYBOX_CONFIG_FLASH_LOCK
+	bool "flash_lock (2.1 kb)"
+	default BUSYBOX_DEFAULT_FLASH_LOCK  # doesn't build on Ubuntu 8.04
+	help
+	The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
+	utility locks part or all of the flash device.
+
+config BUSYBOX_CONFIG_FLASH_UNLOCK
+	bool "flash_unlock (1.3 kb)"
+	default BUSYBOX_DEFAULT_FLASH_UNLOCK  # doesn't build on Ubuntu 8.04
+	help
+	The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
+	utility unlocks part or all of the flash device.
+config BUSYBOX_CONFIG_FLASHCP
+	bool "flashcp (5.3 kb)"
+	default BUSYBOX_DEFAULT_FLASHCP  # doesn't build on Ubuntu 8.04
+	help
+	The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
+	This utility is used to copy images into a MTD device.
+config BUSYBOX_CONFIG_HDPARM
+	bool "hdparm (25 kb)"
+	default BUSYBOX_DEFAULT_HDPARM
+	help
+	Get/Set hard drive parameters. Primarily intended for ATA
+	drives.
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
+	bool "Support obtaining detailed information directly from drives"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_GET_IDENTITY
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the -I and -i options to obtain detailed information
+	directly from drives about their capabilities and supported ATA
+	feature set. If no device name is specified, hdparm will read
+	identify data from stdin. Enabling this option will add about 16k...
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
+	bool "Register an IDE interface (DANGEROUS)"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_SCAN_HWIF
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the 'hdparm -R' option to register an IDE interface.
+	This is dangerous stuff, so you should probably say N.
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
+	bool "Un-register an IDE interface (DANGEROUS)"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the 'hdparm -U' option to un-register an IDE interface.
+	This is dangerous stuff, so you should probably say N.
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
+	bool "Perform device reset (DANGEROUS)"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_DRIVE_RESET
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the 'hdparm -w' option to perform a device reset.
+	This is dangerous stuff, so you should probably say N.
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
+	bool "Tristate device for hotswap (DANGEROUS)"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the 'hdparm -x' option to tristate device for hotswap,
+	and the '-b' option to get/set bus state. This is dangerous
+	stuff, so you should probably say N.
+
+config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
+	bool "Get/set using_dma flag"
+	default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_GETSET_DMA
+	depends on BUSYBOX_CONFIG_HDPARM
+	help
+	Enable the 'hdparm -d' option to get/set using_dma flag.
+config BUSYBOX_CONFIG_HEXEDIT
+	bool "hexedit (21 kb)"
+	default BUSYBOX_DEFAULT_HEXEDIT
+	help
+	Edit file in hexadecimal.
+config BUSYBOX_CONFIG_I2CGET
+	bool "i2cget (5.5 kb)"
+	default BUSYBOX_DEFAULT_I2CGET
+	help
+	Read from I2C/SMBus chip registers.
+
+config BUSYBOX_CONFIG_I2CSET
+	bool "i2cset (6.7 kb)"
+	default BUSYBOX_DEFAULT_I2CSET
+	help
+	Set I2C registers.
+
+config BUSYBOX_CONFIG_I2CDUMP
+	bool "i2cdump (7.1 kb)"
+	default BUSYBOX_DEFAULT_I2CDUMP
+	help
+	Examine I2C registers.
+
+config BUSYBOX_CONFIG_I2CDETECT
+	bool "i2cdetect (7.1 kb)"
+	default BUSYBOX_DEFAULT_I2CDETECT
+	help
+	Detect I2C chips.
+
+config BUSYBOX_CONFIG_I2CTRANSFER
+	bool "i2ctransfer (4.0 kb)"
+	default BUSYBOX_DEFAULT_I2CTRANSFER
+	help
+	Send user-defined I2C messages in one transfer.
+
+config BUSYBOX_CONFIG_INOTIFYD
+	bool "inotifyd (3.6 kb)"
+	default BUSYBOX_DEFAULT_INOTIFYD  # doesn't build on Knoppix 5
+	help
+	Simple inotify daemon. Reports filesystem changes. Requires
+	kernel >= 2.6.13
+config BUSYBOX_CONFIG_LESS
+	bool "less (16 kb)"
+	default BUSYBOX_DEFAULT_LESS
+	help
+	'less' is a pager, meaning that it displays text files. It possesses
+	a wide array of features, and is an improvement over 'more'.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
+	int "Max number of input lines less will try to eat"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES
+	depends on BUSYBOX_CONFIG_LESS
+
+config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
+	bool "Enable bracket searching"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_BRACKETS
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	This option adds the capability to search for matching left and right
+	brackets, facilitating programming.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
+	bool "Enable -m/-M"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_FLAGS
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	The -M/-m flag enables a more sophisticated status line.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_TRUNCATE
+	bool "Enable -S"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_TRUNCATE
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	The -S flag causes long lines to be truncated rather than
+	wrapped.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
+	bool "Enable marks"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_MARKS
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	Marks enable positions in a file to be stored for easy reference.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
+	bool "Enable regular expressions"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_REGEXP
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	Enable regular expressions, allowing complex file searches.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
+	bool "Enable automatic resizing on window size changes"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_WINCH
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	Makes less track window size changes.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
+	bool "Use 'tell me cursor position' ESC sequence to measure window"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_ASK_TERMINAL
+	depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
+	help
+	Makes less track window size changes.
+	If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+	this option makes less perform a last-ditch effort to find it:
+	position cursor to 999,999 and ask terminal to report real
+	cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+	This is not clean but helps a lot on serial lines and such.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+	bool "Enable flag changes ('-' command)"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_DASHCMD
+	depends on BUSYBOX_CONFIG_LESS
+	help
+	This enables the ability to change command-line flags within
+	less itself ('-' keyboard command).
+
+config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
+	bool "Enable -N (dynamic switching of line numbers)"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS
+	depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+
+config BUSYBOX_CONFIG_FEATURE_LESS_RAW
+	bool "Enable -R ('raw control characters')"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_RAW
+	depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+	help
+	This is essential for less applet to work with tools that use colors
+	and paging, such as git, systemd tools or nmcli.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_ENV
+	bool "Take options from $LESS environment variable"
+	default BUSYBOX_DEFAULT_FEATURE_LESS_ENV
+	depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
+	help
+	This is essential for less applet to work with tools that use colors
+	and paging, such as git, systemd tools or nmcli.
+config BUSYBOX_CONFIG_LOCK
+	bool "lock"
+	default BUSYBOX_DEFAULT_LOCK
+	help
+	  Small utility for using locks in scripts
+config BUSYBOX_CONFIG_LSSCSI
+	bool "lsscsi (2.5 kb)"
+	default BUSYBOX_DEFAULT_LSSCSI
+	help
+	lsscsi is a utility for displaying information about SCSI buses in the
+	system and devices connected to them.
+
+	This version uses sysfs (/sys/bus/scsi/devices) only.
+config BUSYBOX_CONFIG_MAKEDEVS
+	bool "makedevs (9.2 kb)"
+	default BUSYBOX_DEFAULT_MAKEDEVS
+	help
+	'makedevs' is a utility used to create a batch of devices with
+	one command.
+
+	There are two choices for command line behaviour, the interface
+	as used by LEAF/Linux Router Project, or a device table file.
+
+	'leaf' is traditionally what busybox follows, it allows multiple
+	devices of a particluar type to be created per command.
+	e.g. /dev/hda[0-9]
+	Device properties are passed as command line arguments.
+
+	'table' reads device properties from a file or stdin, allowing
+	a batch of unrelated devices to be made with one command.
+	User/group names are allowed as an alternative to uid/gid.
+
+choice
+	prompt "Choose makedevs behaviour"
+	depends on BUSYBOX_CONFIG_MAKEDEVS
+	default BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
+
+config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_LEAF
+	bool "leaf"
+
+config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
+	bool "table"
+
+endchoice
+config BUSYBOX_CONFIG_MAN
+	bool "man (26 kb)"
+	default BUSYBOX_DEFAULT_MAN
+	help
+	Format and display manual pages.
+config BUSYBOX_CONFIG_MICROCOM
+	bool "microcom (5.7 kb)"
+	default BUSYBOX_DEFAULT_MICROCOM
+	help
+	The poor man's minicom utility for chatting with serial port devices.
+config BUSYBOX_CONFIG_MIM
+	bool "mim (0.5 kb)"
+	default BUSYBOX_DEFAULT_MIM
+	depends on BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
+	help
+	Run a script from a Makefile-like specification file.
+	Unlike 'make' dependencies aren't supported.
+config BUSYBOX_CONFIG_MT
+	bool "mt (2.5 kb)"
+	default BUSYBOX_DEFAULT_MT
+	help
+	mt is used to control tape devices. You can use the mt utility
+	to advance or rewind a tape past a specified number of archive
+	files on the tape.
+config BUSYBOX_CONFIG_NANDWRITE
+	bool "nandwrite (4.8 kb)"
+	default BUSYBOX_DEFAULT_NANDWRITE
+	help
+	Write to the specified MTD device, with bad blocks awareness
+
+config BUSYBOX_CONFIG_NANDDUMP
+	bool "nanddump (5.2 kb)"
+	default BUSYBOX_DEFAULT_NANDDUMP
+	help
+	Dump the content of raw NAND chip
+config BUSYBOX_CONFIG_PARTPROBE
+	bool "partprobe (3.5 kb)"
+	default BUSYBOX_DEFAULT_PARTPROBE
+	help
+	Ask kernel to rescan partition table.
+config BUSYBOX_CONFIG_RAIDAUTORUN
+	bool "raidautorun (1.3 kb)"
+	default BUSYBOX_DEFAULT_RAIDAUTORUN
+	help
+	raidautorun tells the kernel md driver to
+	search and start RAID arrays.
+config BUSYBOX_CONFIG_READAHEAD
+	bool "readahead (1.5 kb)"
+	default BUSYBOX_DEFAULT_READAHEAD
+	depends on BUSYBOX_CONFIG_LFS
+	help
+	Preload the files listed on the command line into RAM cache so that
+	subsequent reads on these files will not block on disk I/O.
+
+	This applet just calls the readahead(2) system call on each file.
+	It is mainly useful in system startup scripts to preload files
+	or executables before they are used. When used at the right time
+	(in particular when a CPU bound process is running) it can
+	significantly speed up system startup.
+
+	As readahead(2) blocks until each file has been read, it is best to
+	run this applet as a background job.
+config BUSYBOX_CONFIG_RFKILL
+	bool "rfkill (4.4 kb)"
+	default BUSYBOX_DEFAULT_RFKILL # doesn't build on Ubuntu 9.04
+	help
+	Enable/disable wireless devices.
+
+	rfkill list : list all wireless devices
+	rfkill list bluetooth : list all bluetooth devices
+	rfkill list 1 : list device corresponding to the given index
+	rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
+
+config BUSYBOX_CONFIG_RUNLEVEL
+	bool "runlevel (559 bytes)"
+	default BUSYBOX_DEFAULT_RUNLEVEL
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Find the current and previous system runlevel.
+
+	This applet uses utmp but does not rely on busybox supporing
+	utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
+config BUSYBOX_CONFIG_RX
+	bool "rx (2.9 kb)"
+	default BUSYBOX_DEFAULT_RX
+	help
+	Receive files using the Xmodem protocol.
+config BUSYBOX_CONFIG_SEEDRNG
+	bool "seedrng (1.3 kb)"
+	default BUSYBOX_DEFAULT_SEEDRNG
+	help
+	Seed the kernel RNG from seed files, meant to be called
+	once during startup, once during shutdown, and optionally
+	at some periodic interval in between.
+config BUSYBOX_CONFIG_SETFATTR
+	bool "setfattr (3.7 kb)"
+	default BUSYBOX_DEFAULT_SETFATTR
+	help
+	Set/delete extended attributes on files
+config BUSYBOX_CONFIG_SETSERIAL
+	bool "setserial (6.9 kb)"
+	default BUSYBOX_DEFAULT_SETSERIAL
+	help
+	Retrieve or set Linux serial port.
+config BUSYBOX_CONFIG_STRINGS
+	bool "strings (4.6 kb)"
+	default BUSYBOX_DEFAULT_STRINGS
+	help
+	strings prints the printable character sequences for each file
+	specified.
+config BUSYBOX_CONFIG_TIME
+	bool "time (6.8 kb)"
+	default BUSYBOX_DEFAULT_TIME
+	help
+	The time command runs the specified program with the given arguments.
+	When the command finishes, time writes a message to standard output
+	giving timing statistics about this program run.
+config BUSYBOX_CONFIG_TREE
+	bool "tree (0.6 kb)"
+	default BUSYBOX_DEFAULT_TREE
+	help
+	List files and directories in a tree structure.
+config BUSYBOX_CONFIG_TS
+	bool "ts (450 bytes)"
+	default BUSYBOX_DEFAULT_TS
+config BUSYBOX_CONFIG_TTYSIZE
+	bool "ttysize (432 bytes)"
+	default BUSYBOX_DEFAULT_TTYSIZE
+	help
+	A replacement for "stty size". Unlike stty, can report only width,
+	only height, or both, in any order. It also does not complain on
+	error, but returns default 80x24.
+	Usage in shell scripts: width=`ttysize w`.
+config BUSYBOX_CONFIG_UBIATTACH
+	bool "ubiattach (4.2 kb)"
+	default BUSYBOX_DEFAULT_UBIATTACH
+	help
+	Attach MTD device to an UBI device.
+
+config BUSYBOX_CONFIG_UBIDETACH
+	bool "ubidetach (4.1 kb)"
+	default BUSYBOX_DEFAULT_UBIDETACH
+	help
+	Detach MTD device from an UBI device.
+
+config BUSYBOX_CONFIG_UBIMKVOL
+	bool "ubimkvol (5.3 kb)"
+	default BUSYBOX_DEFAULT_UBIMKVOL
+	help
+	Create a UBI volume.
+
+config BUSYBOX_CONFIG_UBIRMVOL
+	bool "ubirmvol (4.9 kb)"
+	default BUSYBOX_DEFAULT_UBIRMVOL
+	help
+	Delete a UBI volume.
+
+config BUSYBOX_CONFIG_UBIRSVOL
+	bool "ubirsvol (4.2 kb)"
+	default BUSYBOX_DEFAULT_UBIRSVOL
+	help
+	Resize a UBI volume.
+
+config BUSYBOX_CONFIG_UBIUPDATEVOL
+	bool "ubiupdatevol (5.2 kb)"
+	default BUSYBOX_DEFAULT_UBIUPDATEVOL
+	help
+	Update a UBI volume.
+config BUSYBOX_CONFIG_UBIRENAME
+	bool "ubirename (2.4 kb)"
+	default BUSYBOX_DEFAULT_UBIRENAME
+	help
+	Utility to rename UBI volumes
+config BUSYBOX_CONFIG_VOLNAME
+	bool "volname (1.6 kb)"
+	default BUSYBOX_DEFAULT_VOLNAME
+	help
+	Prints a CD-ROM volume name.
+config BUSYBOX_CONFIG_WATCHDOG
+	bool "watchdog (5.3 kb)"
+	default BUSYBOX_DEFAULT_WATCHDOG
+	help
+	The watchdog utility is used with hardware or software watchdog
+	device drivers. It opens the specified watchdog device special file
+	and periodically writes a magic character to the device. If the
+	watchdog applet ever fails to write the magic character within a
+	certain amount of time, the watchdog device assumes the system has
+	hung, and will cause the hardware to reboot.
+
+config BUSYBOX_CONFIG_FEATURE_WATCHDOG_OPEN_TWICE
+	bool "Open watchdog device twice, closing it gracefully in between"
+	depends on BUSYBOX_CONFIG_WATCHDOG
+	default BUSYBOX_DEFAULT_FEATURE_WATCHDOG_OPEN_TWICE   # this behavior was essentially a hack for a broken driver
+	help
+	When enabled, the watchdog device is opened and then immediately
+	magic-closed, before being opened a second time. This may be necessary
+	for some watchdog devices, but can cause spurious warnings in the
+	kernel log if the nowayout feature is enabled. If this workaround
+	is really needed for you machine to work properly, consider whether
+	it should be fixed in the kernel driver instead. Even when disabled,
+	the behaviour is easily emulated with a "printf 'V' > /dev/watchdog"
+	immediately before starting the busybox watchdog daemon. Say n unless
+	you know that you absolutely need this.
+
+endmenu
diff --git a/package/utils/busybox/config/modutils/Config.in b/package/utils/busybox/config/modutils/Config.in
new file mode 100644
index 0000000..e353808
--- /dev/null
+++ b/package/utils/busybox/config/modutils/Config.in
@@ -0,0 +1,239 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Linux Module Utilities"
+
+config BUSYBOX_CONFIG_MODPROBE_SMALL
+	bool "Simplified modutils"
+	default BUSYBOX_DEFAULT_MODPROBE_SMALL
+	help
+	Build smaller (~1.5 kbytes), simplified module tools.
+
+	This option by itself does not enable any applets -
+	you need to select applets individually below.
+
+	With this option modprobe does not require modules.dep file
+	and does not use /etc/modules.conf file.
+	It scans module files in /lib/modules/`uname -r` and
+	determines dependencies and module alias names on the fly.
+	This may make module loading slower, most notably
+	when one needs to load module by alias (this requires
+	scanning through module _bodies_).
+
+	At the first attempt to load a module by alias modprobe
+	will try to generate modules.dep.bb file in order to speed up
+	future loads by alias. Failure to do so (read-only /lib/modules,
+	etc) is not reported, and future modprobes will be slow too.
+
+	NB: modules.dep.bb file format is not compatible
+	with modules.dep file as created/used by standard module tools.
+
+	Additional module parameters can be stored in
+	/etc/modules/$module_name files.
+
+config BUSYBOX_CONFIG_DEPMOD
+	bool "depmod (27 kb)"
+	default BUSYBOX_DEFAULT_DEPMOD
+	help
+	depmod generates modules.dep (and potentially modules.alias
+	and modules.symbols) that contain dependency information
+	for modprobe.
+config BUSYBOX_CONFIG_INSMOD
+	bool "insmod (22 kb)"
+	default BUSYBOX_DEFAULT_INSMOD
+	help
+	insmod is used to load specified modules in the running kernel.
+config BUSYBOX_CONFIG_LSMOD
+	bool "lsmod (1.9 kb)"
+	default BUSYBOX_DEFAULT_LSMOD
+	help
+	lsmod is used to display a list of loaded modules.
+
+config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+	bool "Pretty output"
+	default BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+	depends on BUSYBOX_CONFIG_LSMOD && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	This option makes output format of lsmod adjusted to
+	the format of module-init-tools for Linux kernel 2.6.
+	Increases size somewhat.
+config BUSYBOX_CONFIG_MODINFO
+	bool "modinfo (24 kb)"
+	default BUSYBOX_DEFAULT_MODINFO
+	help
+	Show information about a Linux Kernel module
+config BUSYBOX_CONFIG_MODPROBE
+	bool "modprobe (28 kb)"
+	default BUSYBOX_DEFAULT_MODPROBE
+	help
+	Handle the loading of modules, and their dependencies on a high
+	level.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
+	bool "Blacklist support"
+	default BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST
+	depends on BUSYBOX_CONFIG_MODPROBE && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	Say 'y' here to enable support for the 'blacklist' command in
+	modprobe.conf. This prevents the alias resolver to resolve
+	blacklisted modules. This is useful if you want to prevent your
+	hardware autodetection scripts to load modules like evdev, frame
+	buffer drivers etc.
+config BUSYBOX_CONFIG_RMMOD
+	bool "rmmod (3.3 kb)"
+	default BUSYBOX_DEFAULT_RMMOD
+	help
+	rmmod is used to unload specified modules from the kernel.
+
+comment "Options common to multiple modutils"
+
+config BUSYBOX_CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS
+	bool "Accept module options on modprobe command line"
+	default BUSYBOX_DEFAULT_FEATURE_CMDLINE_MODULE_OPTIONS
+	depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE
+	help
+	Allow insmod and modprobe take module options from the applets'
+	command line.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+	bool "Skip loading of already loaded modules"
+	default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+	depends on BUSYBOX_CONFIG_MODPROBE_SMALL && (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
+	help
+	Check if the module is already loaded.
+
+config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+	bool "Support version 2.2/2.4 Linux kernels"
+	default BUSYBOX_DEFAULT_FEATURE_2_4_MODULES
+	depends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_RMMOD) && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	Support module loading for 2.2.x and 2.4.x Linux kernels.
+	This increases size considerably. Say N unless you plan
+	to run ancient kernels.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
+	bool "Enable module version checking"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_VERSION_CHECKING
+	depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
+	help
+	Support checking of versions for modules. This is used to
+	ensure that the kernel and module are made for each other.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
+	bool "Add module symbols to kernel symbol table"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
+	depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
+	help
+	By adding module symbols to the kernel symbol table, Oops messages
+	occurring within kernel modules can be properly debugged. By enabling
+	this feature, module symbols will always be added to the kernel symbol
+	table for proper debugging support. If you are not interested in
+	Oops messages from kernel modules, say N.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
+	bool "In kernel memory optimization (uClinux only)"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOADINKMEM
+	depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
+	help
+	This is a special uClinux only memory optimization that lets insmod
+	load the specified kernel module directly into kernel space, reducing
+	memory usage by preventing the need for two copies of the module
+	being loaded into memory.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
+	bool "Enable insmod load map (-m) option"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP
+	depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
+	help
+	Enabling this, one would be able to get a load map
+	output on stdout. This makes kernel module debugging
+	easier.
+	If you don't plan to debug kernel modules, you
+	don't need this option.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
+	bool "Symbols in load map"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP_FULL
+	depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
+	help
+	Without this option, -m will only output section
+	load map. With this option, -m will also output
+	symbols load map.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
+	bool "Support tainted module checking with new kernels"
+	default BUSYBOX_DEFAULT_FEATURE_CHECK_TAINTED_MODULE
+	depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	Support checking for tainted modules. These are usually binary
+	only modules that will make the linux-kernel list ignore your
+	support request.
+	This option is required to support GPLONLY modules.
+
+config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
+	bool "Try to load module from a mmap'ed area"
+	default BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP
+	depends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	This option causes module loading code to try to mmap
+	module first. If it does not work (for example,
+	it does not work for compressed modules), module will be read
+	(and unpacked if needed) into a memory block allocated by malloc.
+
+	The only case when mmap works but malloc does not is when
+	you are trying to load a big module on a very memory-constrained
+	machine. Malloc will momentarily need 2x as much memory as mmap.
+
+	Choosing N saves about 250 bytes of code (on 32-bit x86).
+
+config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS
+	bool "Support module.aliases file"
+	default BUSYBOX_DEFAULT_FEATURE_MODUTILS_ALIAS
+	depends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	Generate and parse modules.alias containing aliases for bus
+	identifiers:
+		alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
+
+	and aliases for logical modules names e.g.:
+		alias padlock_aes aes
+		alias aes_i586 aes
+		alias aes_generic aes
+
+	Say Y if unsure.
+
+config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
+	bool "Support module.symbols file"
+	default BUSYBOX_DEFAULT_FEATURE_MODUTILS_SYMBOLS
+	depends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL
+	help
+	Generate and parse modules.symbols containing aliases for
+	symbol_request() kernel calls, such as:
+		alias symbol:usb_sg_init usbcore
+
+	Say Y if unsure.
+
+config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
+	string "Default directory containing modules"
+	default BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR
+	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO
+	help
+	Directory that contains kernel modules.
+	Defaults to "/lib/modules"
+
+config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
+	string "Default name of modules.dep"
+	default BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
+	depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO
+	help
+	Filename that contains kernel modules dependencies.
+	Defaults to "modules.dep".
+	If you configured the "simplified modutils" (MODPROBE_SMALL), a
+	".bb" suffix will be added after this name. Do not specify ".bb"
+	here unless you intend your depmod or modprobe to work on
+	"modules.dep.bb.bb" or such.
+
+endmenu
diff --git a/package/utils/busybox/config/networking/Config.in b/package/utils/busybox/config/networking/Config.in
new file mode 100644
index 0000000..861e4f9
--- /dev/null
+++ b/package/utils/busybox/config/networking/Config.in
@@ -0,0 +1,1263 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Networking Utilities"
+
+config BUSYBOX_CONFIG_FEATURE_IPV6
+	bool "Enable IPv6 support"
+	default BUSYBOX_DEFAULT_FEATURE_IPV6
+	help
+	Enable IPv6 support in busybox.
+	This adds IPv6 support in the networking applets.
+
+config BUSYBOX_CONFIG_FEATURE_UNIX_LOCAL
+	bool "Enable Unix domain socket support (usually not needed)"
+	default BUSYBOX_DEFAULT_FEATURE_UNIX_LOCAL
+	help
+	Enable Unix domain socket support in all busybox networking
+	applets.  Address of the form local:/path/to/unix/socket
+	will be recognized.
+
+	This extension is almost never used in real world usage.
+	You most likely want to say N.
+
+config BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
+	bool "Prefer IPv4 addresses from DNS queries"
+	default BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS
+	depends on BUSYBOX_CONFIG_FEATURE_IPV6
+	help
+	Use IPv4 address of network host if it has one.
+
+	If this option is off, the first returned address will be used.
+	This may cause problems when your DNS server is IPv6-capable and
+	is returning IPv6 host addresses too. If IPv6 address
+	precedes IPv4 one in DNS reply, busybox network applets
+	(e.g. wget) will use IPv6 address. On an IPv6-incapable host
+	or network applets will fail to connect to the host
+	using IPv6 address.
+
+config BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS
+	bool "Verbose resolution errors"
+	default BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS
+	help
+	Enable if you are not satisfied with simplistic
+	"can't resolve 'hostname.com'" and want to know more.
+	This may increase size of your executable a bit.
+
+config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
+	bool "Support /etc/networks"
+	default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
+	help
+	Enable support for network names in /etc/networks. This is
+	a rarely used feature which allows you to use names
+	instead of IP/mask pairs in route command.
+
+config BUSYBOX_CONFIG_FEATURE_ETC_SERVICES
+	bool "Consult /etc/services even for well-known ports"
+	default BUSYBOX_DEFAULT_FEATURE_ETC_SERVICES
+	help
+	Look up e.g. "telnet" and "http" in /etc/services file
+	instead of assuming ports 23 and 80.
+	This is almost never necessary (everybody uses standard ports),
+	and it makes sense to avoid reading this file.
+	If you disable this option, in the cases where port is explicitly
+	specified as a service name (e.g. "telnet HOST PORTNAME"),
+	it will still be looked up in /etc/services.
+
+config BUSYBOX_CONFIG_FEATURE_HWIB
+	bool "Support infiniband HW"
+	default BUSYBOX_DEFAULT_FEATURE_HWIB
+	help
+	Support for printing infiniband addresses in network applets.
+
+config BUSYBOX_CONFIG_FEATURE_TLS_SHA1
+	bool "In TLS code, support ciphers which use deprecated SHA1"
+	depends on BUSYBOX_CONFIG_TLS
+	default BUSYBOX_DEFAULT_FEATURE_TLS_SHA1
+	help
+	Selecting this option increases interoperability with very old
+	servers, but slightly increases code size.
+
+	Most TLS servers support SHA256 today (2018), since SHA1 is
+	considered possibly insecure (although not yet definitely broken).
+
+config BUSYBOX_CONFIG_ARP
+	bool "arp (10 kb)"
+	default BUSYBOX_DEFAULT_ARP
+	help
+	Manipulate the system ARP cache.
+config BUSYBOX_CONFIG_ARPING
+	bool "arping (9 kb)"
+	default BUSYBOX_DEFAULT_ARPING
+	help
+	Ping hosts by ARP packets.
+config BUSYBOX_CONFIG_BRCTL
+	bool "brctl (4.7 kb)"
+	default BUSYBOX_DEFAULT_BRCTL
+	help
+	Manage ethernet bridges.
+	Supports addbr/delbr and addif/delif.
+
+config BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
+	bool "Fancy options"
+	default BUSYBOX_DEFAULT_FEATURE_BRCTL_FANCY
+	depends on BUSYBOX_CONFIG_BRCTL
+	help
+	Add support for extended option like:
+		setageing, setfd, sethello, setmaxage,
+		setpathcost, setportprio, setbridgeprio,
+		stp
+	This adds about 600 bytes.
+
+config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
+	bool "Support show"
+	default BUSYBOX_DEFAULT_FEATURE_BRCTL_SHOW
+	depends on BUSYBOX_CONFIG_BRCTL && BUSYBOX_CONFIG_FEATURE_BRCTL_FANCY
+	help
+	Add support for option which prints the current config:
+		show
+config BUSYBOX_CONFIG_DNSD
+	bool "dnsd (9.8 kb)"
+	default BUSYBOX_DEFAULT_DNSD
+	help
+	Small and static DNS server daemon.
+config BUSYBOX_CONFIG_ETHER_WAKE
+	bool "ether-wake (4.9 kb)"
+	default BUSYBOX_DEFAULT_ETHER_WAKE
+	help
+	Send a magic packet to wake up sleeping machines.
+config BUSYBOX_CONFIG_FTPD
+	bool "ftpd (30 kb)"
+	default BUSYBOX_DEFAULT_FTPD
+	help
+	Simple FTP daemon. You have to run it via inetd.
+
+config BUSYBOX_CONFIG_FEATURE_FTPD_WRITE
+	bool "Enable -w (upload commands)"
+	default BUSYBOX_DEFAULT_FEATURE_FTPD_WRITE
+	depends on BUSYBOX_CONFIG_FTPD
+	help
+	Enable -w option. "ftpd -w" will accept upload commands
+	such as STOR, STOU, APPE, DELE, MKD, RMD, rename commands.
+
+config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
+	bool "Enable workaround for RFC-violating clients"
+	default BUSYBOX_DEFAULT_FEATURE_FTPD_ACCEPT_BROKEN_LIST
+	depends on BUSYBOX_CONFIG_FTPD
+	help
+	Some ftp clients (among them KDE's Konqueror) issue illegal
+	"LIST -l" requests. This option works around such problems.
+	It might prevent you from listing files starting with "-" and
+	it increases the code size by ~40 bytes.
+	Most other ftp servers seem to behave similar to this.
+
+config BUSYBOX_CONFIG_FEATURE_FTPD_AUTHENTICATION
+	bool "Enable authentication"
+	default BUSYBOX_DEFAULT_FEATURE_FTPD_AUTHENTICATION
+	depends on BUSYBOX_CONFIG_FTPD
+	help
+	Require login, and change to logged in user's UID:GID before
+	accessing any files. Option "-a USER" allows "anonymous"
+	logins (treats them as if USER logged in).
+
+	If this option is not selected, ftpd runs with the rights
+	of the user it was started under, and does not require login.
+	Take care to not launch it under root.
+config BUSYBOX_CONFIG_FTPGET
+	bool "ftpget (7.8 kb)"
+	default BUSYBOX_DEFAULT_FTPGET
+	help
+	Retrieve a remote file via FTP.
+
+config BUSYBOX_CONFIG_FTPPUT
+	bool "ftpput (7.5 kb)"
+	default BUSYBOX_DEFAULT_FTPPUT
+	help
+	Store a remote file via FTP.
+
+config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
+	bool "Enable long options in ftpget/ftpput"
+	default BUSYBOX_DEFAULT_FEATURE_FTPGETPUT_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
+config BUSYBOX_CONFIG_HOSTNAME
+	bool "hostname (5.5 kb)"
+	default BUSYBOX_DEFAULT_HOSTNAME
+	help
+	Show or set the system's host name.
+
+config BUSYBOX_CONFIG_DNSDOMAINNAME
+	bool "dnsdomainname (3.6 kb)"
+	default BUSYBOX_DEFAULT_DNSDOMAINNAME
+	help
+	Alias to "hostname -d".
+config BUSYBOX_CONFIG_HTTPD
+	bool "httpd (32 kb)"
+	default BUSYBOX_DEFAULT_HTTPD
+	help
+	HTTP server.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_PORT_DEFAULT
+	int "Default port"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT
+	range 1 65535
+	depends on BUSYBOX_CONFIG_HTTPD
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES
+	bool "Support 'Ranges:' header"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_RANGES
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	Makes httpd emit "Accept-Ranges: bytes" header and understand
+	"Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
+	downloads, seeking in multimedia players etc.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_SETUID
+	bool "Enable -u <user> option"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_SETUID
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	This option allows the server to run as a specific user
+	rather than defaulting to the user that starts the server.
+	Use of this option requires special privileges to change to a
+	different user.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
+	bool "Enable HTTP authentication"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_BASIC_AUTH
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	Utilizes password settings from /etc/httpd.conf for basic
+	authentication on a per url basis.
+	Example for httpd.conf file:
+	/adm:toor:PaSsWd
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
+	bool "Support MD5-encrypted passwords in HTTP authentication"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_AUTH_MD5
+	depends on BUSYBOX_CONFIG_FEATURE_HTTPD_BASIC_AUTH
+	help
+	Enables encrypted passwords, and wildcard user/passwords
+	in httpd.conf file.
+	User '*' means 'any system user name is ok',
+	password of '*' means 'use system password for this user'
+	Examples:
+	/adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
+	/adm:root:*
+	/wiki:*:*
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
+	bool "Support Common Gateway Interface (CGI)"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_CGI
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	This option allows scripts and executables to be invoked
+	when specific URLs are requested.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
+	bool "Support running scripts through an interpreter"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
+	depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
+	help
+	This option enables support for running scripts through an
+	interpreter. Turn this on if you want PHP scripts to work
+	properly. You need to supply an additional line in your
+	httpd.conf file:
+	*.php:/path/to/your/php
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
+	bool "Set REMOTE_PORT environment variable for CGI"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
+	depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
+	help
+	Use of this option can assist scripts in generating
+	references that contain a unique port number.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
+	bool "Enable -e option (useful for CGIs written as shell scripts)"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_ENCODE_URL_STR
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	This option allows html encoding of arbitrary strings for display
+	by the browser. Output goes to stdout.
+	For example, httpd -e "<Hello World>" produces
+	"&#60Hello&#32World&#62".
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_ERROR_PAGES
+	bool "Support custom error pages"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_ERROR_PAGES
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	This option allows you to define custom error pages in
+	the configuration file instead of the default HTTP status
+	error pages. For instance, if you add the line:
+		E404:/path/e404.html
+	in the config file, the server will respond the specified
+	'/path/e404.html' file instead of the terse '404 NOT FOUND'
+	message.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
+	bool "Support reverse proxy"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_PROXY
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	This option allows you to define URLs that will be forwarded
+	to another HTTP server. To setup add the following line to the
+	configuration file
+		P:/url/:http://hostname[:port]/new/path/
+	Then a request to /url/myfile will be forwarded to
+	http://hostname[:port]/new/path/myfile.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
+	bool "Support GZIP content encoding"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_GZIP
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	Makes httpd send files using GZIP content encoding if the
+	client supports it and a pre-compressed <file>.gz exists.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_ETAG
+	bool "Support caching via ETag header"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_ETAG
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	If server responds with ETag then next time client (browser)
+	resend it via If-None-Match header.
+	Then httpd will check if file wasn't modified and if not,
+	return 304 Not Modified status code.
+	The ETag value is constructed from last modification date
+	in unix epoch, and size: "hex(last_mod)-hex(file_size)".
+	It's not completely reliable as hash functions but fair enough.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_LAST_MODIFIED
+	bool "Add Last-Modified header to response"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_LAST_MODIFIED
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	The Last-Modified header is used for cache validation.
+	The client sends last seen mtime to server in If-Modified-Since.
+	Both headers MUST be an RFC 1123 formatted, which is hard to parse.
+	Use ETag header instead.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_DATE
+	bool "Add Date header to response"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_DATE
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	RFC2616 says that server MUST add Date header to response.
+	But it is almost useless and can be omitted.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_ACL_IP
+	bool "ACL IP"
+	default BUSYBOX_DEFAULT_FEATURE_HTTPD_ACL_IP
+	depends on BUSYBOX_CONFIG_HTTPD
+	help
+	Support IP deny/allow rules
+config BUSYBOX_CONFIG_IFCONFIG
+	bool "ifconfig (12 kb)"
+	default BUSYBOX_DEFAULT_IFCONFIG
+	help
+	Ifconfig is used to configure the kernel-resident network interfaces.
+
+config BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS
+	bool "Enable status reporting output (+7k)"
+	default BUSYBOX_DEFAULT_FEATURE_IFCONFIG_STATUS
+	depends on BUSYBOX_CONFIG_IFCONFIG
+	help
+	If ifconfig is called with no arguments it will display the status
+	of the currently active interfaces.
+
+config BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP
+	bool "Enable slip-specific options \"keepalive\" and \"outfill\""
+	default BUSYBOX_DEFAULT_FEATURE_IFCONFIG_SLIP
+	depends on BUSYBOX_CONFIG_IFCONFIG
+	help
+	Allow "keepalive" and "outfill" support for SLIP. If you're not
+	planning on using serial lines, leave this unchecked.
+
+config BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
+	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
+	default BUSYBOX_DEFAULT_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
+	depends on BUSYBOX_CONFIG_IFCONFIG
+	help
+	Allow the start address for shared memory, start address for I/O,
+	and/or the interrupt line used by the specified device.
+
+config BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW
+	bool "Enable option \"hw\" (ether only)"
+	default BUSYBOX_DEFAULT_FEATURE_IFCONFIG_HW
+	depends on BUSYBOX_CONFIG_IFCONFIG
+	help
+	Set the hardware address of this interface, if the device driver
+	supports  this  operation. Currently, we only support the 'ether'
+	class.
+
+config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
+	bool "Set the broadcast automatically"
+	default BUSYBOX_DEFAULT_FEATURE_IFCONFIG_BROADCAST_PLUS
+	depends on BUSYBOX_CONFIG_IFCONFIG
+	help
+	Setting this will make ifconfig attempt to find the broadcast
+	automatically if the value '+' is used.
+config BUSYBOX_CONFIG_IFENSLAVE
+	bool "ifenslave (13 kb)"
+	default BUSYBOX_DEFAULT_IFENSLAVE
+	help
+	Userspace application to bind several interfaces
+	to a logical interface (use with kernel bonding driver).
+config BUSYBOX_CONFIG_IFPLUGD
+	bool "ifplugd (10 kb)"
+	default BUSYBOX_DEFAULT_IFPLUGD
+	help
+	Network interface plug detection daemon.
+config BUSYBOX_CONFIG_IFUP
+	bool "ifup (14 kb)"
+	default BUSYBOX_DEFAULT_IFUP
+	help
+	Activate the specified interfaces. This applet makes use
+	of either "ifconfig" and "route" or the "ip" command to actually
+	configure network interfaces. Therefore, you will probably also want
+	to enable either IFCONFIG and ROUTE, or enable
+	FEATURE_IFUPDOWN_IP and the various IP options. Of
+	course you could use non-busybox versions of these programs, so
+	against my better judgement (since this will surely result in plenty
+	of support questions on the mailing list), I do not force you to
+	enable these additional options. It is up to you to supply either
+	"ifconfig", "route" and "run-parts" or the "ip" command, either
+	via busybox or via standalone utilities.
+
+config BUSYBOX_CONFIG_IFDOWN
+	bool "ifdown (13 kb)"
+	default BUSYBOX_DEFAULT_IFDOWN
+	help
+	Deactivate the specified interfaces.
+
+config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
+	string "Absolute path to ifstate file"
+	default BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	ifupdown keeps state information in a file called ifstate.
+	Typically it is located in /var/run/ifstate, however
+	some distributions tend to put it in other places
+	(debian, for example, uses /etc/network/run/ifstate).
+	This config option defines location of ifstate.
+
+config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
+	bool "Use ip tool (else ifconfig/route is used)"
+	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	Use the iproute "ip" command to implement "ifup" and "ifdown", rather
+	than the default of using the older "ifconfig" and "route" utilities.
+
+	If Y: you must install either the full-blown iproute2 package
+	or enable "ip" applet in busybox, or the "ifup" and "ifdown" applets
+	will not work.
+
+	If N: you must install either the full-blown ifconfig and route
+	utilities, or enable these applets in busybox.
+
+config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
+	bool "Support IPv4"
+	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	If you want ifup/ifdown to talk IPv4, leave this on.
+
+config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
+	bool "Support IPv6"
+	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV6
+	depends on (BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN) && BUSYBOX_CONFIG_FEATURE_IPV6
+	help
+	If you need support for IPv6, turn this option on.
+
+
+config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
+	bool "Enable mapping support"
+	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	This enables support for the "mapping" stanza, unless you have
+	a weird network setup you don't need it.
+
+config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
+	bool "Support external DHCP clients"
+	default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	This enables support for the external dhcp clients. Clients are
+	tried in the following order: dhcpcd, dhclient, pump and udhcpc.
+	Otherwise, if udhcpc applet is enabled, it is used.
+	Otherwise, ifup/ifdown will have no support for DHCP.
+config BUSYBOX_CONFIG_INETD
+	bool "inetd (18 kb)"
+	default BUSYBOX_DEFAULT_INETD
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	Internet superserver daemon
+
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
+	bool "Support echo service on port 7"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Internal service which echoes data back.
+	Activated by configuration lines like these:
+		echo stream tcp nowait root internal
+		echo dgram  udp wait   root internal
+
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
+	bool "Support discard service on port 8"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Internal service which discards all input.
+	Activated by configuration lines like these:
+		discard stream tcp nowait root internal
+		discard dgram  udp wait   root internal
+
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME
+	bool "Support time service on port 37"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_TIME
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Internal service which returns big-endian 32-bit number
+	of seconds passed since 1900-01-01. The number wraps around
+	on overflow.
+	Activated by configuration lines like these:
+		time stream tcp nowait root internal
+		time dgram  udp wait   root internal
+
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
+	bool "Support daytime service on port 13"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Internal service which returns human-readable time.
+	Activated by configuration lines like these:
+		daytime stream tcp nowait root internal
+		daytime dgram  udp wait   root internal
+
+config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
+	bool "Support chargen service on port 19"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Internal service which generates endless stream
+	of all ASCII chars beetween space and char 126.
+	Activated by configuration lines like these:
+		chargen stream tcp nowait root internal
+		chargen dgram  udp wait   root internal
+
+config BUSYBOX_CONFIG_FEATURE_INETD_RPC
+	bool "Support RPC services"
+	default BUSYBOX_DEFAULT_FEATURE_INETD_RPC  # very rarely used, and needs Sun RPC support in libc
+	depends on BUSYBOX_CONFIG_INETD
+	help
+	Support Sun-RPC based services
+config BUSYBOX_CONFIG_IP
+	bool "ip (35 kb)"
+	default BUSYBOX_DEFAULT_IP
+	help
+	The "ip" applet is a TCP/IP interface configuration and routing
+	utility.
+	Short forms (enabled below) are busybox-specific extensions.
+	The standard "ip" utility does not provide them. If you are
+	trying to be portable, it's better to use "ip CMD" forms.
+
+config BUSYBOX_CONFIG_IPADDR
+	bool "ipaddr (14 kb)"
+	default BUSYBOX_DEFAULT_IPADDR
+	select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
+	help
+	Short form of "ip addr"
+
+config BUSYBOX_CONFIG_IPLINK
+	bool "iplink (17 kb)"
+	default BUSYBOX_DEFAULT_IPLINK
+	select BUSYBOX_CONFIG_FEATURE_IP_LINK
+	help
+	Short form of "ip link"
+
+config BUSYBOX_CONFIG_IPROUTE
+	bool "iproute (15 kb)"
+	default BUSYBOX_DEFAULT_IPROUTE
+	select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
+	help
+	Short form of "ip route"
+
+config BUSYBOX_CONFIG_IPTUNNEL
+	bool "iptunnel (9.6 kb)"
+	default BUSYBOX_DEFAULT_IPTUNNEL
+	select BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
+	help
+	Short form of "ip tunnel"
+
+config BUSYBOX_CONFIG_IPRULE
+	bool "iprule (10 kb)"
+	default BUSYBOX_DEFAULT_IPRULE
+	select BUSYBOX_CONFIG_FEATURE_IP_RULE
+	help
+	Short form of "ip rule"
+
+config BUSYBOX_CONFIG_IPNEIGH
+	bool "ipneigh (8.3 kb)"
+	default BUSYBOX_DEFAULT_IPNEIGH
+	select BUSYBOX_CONFIG_FEATURE_IP_NEIGH
+	help
+	Short form of "ip neigh"
+
+config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
+	bool "ip address"
+	default BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR
+	help
+	Address manipulation support for the "ip" applet.
+
+config BUSYBOX_CONFIG_FEATURE_IP_LINK
+	bool "ip link"
+	default BUSYBOX_DEFAULT_FEATURE_IP_LINK
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPLINK
+	help
+	Configure network devices with "ip".
+
+config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
+	bool "ip route"
+	default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPROUTE
+	help
+	Add support for routing table management to "ip".
+
+config BUSYBOX_CONFIG_FEATURE_IP_ROUTE_DIR
+	string "ip route configuration directory"
+	default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE_DIR
+	depends on BUSYBOX_CONFIG_FEATURE_IP_ROUTE
+	help
+	Location of the "ip" applet routing configuration.
+
+config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
+	bool "ip tunnel"
+	default BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPTUNNEL
+	help
+	Add support for tunneling commands to "ip".
+
+config BUSYBOX_CONFIG_FEATURE_IP_RULE
+	bool "ip rule"
+	default BUSYBOX_DEFAULT_FEATURE_IP_RULE
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPRULE
+	help
+	Add support for rule commands to "ip".
+
+config BUSYBOX_CONFIG_FEATURE_IP_NEIGH
+	bool "ip neighbor"
+	default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPNEIGH
+	help
+	Add support for neighbor commands to "ip".
+
+config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS
+	bool "Support displaying rarely used link types"
+	default BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS
+	depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR || BUSYBOX_CONFIG_IPLINK || BUSYBOX_CONFIG_IPROUTE || BUSYBOX_CONFIG_IPTUNNEL || BUSYBOX_CONFIG_IPRULE || BUSYBOX_CONFIG_IPNEIGH
+	help
+	If you are not going to use links of type "frad", "econet",
+	"bif" etc, you probably don't need to enable this.
+	Ethernet, wireless, infrared, ppp/slip, ip tunnelling
+	link types are supported without this option selected.
+config BUSYBOX_CONFIG_IPCALC
+	bool "ipcalc (4.4 kb)"
+	default BUSYBOX_DEFAULT_IPCALC
+	help
+	ipcalc takes an IP address and netmask and calculates the
+	resulting broadcast, network, and host range.
+
+config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_IPCALC_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY
+	bool "Fancy IPCALC, more options, adds 1 kbyte"
+	default BUSYBOX_DEFAULT_FEATURE_IPCALC_FANCY
+	depends on BUSYBOX_CONFIG_IPCALC
+	help
+	Adds the options hostname, prefix and silent to the output of
+	"ipcalc".
+config BUSYBOX_CONFIG_FAKEIDENTD
+	bool "fakeidentd (8.7 kb)"
+	default BUSYBOX_DEFAULT_FAKEIDENTD
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	fakeidentd listens on the ident port and returns a predefined
+	fake value on any query.
+config BUSYBOX_CONFIG_NAMEIF
+	bool "nameif (6.6 kb)"
+	default BUSYBOX_DEFAULT_NAMEIF
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	nameif is used to rename network interface by its MAC address.
+	Renamed interfaces MUST be in the down state.
+	It is possible to use a file (default: /etc/mactab)
+	with list of new interface names and MACs.
+	Maximum interface name length: IFNAMSIZ = 16
+	File fields are separated by space or tab.
+	File format:
+		# Comment
+		new_interface_name  XX:XX:XX:XX:XX:XX
+
+config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
+	bool "Extended nameif"
+	default BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
+	depends on BUSYBOX_CONFIG_NAMEIF
+	help
+	This extends the nameif syntax to support the bus_info, driver,
+	phyaddr selectors. The syntax is compatible to the normal nameif.
+	File format:
+		new_interface_name  driver=asix bus=usb-0000:00:08.2-3
+		new_interface_name  bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
+		new_interface_name  phy_address=2 00:80:C8:38:91:B5
+		new_interface_name  mac=00:80:C8:38:91:B5
+		new_interface_name  00:80:C8:38:91:B5
+config BUSYBOX_CONFIG_NBDCLIENT
+	bool "nbd-client (6 kb)"
+	default BUSYBOX_DEFAULT_NBDCLIENT
+	help
+	Network block device client
+config BUSYBOX_CONFIG_NC
+	bool "nc (11 kb)"
+	default BUSYBOX_DEFAULT_NC
+	help
+	A simple Unix utility which reads and writes data across network
+	connections.
+
+config BUSYBOX_CONFIG_NETCAT
+	bool "netcat (11 kb)"
+	default BUSYBOX_DEFAULT_NETCAT
+	help
+	Alias to nc.
+
+config BUSYBOX_CONFIG_NC_SERVER
+	bool "Netcat server options (-l)"
+	default BUSYBOX_DEFAULT_NC_SERVER
+	depends on BUSYBOX_CONFIG_NC || BUSYBOX_CONFIG_NETCAT
+	help
+	Allow netcat to act as a server.
+
+config BUSYBOX_CONFIG_NC_EXTRA
+	bool "Netcat extensions (-eiw and -f FILE)"
+	default BUSYBOX_DEFAULT_NC_EXTRA
+	depends on BUSYBOX_CONFIG_NC || BUSYBOX_CONFIG_NETCAT
+	help
+	Add -e (support for executing the rest of the command line after
+	making or receiving a successful connection), -i (delay interval for
+	lines sent), -w (timeout for initial connection).
+
+config BUSYBOX_CONFIG_NC_110_COMPAT
+	bool "Netcat 1.10 compatibility (+2.5k)"
+	default BUSYBOX_DEFAULT_NC_110_COMPAT
+	depends on BUSYBOX_CONFIG_NC || BUSYBOX_CONFIG_NETCAT
+	help
+	This option makes nc closely follow original nc-1.10.
+	The code is about 2.5k bigger. It enables
+	-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
+	busybox-specific extensions: -f FILE.
+config BUSYBOX_CONFIG_NETMSG
+	bool "netmsg"
+	default BUSYBOX_DEFAULT_NETMSG
+	help
+	  simple program for sending udp broadcast messages
+config BUSYBOX_CONFIG_NETSTAT
+	bool "netstat (10 kb)"
+	default BUSYBOX_DEFAULT_NETSTAT
+	help
+	netstat prints information about the Linux networking subsystem.
+
+config BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE
+	bool "Enable wide output"
+	default BUSYBOX_DEFAULT_FEATURE_NETSTAT_WIDE
+	depends on BUSYBOX_CONFIG_NETSTAT
+	help
+	Add support for wide columns. Useful when displaying IPv6 addresses
+	(-W option).
+
+config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG
+	bool "Enable PID/Program name output"
+	default BUSYBOX_DEFAULT_FEATURE_NETSTAT_PRG
+	depends on BUSYBOX_CONFIG_NETSTAT
+	help
+	Add support for -p flag to print out PID and program name.
+	+700 bytes of code.
+config BUSYBOX_CONFIG_NSLOOKUP
+	bool "nslookup (9.7 kb)"
+	default BUSYBOX_DEFAULT_NSLOOKUP
+	help
+	nslookup is a tool to query Internet name servers.
+
+config BUSYBOX_CONFIG_FEATURE_NSLOOKUP_BIG
+	bool "Use internal resolver code instead of libc"
+	depends on BUSYBOX_CONFIG_NSLOOKUP
+	default BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_BIG
+
+config BUSYBOX_CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_FEATURE_NSLOOKUP_BIG && BUSYBOX_CONFIG_LONG_OPTS
+config BUSYBOX_CONFIG_NTPD
+	bool "ntpd (22 kb)"
+	default BUSYBOX_DEFAULT_NTPD
+	help
+	The NTP client/server daemon.
+
+config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
+	bool "Make ntpd usable as a NTP server"
+	default BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER
+	depends on BUSYBOX_CONFIG_NTPD
+	help
+	Make ntpd usable as a NTP server. If you disable this option
+	ntpd will be usable only as a NTP client.
+
+config BUSYBOX_CONFIG_FEATURE_NTPD_CONF
+	bool "Make ntpd understand /etc/ntp.conf"
+	default BUSYBOX_DEFAULT_FEATURE_NTPD_CONF
+	depends on BUSYBOX_CONFIG_NTPD
+	help
+	Make ntpd look in /etc/ntp.conf for peers. Only "server address"
+	is supported.
+
+config BUSYBOX_CONFIG_FEATURE_NTP_AUTH
+	bool "Support md5/sha1 message authentication codes"
+	default BUSYBOX_DEFAULT_FEATURE_NTP_AUTH
+	depends on BUSYBOX_CONFIG_NTPD
+config BUSYBOX_CONFIG_PING
+	bool "ping (10 kb)"
+	default BUSYBOX_DEFAULT_PING
+	help
+	ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
+	elicit an ICMP ECHO_RESPONSE from a host or gateway.
+
+config BUSYBOX_CONFIG_PING6
+	bool "ping6 (11 kb)"
+	default BUSYBOX_DEFAULT_PING6
+	depends on BUSYBOX_CONFIG_FEATURE_IPV6
+	help
+	Alias to "ping -6".
+
+config BUSYBOX_CONFIG_FEATURE_FANCY_PING
+	bool "Enable fancy ping output"
+	default BUSYBOX_DEFAULT_FEATURE_FANCY_PING
+	depends on BUSYBOX_CONFIG_PING || BUSYBOX_CONFIG_PING6
+	help
+	With this option off, ping will say "HOST is alive!"
+	or terminate with SIGALRM in 5 seconds otherwise.
+	No command-line options will be recognized.
+config BUSYBOX_CONFIG_PSCAN
+	bool "pscan (6 kb)"
+	default BUSYBOX_DEFAULT_PSCAN
+	help
+	Simple network port scanner.
+config BUSYBOX_CONFIG_ROUTE
+	bool "route (8.7 kb)"
+	default BUSYBOX_DEFAULT_ROUTE
+	help
+	Route displays or manipulates the kernel's IP routing tables.
+config BUSYBOX_CONFIG_SLATTACH
+	bool "slattach (6.2 kb)"
+	default BUSYBOX_DEFAULT_SLATTACH
+	help
+	slattach configures serial line as SLIP network interface.
+config BUSYBOX_CONFIG_SSL_CLIENT
+	bool "ssl_client (25 kb)"
+	default BUSYBOX_DEFAULT_SSL_CLIENT
+	select BUSYBOX_CONFIG_TLS
+	help
+	This tool pipes data to/from a socket, TLS-encrypting it.
+config BUSYBOX_CONFIG_TC
+	bool "tc (8.3 kb)"
+	default BUSYBOX_DEFAULT_TC
+	help
+	Show / manipulate traffic control settings
+
+config BUSYBOX_CONFIG_FEATURE_TC_INGRESS
+	bool "Enable ingress"
+	default BUSYBOX_DEFAULT_FEATURE_TC_INGRESS
+	depends on BUSYBOX_CONFIG_TC
+config BUSYBOX_CONFIG_TCPSVD
+	bool "tcpsvd (14 kb)"
+	default BUSYBOX_DEFAULT_TCPSVD
+	help
+	tcpsvd listens on a TCP port and runs a program for each new
+	connection.
+
+config BUSYBOX_CONFIG_UDPSVD
+	bool "udpsvd (13 kb)"
+	default BUSYBOX_DEFAULT_UDPSVD
+	help
+	udpsvd listens on an UDP port and runs a program for each new
+	connection.
+config BUSYBOX_CONFIG_TELNET
+	bool "telnet (8.8 kb)"
+	default BUSYBOX_DEFAULT_TELNET
+	help
+	Telnet is an interface to the TELNET protocol, but is also commonly
+	used to test other simple protocols.
+
+config BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE
+	bool "Pass TERM type to remote host"
+	default BUSYBOX_DEFAULT_FEATURE_TELNET_TTYPE
+	depends on BUSYBOX_CONFIG_TELNET
+	help
+	Setting this option will forward the TERM environment variable to the
+	remote host you are connecting to. This is useful to make sure that
+	things like ANSI colors and other control sequences behave.
+
+config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
+	bool "Pass USER type to remote host"
+	default BUSYBOX_DEFAULT_FEATURE_TELNET_AUTOLOGIN
+	depends on BUSYBOX_CONFIG_TELNET
+	help
+	Setting this option will forward the USER environment variable to the
+	remote host you are connecting to. This is useful when you need to
+	log into a machine without telling the username (autologin). This
+	option enables '-a' and '-l USER' options.
+
+config BUSYBOX_CONFIG_FEATURE_TELNET_WIDTH
+	bool "Enable window size autodetection"
+	default BUSYBOX_DEFAULT_FEATURE_TELNET_WIDTH
+	depends on BUSYBOX_CONFIG_TELNET
+config BUSYBOX_CONFIG_TELNETD
+	bool "telnetd (12 kb)"
+	default BUSYBOX_DEFAULT_TELNETD
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	A daemon for the TELNET protocol, allowing you to log onto the host
+	running the daemon. Please keep in mind that the TELNET protocol
+	sends passwords in plain text. If you can't afford the space for an
+	SSH daemon and you trust your network, you may say 'y' here. As a
+	more secure alternative, you should seriously consider installing the
+	very small Dropbear SSH daemon instead:
+		http://matt.ucc.asn.au/dropbear/dropbear.html
+
+	Note that for busybox telnetd to work you need several things:
+	First of all, your kernel needs:
+		  CONFIG_UNIX98_PTYS=y
+
+	Next, you need a /dev/pts directory on your root filesystem:
+
+		  $ ls -ld /dev/pts
+		  drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/
+
+	Next you need the pseudo terminal master multiplexer /dev/ptmx:
+
+		  $ ls -la /dev/ptmx
+		  crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
+
+	Any /dev/ttyp[0-9]* files you may have can be removed.
+	Next, you need to mount the devpts filesystem on /dev/pts using:
+
+		  mount -t devpts devpts /dev/pts
+
+	You need to be sure that busybox has LOGIN and
+	FEATURE_SUID enabled. And finally, you should make
+	certain that busybox has been installed setuid root:
+
+		chown root.root /bin/busybox
+		chmod 4755 /bin/busybox
+
+	with all that done, telnetd _should_ work....
+
+config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
+	bool "Support standalone telnetd (not inetd only)"
+	default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
+	depends on BUSYBOX_CONFIG_TELNETD
+	help
+	Selecting this will make telnetd able to run standalone.
+
+config BUSYBOX_CONFIG_FEATURE_TELNETD_PORT_DEFAULT
+	int "Default port"
+	default BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT
+	range 1 65535
+	depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
+
+config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
+	bool "Support -w SEC option (inetd wait mode)"
+	default BUSYBOX_DEFAULT_FEATURE_TELNETD_INETD_WAIT
+	depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
+	help
+	This option allows you to run telnetd in "inet wait" mode.
+	Example inetd.conf line (note "wait", not usual "nowait"):
+
+	telnet stream tcp wait root /bin/telnetd telnetd -w10
+
+	In this example, inetd passes _listening_ socket_ as fd 0
+	to telnetd when connection appears.
+	telnetd will wait for connections until all existing
+	connections are closed, and no new connections
+	appear during 10 seconds. Then it exits, and inetd continues
+	to listen for new connections.
+
+	This option is rarely used. "tcp nowait" is much more usual
+	way of running tcp services, including telnetd.
+	You most probably want to say N here.
+config BUSYBOX_CONFIG_TFTP
+	bool "tftp (11 kb)"
+	default BUSYBOX_DEFAULT_TFTP
+	help
+	Trivial File Transfer Protocol client. TFTP is usually used
+	for simple, small transfers such as a root image
+	for a network-enabled bootloader.
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR
+	bool "Enable progress bar"
+	default BUSYBOX_DEFAULT_FEATURE_TFTP_PROGRESS_BAR
+	depends on BUSYBOX_CONFIG_TFTP
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_HPA_COMPAT
+	bool "tftp-hpa compat (support -c get/put FILE)"
+	default BUSYBOX_DEFAULT_FEATURE_TFTP_HPA_COMPAT
+	depends on BUSYBOX_CONFIG_TFTP
+
+config BUSYBOX_CONFIG_TFTPD
+	bool "tftpd (10 kb)"
+	default BUSYBOX_DEFAULT_TFTPD
+	help
+	Trivial File Transfer Protocol server.
+	It expects that stdin is a datagram socket and a packet
+	is already pending on it. It will exit after one transfer.
+	In other words: it should be run from inetd in nowait mode,
+	or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_GET
+	bool "Enable 'tftp get' and/or tftpd upload code"
+	default BUSYBOX_DEFAULT_FEATURE_TFTP_GET
+	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+	help
+	Add support for the GET command within the TFTP client. This allows
+	a client to retrieve a file from a TFTP server.
+	Also enable upload support in tftpd, if tftpd is selected.
+
+	Note: this option does _not_ make tftpd capable of download
+	(the usual operation people need from it)!
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
+	bool "Enable 'tftp put' and/or tftpd download code"
+	default BUSYBOX_DEFAULT_FEATURE_TFTP_PUT
+	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+	help
+	Add support for the PUT command within the TFTP client. This allows
+	a client to transfer a file to a TFTP server.
+	Also enable download support in tftpd, if tftpd is selected.
+
+config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
+	bool "Enable 'blksize' and 'tsize' protocol options"
+	default BUSYBOX_DEFAULT_FEATURE_TFTP_BLOCKSIZE
+	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+	help
+	Allow tftp to specify block size, and tftpd to understand
+	"blksize" and "tsize" options.
+
+config BUSYBOX_CONFIG_TFTP_DEBUG
+	bool "Enable debug"
+	default BUSYBOX_DEFAULT_TFTP_DEBUG
+	depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
+	help
+	Make tftp[d] print debugging messages on stderr.
+	This is useful if you are diagnosing a bug in tftp[d].
+config BUSYBOX_CONFIG_TLS
+	bool #No description makes it a hidden option
+	default BUSYBOX_DEFAULT_TLS
+config BUSYBOX_CONFIG_TRACEROUTE
+	bool "traceroute (11 kb)"
+	default BUSYBOX_DEFAULT_TRACEROUTE
+	help
+	Utility to trace the route of IP packets.
+
+config BUSYBOX_CONFIG_TRACEROUTE6
+	bool "traceroute6 (13 kb)"
+	default BUSYBOX_DEFAULT_TRACEROUTE6
+	depends on BUSYBOX_CONFIG_FEATURE_IPV6
+	help
+	Utility to trace the route of IPv6 packets.
+
+config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
+	bool "Enable verbose output"
+	default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE
+	depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
+	help
+	Add some verbosity to traceroute. This includes among other things
+	hostnames and ICMP response types.
+
+config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
+	bool "Enable -I option (use ICMP instead of UDP)"
+	default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP
+	depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
+config BUSYBOX_CONFIG_TUNCTL
+	bool "tunctl (6.2 kb)"
+	default BUSYBOX_DEFAULT_TUNCTL
+	help
+	tunctl creates or deletes tun devices.
+
+config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
+	bool "Support owner:group assignment"
+	default BUSYBOX_DEFAULT_FEATURE_TUNCTL_UG
+	depends on BUSYBOX_CONFIG_TUNCTL
+	help
+	Allow to specify owner and group of newly created interface.
+	340 bytes of pure bloat. Say no here.
+config BUSYBOX_CONFIG_VCONFIG
+	bool "vconfig (2.3 kb)"
+	default BUSYBOX_DEFAULT_VCONFIG
+	help
+	Creates, removes, and configures VLAN interfaces
+config BUSYBOX_CONFIG_WGET
+	bool "wget (38 kb)"
+	default BUSYBOX_DEFAULT_WGET
+	help
+	wget is a utility for non-interactive download of files from HTTP
+	and FTP servers.
+
+config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
+	bool "Enable long options"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
+	depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
+
+config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
+	bool "Enable progress bar (+2k)"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
+	depends on BUSYBOX_CONFIG_WGET
+
+config BUSYBOX_CONFIG_FEATURE_WGET_FTP
+	bool "Enable FTP protocol (+1k)"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_FTP
+	depends on BUSYBOX_CONFIG_WGET
+	help
+	To support FTPS, enable FEATURE_WGET_HTTPS as well.
+
+config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
+	bool "Enable HTTP authentication"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
+	depends on BUSYBOX_CONFIG_WGET
+	help
+	Support authenticated HTTP transfers.
+
+config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
+	bool "Enable timeout option -T SEC"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
+	depends on BUSYBOX_CONFIG_WGET
+	help
+	Supports network read and connect timeouts for wget,
+	so that wget will give up and timeout, through the -T
+	command line option.
+
+	Currently only connect and network data read timeout are
+	supported (i.e., timeout is not applied to the DNS query). When
+	FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
+	will work in addition to -T.
+
+config BUSYBOX_CONFIG_FEATURE_WGET_HTTPS
+	bool "Support HTTPS using internal TLS code"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_HTTPS
+	depends on BUSYBOX_CONFIG_WGET
+	select BUSYBOX_CONFIG_TLS
+	help
+	wget will use internal TLS code to connect to https:// URLs.
+	It also enables FTPS support, but it's not well tested yet.
+	Note:
+	On NOMMU machines, ssl_helper applet should be available
+	in the $PATH for this to work. Make sure to select that applet.
+
+	Note: currently, TLS code only makes TLS I/O work, it
+	does *not* check that the peer is who it claims to be, etc.
+	IOW: it uses peer-supplied public keys to establish encryption
+	and signing keys, then encrypts and signs outgoing data and
+	decrypts incoming data.
+	It does not check signature hashes on the incoming data:
+	this means that attackers manipulating TCP packets can
+	send altered data and we unknowingly receive garbage.
+	(This check might be relatively easy to add).
+	It does not check public key's certificate:
+	this means that the peer may be an attacker impersonating
+	the server we think we are talking to.
+
+	If you think this is unacceptable, consider this. As more and more
+	servers switch to HTTPS-only operation, without such "crippled"
+	TLS code it is *impossible* to simply download a kernel source
+	from kernel.org. Which can in real world translate into
+	"my small automatic tooling to build cross-compilers from sources
+	no longer works, I need to additionally keep a local copy
+	of ~4 megabyte source tarball of a SSL library and ~2 megabyte
+	source of wget, need to compile and built both before I can
+	download anything. All this despite the fact that the build
+	is done in a QEMU sandbox on a machine with absolutely nothing
+	worth stealing, so I don't care if someone would go to a lot
+	of trouble to intercept my HTTPS download to send me an altered
+	kernel tarball".
+
+	If you still think this is unacceptable, send patches.
+
+	If you still think this is unacceptable, do not want to send
+	patches, but do want to waste bandwidth expaining how wrong
+	it is, you will be ignored.
+
+	FEATURE_WGET_OPENSSL does implement TLS verification
+	using the certificates available to OpenSSL.
+
+config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL
+	bool "Try to connect to HTTPS using openssl"
+	default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
+	depends on BUSYBOX_CONFIG_WGET
+	help
+	Try to use openssl to handle HTTPS.
+
+	OpenSSL has a simple SSL client for debug purposes.
+	If you select this option, wget will effectively run:
+	"openssl s_client -quiet -connect hostname:443
+	-servername hostname 2>/dev/null" and pipe its data
+	through it. -servername is not used if hostname is numeric.
+	Note inconvenient API: host resolution is done twice,
+	and there is no guarantee openssl's idea of IPv6 address
+	format is the same as ours.
+	Another problem is that s_client prints debug information
+	to stderr, and it needs to be suppressed. This means
+	all error messages get suppressed too.
+	openssl is also a big binary, often dynamically linked
+	against ~15 libraries.
+
+	If openssl can't be executed, internal TLS code will be used
+	(if you enabled it); if openssl can be executed but fails later,
+	wget can't detect this, and download will fail.
+
+	By default TLS verification is performed, unless
+	--no-check-certificate option is passed.
+config BUSYBOX_CONFIG_WHOIS
+	bool "whois (6.3 kb)"
+	default BUSYBOX_DEFAULT_WHOIS
+	help
+	whois is a client for the whois directory service
+config BUSYBOX_CONFIG_ZCIP
+	bool "zcip (8.4 kb)"
+	default BUSYBOX_DEFAULT_ZCIP
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
+	It's a daemon that allocates and defends a dynamically assigned
+	address on the 169.254/16 network, requiring no system administrator.
+
+	See http://www.zeroconf.org for further details, and "zcip.script"
+	in the busybox examples.
+
+source "udhcp/Config.in"
+
+config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
+	string "ifup udhcpc command line options"
+	default BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
+	depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
+	help
+	Command line options to pass to udhcpc from ifup.
+	Intended to alter options not available in /etc/network/interfaces.
+	(IE: --syslog --background etc...)
+
+endmenu
diff --git a/package/utils/busybox/config/networking/udhcp/Config.in b/package/utils/busybox/config/networking/udhcp/Config.in
new file mode 100644
index 0000000..6757f1e
--- /dev/null
+++ b/package/utils/busybox/config/networking/udhcp/Config.in
@@ -0,0 +1,216 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+config BUSYBOX_CONFIG_UDHCPD
+	bool "udhcpd (21 kb)"
+	default BUSYBOX_DEFAULT_UDHCPD
+	help
+	udhcpd is a DHCP server geared primarily toward embedded systems,
+	while striving to be fully functional and RFC compliant.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
+	bool "Select IP address based on client MAC"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC
+	depends on BUSYBOX_CONFIG_UDHCPD
+	help
+	If selected, udhcpd will base its selection of IP address to offer
+	on the client's hardware address. Otherwise udhcpd uses the next
+	consecutive free address.
+
+	This reduces the frequency of IP address changes for clients
+	which let their lease expire, and makes consecutive DHCPOFFERS
+	for the same client to (almost always) contain the same
+	IP address.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
+	bool "Rewrite lease file at every new acknowledge"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY
+	depends on BUSYBOX_CONFIG_UDHCPD
+	help
+	If selected, udhcpd will write a new file with leases every
+	time a new lease has been accepted, thus eliminating the need
+	to send SIGUSR1 for the initial writing or updating. Any timed
+	rewriting remains undisturbed.
+
+config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
+	string "Absolute path to lease file"
+	default BUSYBOX_DEFAULT_DHCPD_LEASES_FILE
+	depends on BUSYBOX_CONFIG_UDHCPD
+	help
+	udhcpd stores addresses in a lease file. This is the absolute path
+	of the file. Normally it is safe to leave it untouched.
+
+config BUSYBOX_CONFIG_DUMPLEASES
+	bool "dumpleases (5.1 kb)"
+	default BUSYBOX_DEFAULT_DUMPLEASES
+	help
+	dumpleases displays the leases written out by the udhcpd.
+	Lease times are stored in the file by time remaining in lease, or
+	by the absolute time that it expires in seconds from epoch.
+
+config BUSYBOX_CONFIG_DHCPRELAY
+	bool "dhcprelay (5.2 kb)"
+	default BUSYBOX_DEFAULT_DHCPRELAY
+	help
+	dhcprelay listens for DHCP requests on one or more interfaces
+	and forwards these requests to a different interface or DHCP
+	server.
+
+config BUSYBOX_CONFIG_UDHCPC
+	bool "udhcpc (24 kb)"
+	default BUSYBOX_DEFAULT_UDHCPC
+	help
+	udhcpc is a DHCP client geared primarily toward embedded systems,
+	while striving to be fully functional and RFC compliant.
+
+	The udhcp client negotiates a lease with the DHCP server and
+	runs a script when a lease is obtained or lost.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
+	bool "Verify that the offered address is free, using ARP ping"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING
+	depends on BUSYBOX_CONFIG_UDHCPC
+	help
+	If selected, udhcpc will send ARP probes and make sure
+	the offered address is really not in use by anyone. The client
+	will DHCPDECLINE the offer if the address is in use,
+	and restart the discover process.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC_SANITIZEOPT
+	bool "Do not pass malformed host and domain names"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
+	depends on BUSYBOX_CONFIG_UDHCPC
+	help
+	If selected, udhcpc will check some options (such as option 12 -
+	hostname) and if they don't look like valid hostnames
+	(for example, if they start with dash or contain spaces),
+	they will be replaced with string "bad" when exporting
+	to the environment.
+
+config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
+	string "Absolute path to config script"
+	default BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT
+	depends on BUSYBOX_CONFIG_UDHCPC
+	help
+	This script is called after udhcpc receives an answer. See
+	examples/udhcp for a working example. Normally it is safe
+	to leave this untouched.
+
+config BUSYBOX_CONFIG_UDHCPC6_DEFAULT_SCRIPT
+	string "Absolute path to config script for IPv6"
+	default BUSYBOX_DEFAULT_UDHCPC6_DEFAULT_SCRIPT
+	depends on BUSYBOX_CONFIG_UDHCPC6
+
+# udhcpc6 config is inserted here:
+config BUSYBOX_CONFIG_UDHCPC6
+	bool "udhcpc6 (21 kb)"
+	default BUSYBOX_DEFAULT_UDHCPC6
+	depends on BUSYBOX_CONFIG_FEATURE_IPV6
+	help
+	udhcpc6 is a DHCPv6 client
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC3646
+	bool "Support RFC 3646 (DNS server and search list)"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646
+	depends on BUSYBOX_CONFIG_UDHCPC6
+	help
+	List of DNS servers and domain search list can be requested with
+	"-O dns" and "-O search". If server gives these values,
+	they will be set in environment variables "dns" and "search".
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC4704
+	bool "Support RFC 4704 (Client FQDN)"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704
+	depends on BUSYBOX_CONFIG_UDHCPC6
+	help
+	You can request FQDN to be given by server using "-O fqdn".
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC4833
+	bool "Support RFC 4833 (Timezones)"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
+	depends on BUSYBOX_CONFIG_UDHCPC6
+	help
+	You can request POSIX timezone with "-O tz" and timezone name
+	with "-O timezone".
+
+config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC5970
+	bool "Support RFC 5970 (Network Boot)"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC5970
+	depends on BUSYBOX_CONFIG_UDHCPC6
+	help
+	You can request bootfile-url with "-O bootfile_url" and
+	bootfile-params with "-O bootfile_params".
+
+comment "Common options for DHCP applets"
+        depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6 || BUSYBOX_CONFIG_DHCPRELAY
+
+config BUSYBOX_CONFIG_UDHCPC_DEFAULT_INTERFACE
+	string "Default interface name"
+	default BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE
+	depends on BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6
+	help
+	The interface that will be used if no other interface is
+	specified on the commandline.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
+	bool "Enable '-P port' option for udhcpd and udhcpc"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6
+	help
+	At the cost of ~300 bytes, enables -P port option.
+	This feature is typically not needed.
+
+config BUSYBOX_CONFIG_UDHCP_DEBUG
+	int "Maximum verbosity level (0..9)"
+	default BUSYBOX_DEFAULT_UDHCP_DEBUG
+	range 0 9
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6 || BUSYBOX_CONFIG_DHCPRELAY
+	help
+	Verbosity can be increased with multiple -v options.
+	This option controls how high it can be cranked up.
+
+	Bigger values result in bigger code. Levels above 1
+	are very verbose and useful for debugging only.
+
+config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
+	int "DHCP options slack buffer size"
+	default BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS
+	range 0 924
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
+	help
+	Some buggy DHCP servers send DHCP offer packets with option
+	field larger than we expect (which might also be considered a
+	buffer overflow attempt). These packets are normally discarded.
+	If circumstances beyond your control force you to support such
+	servers, this may help. The upper limit (924) makes udhcpc accept
+	even 1500 byte packets (maximum-sized ethernet packets).
+
+	This option does not make udhcp[cd] emit non-standard
+	sized packets.
+
+	Known buggy DHCP servers:
+	3Com OfficeConnect Remote 812 ADSL Router:
+		seems to confuse maximum allowed UDP packet size with
+		maximum size of entire IP packet, and sends packets
+		which are 28 bytes too large.
+	Seednet (ISP) VDSL: sends packets 2 bytes too large.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
+	bool "Support RFC 3397 domain search options"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
+	help
+	If selected, both client and server will support passing of domain
+	search lists via option 119, specified in RFC 3397,
+	and SIP servers option 120, specified in RFC 3361.
+
+config BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q
+	bool "Support 802.1Q VLAN parameters options"
+	default BUSYBOX_DEFAULT_FEATURE_UDHCP_8021Q
+	depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
+	help
+	If selected, both client and server will support passing of VLAN
+	ID and priority via options 132 and 133 as per 802.1Q.
diff --git a/package/utils/busybox/config/printutils/Config.in b/package/utils/busybox/config/printutils/Config.in
new file mode 100644
index 0000000..c53ee19
--- /dev/null
+++ b/package/utils/busybox/config/printutils/Config.in
@@ -0,0 +1,26 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Print Utilities"
+
+config BUSYBOX_CONFIG_LPD
+	bool "lpd (5.5 kb)"
+	default BUSYBOX_DEFAULT_LPD
+	help
+	lpd is a print spooling daemon.
+config BUSYBOX_CONFIG_LPR
+	bool "lpr (9.9 kb)"
+	default BUSYBOX_DEFAULT_LPR
+	help
+	lpr sends files (or standard input) to a print spooling daemon.
+
+config BUSYBOX_CONFIG_LPQ
+	bool "lpq (9.9 kb)"
+	default BUSYBOX_DEFAULT_LPQ
+	help
+	lpq is a print spool queue examination and manipulation program.
+
+endmenu
diff --git a/package/utils/busybox/config/procps/Config.in b/package/utils/busybox/config/procps/Config.in
new file mode 100644
index 0000000..0501daf
--- /dev/null
+++ b/package/utils/busybox/config/procps/Config.in
@@ -0,0 +1,277 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Process Utilities"
+
+config BUSYBOX_CONFIG_FEATURE_FAST_TOP
+	bool "Faster /proc scanning code (+100 bytes)"
+	default BUSYBOX_DEFAULT_FEATURE_FAST_TOP  # all "fast or small" options default to small
+	help
+	This option makes top and ps ~20% faster (or 20% less CPU hungry),
+	but code size is slightly bigger.
+
+config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
+	bool "Support thread display in ps/pstree/top"
+	default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
+	depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
+	help
+	Enables the ps -T option, showing of threads in pstree,
+	and 'h' command in top.
+
+config BUSYBOX_CONFIG_FREE
+	bool "free (3.1 kb)"
+	default BUSYBOX_DEFAULT_FREE
+	help
+	free displays the total amount of free and used physical and swap
+	memory in the system, as well as the buffers used by the kernel.
+	The shared memory column should be ignored; it is obsolete.
+config BUSYBOX_CONFIG_FUSER
+	bool "fuser (7 kb)"
+	default BUSYBOX_DEFAULT_FUSER
+	help
+	fuser lists all PIDs (Process IDs) that currently have a given
+	file open. fuser can also list all PIDs that have a given network
+	(TCP or UDP) port open.
+config BUSYBOX_CONFIG_IOSTAT
+	bool "iostat (7.6 kb)"
+	default BUSYBOX_DEFAULT_IOSTAT
+	help
+	Report CPU and I/O statistics
+config BUSYBOX_CONFIG_KILL
+	bool "kill (3.1 kb)"
+	default BUSYBOX_DEFAULT_KILL
+	help
+	The command kill sends the specified signal to the specified
+	process or process group. If no signal is specified, the TERM
+	signal is sent.
+
+config BUSYBOX_CONFIG_KILLALL
+	bool "killall (5.6 kb)"
+	default BUSYBOX_DEFAULT_KILLALL
+	help
+	killall sends a signal to all processes running any of the
+	specified commands. If no signal name is specified, SIGTERM is
+	sent.
+
+config BUSYBOX_CONFIG_KILLALL5
+	bool "killall5 (5.3 kb)"
+	default BUSYBOX_DEFAULT_KILLALL5
+	help
+	The SystemV killall command. killall5 sends a signal
+	to all processes except kernel threads and the processes
+	in its own session, so it won't kill the shell that is running
+	the script it was called from.
+config BUSYBOX_CONFIG_LSOF
+	bool "lsof (3.4 kb)"
+	default BUSYBOX_DEFAULT_LSOF
+	help
+	Show open files in the format of:
+	PID <TAB> /path/to/executable <TAB> /path/to/opened/file
+config BUSYBOX_CONFIG_MPSTAT
+	bool "mpstat (9.8 kb)"
+	default BUSYBOX_DEFAULT_MPSTAT
+	help
+	Per-processor statistics
+config BUSYBOX_CONFIG_NMETER
+	bool "nmeter (11 kb)"
+	default BUSYBOX_DEFAULT_NMETER
+	help
+	Prints selected system stats continuously, one line per update.
+config BUSYBOX_CONFIG_PGREP
+	bool "pgrep (6.5 kb)"
+	default BUSYBOX_DEFAULT_PGREP
+	help
+	Look for processes by name.
+
+config BUSYBOX_CONFIG_PKILL
+	bool "pkill (7.5 kb)"
+	default BUSYBOX_DEFAULT_PKILL
+	help
+	Send signals to processes by name.
+config BUSYBOX_CONFIG_PIDOF
+	bool "pidof (6.3 kb)"
+	default BUSYBOX_DEFAULT_PIDOF
+	help
+	Pidof finds the process id's (pids) of the named programs. It prints
+	those id's on the standard output.
+
+config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
+	bool "Enable single shot (-s)"
+	default BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE
+	depends on BUSYBOX_CONFIG_PIDOF
+	help
+	Support '-s' for returning only the first pid found.
+
+config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
+	bool "Enable omitting pids (-o PID)"
+	default BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT
+	depends on BUSYBOX_CONFIG_PIDOF
+	help
+	Support '-o PID' for omitting the given pid(s) in output.
+	The special pid %PPID can be used to name the parent process
+	of the pidof, in other words the calling shell or shell script.
+config BUSYBOX_CONFIG_PMAP
+	bool "pmap (6 kb)"
+	default BUSYBOX_DEFAULT_PMAP
+	help
+	Display processes' memory mappings.
+config BUSYBOX_CONFIG_POWERTOP
+	bool "powertop (9.6 kb)"
+	default BUSYBOX_DEFAULT_POWERTOP
+	help
+	Analyze power consumption on Intel-based laptops
+
+config BUSYBOX_CONFIG_FEATURE_POWERTOP_INTERACTIVE
+	bool "Accept keyboard commands"
+	default BUSYBOX_DEFAULT_FEATURE_POWERTOP_INTERACTIVE
+	depends on BUSYBOX_CONFIG_POWERTOP
+	help
+	Without this, powertop will only refresh display every 10 seconds.
+	No keyboard commands will work, only ^C to terminate.
+config BUSYBOX_CONFIG_PS
+	bool "ps (11 kb)"
+	default BUSYBOX_DEFAULT_PS
+	help
+	ps gives a snapshot of the current processes.
+
+config BUSYBOX_CONFIG_FEATURE_PS_WIDE
+	bool "Enable wide output (-w)"
+	default BUSYBOX_DEFAULT_FEATURE_PS_WIDE
+	depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && !BUSYBOX_CONFIG_DESKTOP
+	help
+	Support argument 'w' for wide output.
+	If given once, 132 chars are printed, and if given more
+	than once, the length is unlimited.
+
+config BUSYBOX_CONFIG_FEATURE_PS_LONG
+	bool "Enable long output (-l)"
+	default BUSYBOX_DEFAULT_FEATURE_PS_LONG
+	depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && !BUSYBOX_CONFIG_DESKTOP
+	help
+	Support argument 'l' for long output.
+	Adds fields PPID, RSS, START, TIME & TTY
+
+config BUSYBOX_CONFIG_FEATURE_PS_TIME
+	bool "Enable -o time and -o etime specifiers"
+	default BUSYBOX_DEFAULT_FEATURE_PS_TIME
+	depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && BUSYBOX_CONFIG_DESKTOP
+
+config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
+	bool "Support Linux prior to 2.4.0 and non-ELF systems"
+	default BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
+	depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
+	help
+	Include support for measuring HZ on old kernels and non-ELF systems
+	(if you are on Linux 2.4.0+ and use ELF, you don't need this)
+
+config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
+	bool "Enable -o rgroup, -o ruser, -o nice specifiers"
+	default BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
+	depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && BUSYBOX_CONFIG_DESKTOP
+config BUSYBOX_CONFIG_PSTREE
+	bool "pstree (9.3 kb)"
+	default BUSYBOX_DEFAULT_PSTREE
+	help
+	Display a tree of processes.
+config BUSYBOX_CONFIG_PWDX
+	bool "pwdx (3.7 kb)"
+	default BUSYBOX_DEFAULT_PWDX
+	help
+	Report current working directory of a process
+config BUSYBOX_CONFIG_SMEMCAP
+	bool "smemcap (2.5 kb)"
+	default BUSYBOX_DEFAULT_SMEMCAP
+	help
+	smemcap is a tool for capturing process data for smem,
+	a memory usage statistic tool.
+config BUSYBOX_CONFIG_BB_SYSCTL
+	bool "sysctl (7.4 kb)"
+	default BUSYBOX_DEFAULT_BB_SYSCTL
+	help
+	Configure kernel parameters at runtime.
+config BUSYBOX_CONFIG_TOP
+	bool "top (18 kb)"
+	default BUSYBOX_DEFAULT_TOP
+	help
+	The top program provides a dynamic real-time view of a running
+	system.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_INTERACTIVE
+	bool "Accept keyboard commands"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_INTERACTIVE
+	depends on BUSYBOX_CONFIG_TOP
+	help
+	Without this, top will only refresh display every 5 seconds.
+	No keyboard commands will work, only ^C to terminate.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+	bool "Show CPU per-process usage percentage"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+	depends on BUSYBOX_CONFIG_TOP
+	help
+	Make top display CPU usage for each process.
+	This adds about 2k.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
+	bool "Show CPU global usage percentage"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS
+	depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+	help
+	Makes top display "CPU: NN% usr NN% sys..." line.
+	This adds about 0.5k.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
+	bool "SMP CPU usage display ('c' key)"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_CPU
+	depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
+	help
+	Allow 'c' key to switch between individual/cumulative CPU stats
+	This adds about 0.5k.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
+	bool "Show 1/10th of a percent in CPU/mem statistics"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_DECIMALS
+	depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+	help
+	Show 1/10th of a percent in CPU/mem statistics.
+	This adds about 0.3k.
+
+config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
+	bool "Show CPU process runs on ('j' field)"
+	default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_PROCESS
+	depends on BUSYBOX_CONFIG_TOP
+	help
+	Show CPU where process was last found running on.
+	This is the 'j' field.
+
+config BUSYBOX_CONFIG_FEATURE_TOPMEM
+	bool "Topmem command ('s' key)"
+	default BUSYBOX_DEFAULT_FEATURE_TOPMEM
+	depends on BUSYBOX_CONFIG_TOP
+	help
+	Enable 's' in top (gives lots of memory info).
+config BUSYBOX_CONFIG_UPTIME
+	bool "uptime (3.7 kb)"
+	default BUSYBOX_DEFAULT_UPTIME
+	help
+	uptime gives a one line display of the current time, how long
+	the system has been running, how many users are currently logged
+	on, and the system load averages for the past 1, 5, and 15 minutes.
+
+config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
+	bool "Show the number of users"
+	default BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
+	depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Display the number of users currently logged on.
+config BUSYBOX_CONFIG_WATCH
+	bool "watch (4.4 kb)"
+	default BUSYBOX_DEFAULT_WATCH
+	help
+	watch is used to execute a program periodically, showing
+	output to the screen.
+
+endmenu
diff --git a/package/utils/busybox/config/runit/Config.in b/package/utils/busybox/config/runit/Config.in
new file mode 100644
index 0000000..2c701f2
--- /dev/null
+++ b/package/utils/busybox/config/runit/Config.in
@@ -0,0 +1,98 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Runit Utilities"
+
+config BUSYBOX_CONFIG_CHPST
+	bool "chpst (9 kb)"
+	default BUSYBOX_DEFAULT_CHPST
+	help
+	chpst changes the process state according to the given options, and
+	execs specified program.
+
+config BUSYBOX_CONFIG_SETUIDGID
+	bool "setuidgid (4 kb)"
+	default BUSYBOX_DEFAULT_SETUIDGID
+	help
+	Sets soft resource limits as specified by options
+
+config BUSYBOX_CONFIG_ENVUIDGID
+	bool "envuidgid (3.9 kb)"
+	default BUSYBOX_DEFAULT_ENVUIDGID
+	help
+	Sets $UID to account's uid and $GID to account's gid
+
+config BUSYBOX_CONFIG_ENVDIR
+	bool "envdir (2.5 kb)"
+	default BUSYBOX_DEFAULT_ENVDIR
+	help
+	Sets various environment variables as specified by files
+	in the given directory
+
+config BUSYBOX_CONFIG_SOFTLIMIT
+	bool "softlimit (4.5 kb)"
+	default BUSYBOX_DEFAULT_SOFTLIMIT
+	help
+	Sets soft resource limits as specified by options
+config BUSYBOX_CONFIG_RUNSV
+	bool "runsv (7.8 kb)"
+	default BUSYBOX_DEFAULT_RUNSV
+	help
+	runsv starts and monitors a service and optionally an appendant log
+	service.
+config BUSYBOX_CONFIG_RUNSVDIR
+	bool "runsvdir (6.3 kb)"
+	default BUSYBOX_DEFAULT_RUNSVDIR
+	help
+	runsvdir starts a runsv process for each subdirectory, or symlink to
+	a directory, in the services directory dir, up to a limit of 1000
+	subdirectories, and restarts a runsv process if it terminates.
+
+config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
+	bool "Enable scrolling argument log"
+	depends on BUSYBOX_CONFIG_RUNSVDIR
+	default BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
+	help
+	Enable feature where second parameter of runsvdir holds last error
+	message (viewable via top/ps). Otherwise (feature is off
+	or no parameter), error messages go to stderr only.
+config BUSYBOX_CONFIG_SV
+	bool "sv (8.5 kb)"
+	default BUSYBOX_DEFAULT_SV
+	help
+	sv reports the current status and controls the state of services
+	monitored by the runsv supervisor.
+
+config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
+	string "Default directory for services"
+	default BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
+	depends on BUSYBOX_CONFIG_SV || BUSYBOX_CONFIG_SVC || BUSYBOX_CONFIG_SVOK
+	help
+	Default directory for services.
+	Defaults to "/var/service"
+
+config BUSYBOX_CONFIG_SVC
+	bool "svc (8.4 kb)"
+	default BUSYBOX_DEFAULT_SVC
+	help
+	svc controls the state of services monitored by the runsv supervisor.
+	It is compatible with daemontools command with the same name.
+
+config BUSYBOX_CONFIG_SVOK
+	bool "svok (1.5 kb)"
+	default BUSYBOX_DEFAULT_SVOK
+	help
+	svok checks whether runsv supervisor is running.
+	It is compatible with daemontools command with the same name.
+config BUSYBOX_CONFIG_SVLOGD
+	bool "svlogd (16 kb)"
+	default BUSYBOX_DEFAULT_SVLOGD
+	help
+	svlogd continuously reads log data from its standard input, optionally
+	filters log messages, and writes the data to one or more automatically
+	rotated logs.
+
+endmenu
diff --git a/package/utils/busybox/config/selinux/Config.in b/package/utils/busybox/config/selinux/Config.in
new file mode 100644
index 0000000..de67a72
--- /dev/null
+++ b/package/utils/busybox/config/selinux/Config.in
@@ -0,0 +1,99 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "SELinux Utilities"
+	depends on BUSYBOX_CONFIG_SELINUX
+
+config BUSYBOX_CONFIG_CHCON
+	bool "chcon (8.9 kb)"
+	default BUSYBOX_DEFAULT_CHCON
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to change the security context of file.
+config BUSYBOX_CONFIG_GETENFORCE
+	bool "getenforce (1.7 kb)"
+	default BUSYBOX_DEFAULT_GETENFORCE
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to get the current mode of SELinux.
+config BUSYBOX_CONFIG_GETSEBOOL
+	bool "getsebool (5.5 kb)"
+	default BUSYBOX_DEFAULT_GETSEBOOL
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to get SELinux boolean values.
+config BUSYBOX_CONFIG_LOAD_POLICY
+	bool "load_policy (1.6 kb)"
+	default BUSYBOX_DEFAULT_LOAD_POLICY
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to load SELinux policy.
+config BUSYBOX_CONFIG_MATCHPATHCON
+	bool "matchpathcon (6.1 kb)"
+	default BUSYBOX_DEFAULT_MATCHPATHCON
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to get default security context of the
+	specified path from the file contexts configuration.
+config BUSYBOX_CONFIG_RUNCON
+	bool "runcon (6.6 kb)"
+	default BUSYBOX_DEFAULT_RUNCON
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to run command in specified security context.
+config BUSYBOX_CONFIG_SELINUXENABLED
+	bool "selinuxenabled (321 bytes)"
+	default BUSYBOX_DEFAULT_SELINUXENABLED
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support for this command to be used within shell scripts
+	to determine if selinux is enabled.
+config BUSYBOX_CONFIG_SESTATUS
+	bool "sestatus (12 kb)"
+	default BUSYBOX_DEFAULT_SESTATUS
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Displays the status of SELinux.
+config BUSYBOX_CONFIG_SETENFORCE
+	bool "setenforce (2.1 kb)"
+	default BUSYBOX_DEFAULT_SETENFORCE
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to modify the mode SELinux is running in.
+config BUSYBOX_CONFIG_SETFILES
+	bool "setfiles (13 kb)"
+	default BUSYBOX_DEFAULT_SETFILES
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to modify to relabel files.
+	Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
+	(It is default in libselinux's Makefile), you _must_ enable
+	CONFIG_LFS.
+
+config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
+	bool "Enable check option"
+	default BUSYBOX_DEFAULT_FEATURE_SETFILES_CHECK_OPTION
+	depends on BUSYBOX_CONFIG_SETFILES
+	help
+	Support "-c" option (check the validity of the contexts against
+	the specified binary policy) for setfiles. Requires libsepol.
+
+config BUSYBOX_CONFIG_RESTORECON
+	bool "restorecon (12 kb)"
+	default BUSYBOX_DEFAULT_RESTORECON
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support to relabel files. The feature is almost
+	the same as setfiles, but usage is a little different.
+config BUSYBOX_CONFIG_SETSEBOOL
+	bool "setsebool (1.7 kb)"
+	default BUSYBOX_DEFAULT_SETSEBOOL
+	depends on BUSYBOX_CONFIG_SELINUX
+	help
+	Enable support for change boolean.
+	semanage and -P option is not supported yet.
+
+endmenu
diff --git a/package/utils/busybox/config/shell/Config.in b/package/utils/busybox/config/shell/Config.in
new file mode 100644
index 0000000..a68e911
--- /dev/null
+++ b/package/utils/busybox/config/shell/Config.in
@@ -0,0 +1,608 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Shells"
+
+
+choice
+	prompt "Choose which shell is aliased to 'sh' name"
+	default BUSYBOX_CONFIG_SH_IS_ASH
+	help
+	Choose which shell you want to be executed by 'sh' alias.
+	The ash shell is the most bash compatible and full featured one.
+
+# note: cannot use "select ASH" here, it breaks "make allnoconfig"
+config BUSYBOX_CONFIG_SH_IS_ASH
+	depends on !BUSYBOX_CONFIG_NOMMU
+	bool "ash"
+	select BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Choose ash to be the shell executed by 'sh' name.
+	The ash code will be built into busybox. If you don't select
+	"ash" choice (CONFIG_ASH), this shell may only be invoked by
+	the name 'sh' (and not 'ash').
+
+config BUSYBOX_CONFIG_SH_IS_HUSH
+	bool "hush"
+	select BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Choose hush to be the shell executed by 'sh' name.
+	The hush code will be built into busybox. If you don't select
+	"hush" choice (CONFIG_HUSH), this shell may only be invoked by
+	the name 'sh' (and not 'hush').
+
+config BUSYBOX_CONFIG_SH_IS_NONE
+	bool "none"
+
+endchoice
+
+choice
+	prompt "Choose which shell is aliased to 'bash' name"
+	default BUSYBOX_CONFIG_BASH_IS_NONE
+	help
+	Choose which shell you want to be executed by 'bash' alias.
+	The ash shell is the most bash compatible and full featured one,
+	although compatibility is far from being complete.
+
+	Note that selecting this option does not switch on any bash
+	compatibility code. It merely makes it possible to install
+	/bin/bash (sym)link and run scripts which start with
+	#!/bin/bash line.
+
+	Many systems use it in scripts which use bash-specific features,
+	even simple ones like $RANDOM. Without this option, busybox
+	can't be used for running them because it won't recongnize
+	"bash" as a supported applet name.
+
+config BUSYBOX_CONFIG_BASH_IS_ASH
+	depends on !BUSYBOX_CONFIG_NOMMU
+	bool "ash"
+	select BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Choose ash to be the shell executed by 'bash' name.
+	The ash code will be built into busybox. If you don't select
+	"ash" choice (CONFIG_ASH), this shell may only be invoked by
+	the name 'bash' (and not 'ash').
+
+config BUSYBOX_CONFIG_BASH_IS_HUSH
+	bool "hush"
+	select BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Choose hush to be the shell executed by 'bash' name.
+	The hush code will be built into busybox. If you don't select
+	"hush" choice (CONFIG_HUSH), this shell may only be invoked by
+	the name 'bash' (and not 'hush').
+
+config BUSYBOX_CONFIG_BASH_IS_NONE
+	bool "none"
+
+endchoice
+
+
+config BUSYBOX_CONFIG_SHELL_ASH
+	bool #hidden option
+	depends on !BUSYBOX_CONFIG_NOMMU
+
+config BUSYBOX_CONFIG_ASH
+	bool "ash (78 kb)"
+	default BUSYBOX_DEFAULT_ASH
+	depends on !BUSYBOX_CONFIG_NOMMU
+	select BUSYBOX_CONFIG_SHELL_ASH
+	help
+	The most complete and most pedantically correct shell included with
+	busybox. This shell is actually a derivative of the Debian 'dash'
+	shell (by Herbert Xu), which was created by porting the 'ash' shell
+	(written by Kenneth Almquist) from NetBSD.
+
+# ash options
+# note: Don't remove !NOMMU part in the next line; it would break
+# menuconfig's indenting.
+if !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
+
+config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
+	bool "Optimize for size instead of speed"
+	default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
+	bool "Use internal glob() implementation"
+	default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB	# Y is bigger, but because of uclibc glob() bug, let Y be default for now
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Do not use glob() function from libc, use internal implementation.
+	Use this if you are getting "glob.h: No such file or directory"
+	or similar build errors.
+	Note that as of now (2017-01), uclibc and musl glob() both have bugs
+	which would break ash if you select N here.
+
+config BUSYBOX_CONFIG_ASH_BASH_COMPAT
+	bool "bash-compatible extensions"
+	default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
+	bool "'source' and '.' builtins search current directory after $PATH"
+	default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
+	depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
+	help
+	This is not compliant with standards. Avoid if possible.
+
+config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
+	bool "command_not_found_handle hook support"
+	default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
+	depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
+	help
+	Enable support for the 'command_not_found_handle' hook function,
+	from GNU bash, which allows for alternative command not found
+	handling.
+
+config BUSYBOX_CONFIG_ASH_JOB_CONTROL
+	bool "Job control"
+	default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_ALIAS
+	bool "Alias support"
+	default BUSYBOX_DEFAULT_ASH_ALIAS
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
+	bool "Pseudorandom generator and $RANDOM variable"
+	default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Enable pseudorandom generator and dynamic variable "$RANDOM".
+	Each read of "$RANDOM" will generate a new pseudorandom value.
+	You can reset the generator by using a specified start value.
+	After "unset RANDOM" the generator will switch off and this
+	variable will no longer have special treatment.
+
+config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
+	bool "Expand prompt string"
+	default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	$PS# may contain volatile content, such as backquote commands.
+	This option recreates the prompt string from the environment
+	variable each time it is displayed.
+
+config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
+	bool "Idle timeout variable $TMOUT"
+	default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Enable bash-like auto-logout after $TMOUT seconds of idle time.
+
+config BUSYBOX_CONFIG_ASH_MAIL
+	bool "Check for new mail in interactive shell"
+	default BUSYBOX_DEFAULT_ASH_MAIL
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Enable "check for new mail" function:
+	if set, $MAIL file and $MAILPATH list of files
+	are checked for mtime changes, and "you have mail"
+	message is printed if change is detected.
+
+config BUSYBOX_CONFIG_ASH_ECHO
+	bool "echo builtin"
+	default BUSYBOX_DEFAULT_ASH_ECHO
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_PRINTF
+	bool "printf builtin"
+	default BUSYBOX_DEFAULT_ASH_PRINTF
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_TEST
+	bool "test builtin"
+	default BUSYBOX_DEFAULT_ASH_TEST
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_SLEEP
+	bool "sleep builtin"
+	default BUSYBOX_DEFAULT_ASH_SLEEP
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_HELP
+	bool "help builtin"
+	default BUSYBOX_DEFAULT_ASH_HELP
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_GETOPTS
+	bool "getopts builtin"
+	default BUSYBOX_DEFAULT_ASH_GETOPTS
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+
+config BUSYBOX_CONFIG_ASH_CMDCMD
+	bool "command builtin"
+	default BUSYBOX_DEFAULT_ASH_CMDCMD
+	depends on BUSYBOX_CONFIG_SHELL_ASH
+	help
+	Enable support for the 'command' builtin, which allows
+	you to run the specified command or builtin,
+	even when there is a function with the same name.
+
+endif # ash options
+config BUSYBOX_CONFIG_CTTYHACK
+	bool "cttyhack (2.4 kb)"
+	default BUSYBOX_DEFAULT_CTTYHACK
+	help
+	One common problem reported on the mailing list is the "can't
+	access tty; job control turned off" error message, which typically
+	appears when one tries to use a shell with stdin/stdout on
+	/dev/console.
+	This device is special - it cannot be a controlling tty.
+
+	The proper solution is to use the correct device instead of
+	/dev/console.
+
+	cttyhack provides a "quick and dirty" solution to this problem.
+	It analyzes stdin with various ioctls, trying to determine whether
+	it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
+	On Linux it also checks sysfs for a pointer to the active console.
+	If cttyhack is able to find the real console device, it closes
+	stdin/out/err and reopens that device.
+	Then it executes the given program. Opening the device will make
+	that device a controlling tty. This may require cttyhack
+	to be a session leader.
+
+	Example for /etc/inittab (for busybox init):
+
+	::respawn:/bin/cttyhack /bin/sh
+
+	Starting an interactive shell from boot shell script:
+
+	setsid cttyhack sh
+
+	Giving controlling tty to shell running with PID 1:
+
+	# exec cttyhack sh
+
+	Without cttyhack, you need to know exact tty name,
+	and do something like this:
+
+	# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+
+	Starting getty on a controlling tty from a shell script:
+
+	# getty 115200 $(cttyhack)
+config BUSYBOX_CONFIG_HUSH
+	bool "hush (68 kb)"
+	default BUSYBOX_DEFAULT_HUSH
+	select BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	hush is a small shell. It handles the normal flow control
+	constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+	case/esac. Redirections, here documents, $((arithmetic))
+	and functions are supported.
+
+	It will compile and work on no-mmu systems.
+
+	It does not handle select, aliases, tilde expansion,
+	&>file and >&file redirection of stdout+stderr.
+
+config BUSYBOX_CONFIG_SHELL_HUSH
+	bool "Internal shell for embedded script support"
+	default BUSYBOX_DEFAULT_SHELL_HUSH
+
+# hush options
+# It's only needed to get "nice" menuconfig indenting.
+if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
+
+config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
+	bool "bash-compatible extensions"
+	default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
+	bool "Brace expansion"
+	default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
+	depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
+	help
+	Enable {abc,def} extension.
+
+config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
+	bool "'source' and '.' builtins search current directory after $PATH"
+	default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
+	depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
+	help
+	This is not compliant with standards. Avoid if possible.
+
+config BUSYBOX_CONFIG_HUSH_LINENO_VAR
+	bool "$LINENO variable (bashism)"
+	default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_INTERACTIVE
+	bool "Interactive mode"
+	default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable interactive mode (prompt and command editing).
+	Without this, hush simply reads and executes commands
+	from stdin just like a shell script from a file.
+	No prompt, no PS1/PS2 magic shell variables.
+
+config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
+	bool "Save command history to .hush_history"
+	default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
+	depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
+
+config BUSYBOX_CONFIG_HUSH_JOB
+	bool "Job control"
+	default BUSYBOX_DEFAULT_HUSH_JOB
+	depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
+	help
+	Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
+	command (not entire shell), fg/bg builtins work. Without this option,
+	"cmd &" still works by simply spawning a process and immediately
+	prompting for next command (or executing next command in a script),
+	but no separate process group is formed.
+
+config BUSYBOX_CONFIG_HUSH_TICK
+	bool "Support command substitution"
+	default BUSYBOX_DEFAULT_HUSH_TICK
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable `command` and $(command).
+
+config BUSYBOX_CONFIG_HUSH_IF
+	bool "Support if/then/elif/else/fi"
+	default BUSYBOX_DEFAULT_HUSH_IF
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_LOOPS
+	bool "Support for, while and until loops"
+	default BUSYBOX_DEFAULT_HUSH_LOOPS
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_CASE
+	bool "Support case ... esac statement"
+	default BUSYBOX_DEFAULT_HUSH_CASE
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable case ... esac statement. +400 bytes.
+
+config BUSYBOX_CONFIG_HUSH_FUNCTIONS
+	bool "Support funcname() { commands; } syntax"
+	default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable support for shell functions. +800 bytes.
+
+config BUSYBOX_CONFIG_HUSH_LOCAL
+	bool "local builtin"
+	default BUSYBOX_DEFAULT_HUSH_LOCAL
+	depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
+	help
+	Enable support for local variables in functions.
+
+config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
+	bool "Pseudorandom generator and $RANDOM variable"
+	default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable pseudorandom generator and dynamic variable "$RANDOM".
+	Each read of "$RANDOM" will generate a new pseudorandom value.
+
+config BUSYBOX_CONFIG_HUSH_MODE_X
+	bool "Support 'hush -x' option and 'set -x' command"
+	default BUSYBOX_DEFAULT_HUSH_MODE_X
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	This instructs hush to print commands before execution.
+	Adds ~300 bytes.
+
+config BUSYBOX_CONFIG_HUSH_ECHO
+	bool "echo builtin"
+	default BUSYBOX_DEFAULT_HUSH_ECHO
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_PRINTF
+	bool "printf builtin"
+	default BUSYBOX_DEFAULT_HUSH_PRINTF
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_TEST
+	bool "test builtin"
+	default BUSYBOX_DEFAULT_HUSH_TEST
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_HELP
+	bool "help builtin"
+	default BUSYBOX_DEFAULT_HUSH_HELP
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_EXPORT
+	bool "export builtin"
+	default BUSYBOX_DEFAULT_HUSH_EXPORT
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_EXPORT_N
+	bool "Support 'export -n' option"
+	default BUSYBOX_DEFAULT_HUSH_EXPORT_N
+	depends on BUSYBOX_CONFIG_HUSH_EXPORT
+	help
+	export -n unexports variables. It is a bash extension.
+
+config BUSYBOX_CONFIG_HUSH_READONLY
+	bool "readonly builtin"
+	default BUSYBOX_DEFAULT_HUSH_READONLY
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable support for read-only variables.
+
+config BUSYBOX_CONFIG_HUSH_KILL
+	bool "kill builtin (supports kill %jobspec)"
+	default BUSYBOX_DEFAULT_HUSH_KILL
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_WAIT
+	bool "wait builtin"
+	default BUSYBOX_DEFAULT_HUSH_WAIT
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_COMMAND
+	bool "command builtin"
+	default BUSYBOX_DEFAULT_HUSH_COMMAND
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_TRAP
+	bool "trap builtin"
+	default BUSYBOX_DEFAULT_HUSH_TRAP
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_TYPE
+	bool "type builtin"
+	default BUSYBOX_DEFAULT_HUSH_TYPE
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_TIMES
+	bool "times builtin"
+	default BUSYBOX_DEFAULT_HUSH_TIMES
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_READ
+	bool "read builtin"
+	default BUSYBOX_DEFAULT_HUSH_READ
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_SET
+	bool "set builtin"
+	default BUSYBOX_DEFAULT_HUSH_SET
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_UNSET
+	bool "unset builtin"
+	default BUSYBOX_DEFAULT_HUSH_UNSET
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_ULIMIT
+	bool "ulimit builtin"
+	default BUSYBOX_DEFAULT_HUSH_ULIMIT
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_UMASK
+	bool "umask builtin"
+	default BUSYBOX_DEFAULT_HUSH_UMASK
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_GETOPTS
+	bool "getopts builtin"
+	default BUSYBOX_DEFAULT_HUSH_GETOPTS
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_HUSH_MEMLEAK
+	bool "memleak builtin (debugging)"
+	default BUSYBOX_DEFAULT_HUSH_MEMLEAK
+	depends on BUSYBOX_CONFIG_SHELL_HUSH
+
+endif # hush options
+
+
+comment "Options common to all shells"
+if BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+
+config BUSYBOX_CONFIG_FEATURE_SH_MATH
+	bool "POSIX math support"
+	default BUSYBOX_DEFAULT_FEATURE_SH_MATH
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable math support in the shell via $((...)) syntax.
+
+config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
+	bool "Extend POSIX math support to 64 bit"
+	default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
+	depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
+	help
+	Enable 64-bit math support in the shell. This will make the shell
+	slightly larger, but will allow computation with very large numbers.
+	This is not in POSIX, so do not rely on this in portable code.
+
+config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE
+	bool "Support BASE#nnnn literals"
+	default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
+	depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
+
+config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
+	bool "Hide message on interactive shell startup"
+	default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Remove the busybox introduction when starting a shell.
+
+config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
+	bool "Standalone shell"
+	default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	This option causes busybox shells to use busybox applets
+	in preference to executables in the PATH whenever possible. For
+	example, entering the command 'ifconfig' into the shell would cause
+	busybox to use the ifconfig busybox applet. Specifying the fully
+	qualified executable name, such as '/sbin/ifconfig' will still
+	execute the /sbin/ifconfig executable on the filesystem. This option
+	is generally used when creating a statically linked version of busybox
+	for use as a rescue shell, in the event that you screw up your system.
+
+	This is implemented by re-execing /proc/self/exe (typically)
+	with right parameters.
+
+	However, there are drawbacks: it is problematic in chroot jails
+	without mounted /proc, and ps/top may show command name as 'exe'
+	for applets started this way.
+
+config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
+	bool "Run 'nofork' applets directly"
+	default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	This option causes busybox shells to not execute typical
+	fork/exec/wait sequence, but call <applet>_main directly,
+	if possible. (Sometimes it is not possible: for example,
+	this is not possible in pipes).
+
+	This will be done only for some applets (those which are marked
+	NOFORK in include/applets.h).
+
+	This may significantly speed up some shell scripts.
+
+	This feature is relatively new. Use with care. Report bugs
+	to project mailing list.
+
+config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
+	bool "read -t N.NNN support (+110 bytes)"
+	default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Enable support for fractional second timeout in read builtin.
+
+config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
+	bool "Use $HISTFILESIZE"
+	default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	This option makes busybox shells to use $HISTFILESIZE variable
+	to set shell history size. Note that its max value is capped
+	by "History size" setting in library tuning section.
+
+config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
+	bool "Embed scripts in the binary"
+	default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
+	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
+	help
+	Allow scripts to be compressed and embedded in the busybox
+	binary. The scripts should be placed in the 'embed' directory
+	at build time. Like applets, scripts can be run as
+	'busybox SCRIPT ...' or by linking their name to the binary.
+
+	This also allows applets to be implemented as scripts: place
+	the script in 'applets_sh' and a stub C file containing
+	configuration in the appropriate subsystem directory.
+
+endif # Options common to all shells
+
+endmenu
diff --git a/package/utils/busybox/config/sysklogd/Config.in b/package/utils/busybox/config/sysklogd/Config.in
new file mode 100644
index 0000000..1aa2ea0
--- /dev/null
+++ b/package/utils/busybox/config/sysklogd/Config.in
@@ -0,0 +1,171 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "System Logging Utilities"
+
+config BUSYBOX_CONFIG_KLOGD
+	bool "klogd (5.7 kb)"
+	default BUSYBOX_DEFAULT_KLOGD
+	help
+	klogd is a utility which intercepts and logs all
+	messages from the Linux kernel and sends the messages
+	out to the 'syslogd' utility so they can be logged. If
+	you wish to record the messages produced by the kernel,
+	you should enable this option.
+
+comment "klogd should not be used together with syslog to kernel printk buffer"
+	depends on BUSYBOX_CONFIG_KLOGD && BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
+
+config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
+	bool "Use the klogctl() interface"
+	default BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
+	depends on BUSYBOX_CONFIG_KLOGD
+	help
+	The klogd applet supports two interfaces for reading
+	kernel messages. Linux provides the klogctl() interface
+	which allows reading messages from the kernel ring buffer
+	independently from the file system.
+
+	If you answer 'N' here, klogd will use the more portable
+	approach of reading them from /proc or a device node.
+	However, this method requires the file to be available.
+
+	If in doubt, say 'Y'.
+config BUSYBOX_CONFIG_LOGGER
+	bool "logger (6.3 kb)"
+	default BUSYBOX_DEFAULT_LOGGER
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	The logger utility allows you to send arbitrary text
+	messages to the system log (i.e. the 'syslogd' utility) so
+	they can be logged. This is generally used to help locate
+	problems that occur within programs and scripts.
+config BUSYBOX_CONFIG_LOGREAD
+	bool "logread (4.8 kb)"
+	default BUSYBOX_DEFAULT_LOGREAD
+	help
+	If you enabled Circular Buffer support, you almost
+	certainly want to enable this feature as well. This
+	utility will allow you to read the messages that are
+	stored in the syslogd circular buffer.
+
+config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
+	bool "Double buffering"
+	default BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
+	depends on BUSYBOX_CONFIG_LOGREAD
+	help
+	'logread' output to slow serial terminals can have
+	side effects on syslog because of the semaphore.
+	This option make logread to double buffer copy
+	from circular buffer, minimizing semaphore
+	contention at some minor memory expense.
+
+config BUSYBOX_CONFIG_SYSLOGD
+	bool "syslogd (13 kb)"
+	default BUSYBOX_DEFAULT_SYSLOGD
+	help
+	The syslogd utility is used to record logs of all the
+	significant events that occur on a system. Every
+	message that is logged records the date and time of the
+	event, and will generally also record the name of the
+	application that generated the message. When used in
+	conjunction with klogd, messages from the Linux kernel
+	can also be recorded. This is terribly useful,
+	especially for finding what happened when something goes
+	wrong. And something almost always will go wrong if
+	you wait long enough....
+
+config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
+	bool "Rotate message files"
+	default BUSYBOX_DEFAULT_FEATURE_ROTATE_LOGFILE
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	This enables syslogd to rotate the message files
+	on his own. No need to use an external rotate script.
+
+config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
+	bool "Remote Log support"
+	default BUSYBOX_DEFAULT_FEATURE_REMOTE_LOG
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	When you enable this feature, the syslogd utility can
+	be used to send system log messages to another system
+	connected via a network. This allows the remote
+	machine to log all the system messages, which can be
+	terribly useful for reducing the number of serial
+	cables you use. It can also be a very good security
+	measure to prevent system logs from being tampered with
+	by an intruder.
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
+	bool "Support -D (drop dups) option"
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_DUP
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	Option -D instructs syslogd to drop consecutive messages
+	which are totally the same.
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG
+	bool "Support syslog.conf"
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_CFG
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	Supports restricted syslogd config. See docs/syslog.conf.txt
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
+	bool "Include milliseconds in timestamps"
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	Includes milliseconds (HH:MM:SS.mmm) in timestamp when
+	timestamps are added.
+
+config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
+	int "Read buffer size in bytes"
+	default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE
+	range 256 20000
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	This option sets the size of the syslog read buffer.
+	Actual memory usage increases around five times the
+	change done here.
+
+config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
+	bool "Circular Buffer support"
+	default BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	When you enable this feature, the syslogd utility will
+	use a circular buffer to record system log messages.
+	When the buffer is filled it will continue to overwrite
+	the oldest messages. This can be very useful for
+	systems with little or no permanent storage, since
+	otherwise system logs can eventually fill up your
+	entire filesystem, which may cause your system to
+	break badly.
+
+config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
+	int "Circular buffer size in Kbytes (minimum 4KB)"
+	default BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE
+	range 4 2147483647
+	depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
+	help
+	This option sets the size of the circular buffer
+	used to record system log messages.
+
+config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
+	bool "Linux kernel printk buffer support"
+	default BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
+	depends on BUSYBOX_CONFIG_SYSLOGD
+	help
+	When you enable this feature, the syslogd utility will
+	write system log message to the Linux kernel's printk buffer.
+	This can be used as a smaller alternative to the syslogd IPC
+	support, as klogd and logread aren't needed.
+
+	NOTICE: Syslog facilities in log entries needs kernel 3.5+.
+
+endmenu
diff --git a/package/utils/busybox/config/util-linux/Config.in b/package/utils/busybox/config/util-linux/Config.in
new file mode 100644
index 0000000..e3e59f1
--- /dev/null
+++ b/package/utils/busybox/config/util-linux/Config.in
@@ -0,0 +1,955 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+menu "Linux System Utilities"
+
+config BUSYBOX_CONFIG_ACPID
+	bool "acpid (9 kb)"
+	default BUSYBOX_DEFAULT_ACPID
+	help
+	acpid listens to ACPI events coming either in textual form from
+	/proc/acpi/event (though it is marked deprecated it is still widely
+	used and _is_ a standard) or in binary form from specified evdevs
+	(just use /dev/input/event*).
+
+	It parses the event to retrieve ACTION and a possible PARAMETER.
+	It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
+	(if the resulting path is a directory) or directly as an executable.
+
+	N.B. acpid relies on run-parts so have the latter installed.
+
+config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
+	bool "Accept and ignore redundant options"
+	default BUSYBOX_DEFAULT_FEATURE_ACPID_COMPAT
+	depends on BUSYBOX_CONFIG_ACPID
+	help
+	Accept and ignore compatibility options -g -m -s -S -v.
+config BUSYBOX_CONFIG_BLKDISCARD
+	bool "blkdiscard (4.3 kb)"
+	default BUSYBOX_DEFAULT_BLKDISCARD
+	help
+	blkdiscard discards sectors on a given device.
+config BUSYBOX_CONFIG_BLKID
+	bool "blkid (12 kb)"
+	default BUSYBOX_DEFAULT_BLKID
+	select BUSYBOX_CONFIG_VOLUMEID
+	help
+	Lists labels and UUIDs of all filesystems.
+
+config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
+	bool "Print filesystem type"
+	default BUSYBOX_DEFAULT_FEATURE_BLKID_TYPE
+	depends on BUSYBOX_CONFIG_BLKID
+	help
+	Show TYPE="filesystem type"
+config BUSYBOX_CONFIG_BLOCKDEV
+	bool "blockdev (2.3 kb)"
+	default BUSYBOX_DEFAULT_BLOCKDEV
+	help
+	Performs some ioctls with block devices.
+config BUSYBOX_CONFIG_CAL
+	bool "cal (5.8 kb)"
+	default BUSYBOX_DEFAULT_CAL
+	help
+	cal is used to display a monthly calendar.
+config BUSYBOX_CONFIG_CHRT
+	bool "chrt (4.7 kb)"
+	default BUSYBOX_DEFAULT_CHRT
+	help
+	Manipulate real-time attributes of a process.
+	This requires sched_{g,s}etparam support in your libc.
+config BUSYBOX_CONFIG_DMESG
+	bool "dmesg (3.7 kb)"
+	default BUSYBOX_DEFAULT_DMESG
+	help
+	dmesg is used to examine or control the kernel ring buffer. When the
+	Linux kernel prints messages to the system log, they are stored in
+	the kernel ring buffer. You can use dmesg to print the kernel's ring
+	buffer, clear the kernel ring buffer, change the size of the kernel
+	ring buffer, and change the priority level at which kernel messages
+	are also logged to the system console. Enable this option if you
+	wish to enable the 'dmesg' utility.
+
+config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
+	bool "Pretty output"
+	default BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY
+	depends on BUSYBOX_CONFIG_DMESG
+	help
+	If you wish to scrub the syslog level from the output, say 'Y' here.
+	The syslog level is a string prefixed to every line with the form
+	"<#>".
+
+	With this option you will see:
+		# dmesg
+		Linux version 2.6.17.4 .....
+		BIOS-provided physical RAM map:
+		 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+
+	Without this option you will see:
+		# dmesg
+		<5>Linux version 2.6.17.4 .....
+		<6>BIOS-provided physical RAM map:
+		<6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+config BUSYBOX_CONFIG_EJECT
+	bool "eject (4 kb)"
+	default BUSYBOX_DEFAULT_EJECT
+	help
+	Used to eject cdroms. (defaults to /dev/cdrom)
+
+config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
+	bool "SCSI support"
+	default BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI
+	depends on BUSYBOX_CONFIG_EJECT
+	help
+	Add the -s option to eject, this allows to eject SCSI-Devices and
+	usb-storage devices.
+config BUSYBOX_CONFIG_FALLOCATE
+	bool "fallocate (4.1 kb)"
+	default BUSYBOX_DEFAULT_FALLOCATE
+	help
+	Preallocate space for files.
+config BUSYBOX_CONFIG_FATATTR
+	bool "fatattr (1.9 kb)"
+	default BUSYBOX_DEFAULT_FATATTR
+	help
+	fatattr lists or changes the file attributes on a fat file system.
+config BUSYBOX_CONFIG_FBSET
+	bool "fbset (5.9 kb)"
+	default BUSYBOX_DEFAULT_FBSET
+	help
+	fbset is used to show or change the settings of a Linux frame buffer
+	device. The frame buffer device provides a simple and unique
+	interface to access a graphics display. Enable this option
+	if you wish to enable the 'fbset' utility.
+
+config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
+	bool "Enable extra options"
+	default BUSYBOX_DEFAULT_FEATURE_FBSET_FANCY
+	depends on BUSYBOX_CONFIG_FBSET
+	help
+	This option enables extended fbset options, allowing one to set the
+	framebuffer size, color depth, etc. interface to access a graphics
+	display. Enable this option if you wish to enable extended fbset
+	options.
+
+config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
+	bool "Enable readmode support"
+	default BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE
+	depends on BUSYBOX_CONFIG_FBSET
+	help
+	This option allows fbset to read the video mode database stored by
+	default BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE /etc/fb.modes, which can be used to set frame buffer
+	device to pre-defined video modes.
+config BUSYBOX_CONFIG_FDFORMAT
+	bool "fdformat (4.4 kb)"
+	default BUSYBOX_DEFAULT_FDFORMAT
+	help
+	fdformat is used to low-level format a floppy disk.
+config BUSYBOX_CONFIG_FDISK
+	bool "fdisk (37 kb)"
+	default BUSYBOX_DEFAULT_FDISK
+	help
+	The fdisk utility is used to divide hard disks into one or more
+	logical disks, which are generally called partitions. This utility
+	can be used to list and edit the set of partitions or BSD style
+	'disk slices' that are defined on a hard drive.
+
+config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
+	bool "Support over 4GB disks"
+	default BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS
+	depends on BUSYBOX_CONFIG_FDISK
+	depends on !BUSYBOX_CONFIG_LFS   # with LFS no special code is needed
+
+config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	bool "Write support"
+	default BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE
+	depends on BUSYBOX_CONFIG_FDISK
+	help
+	Enabling this option allows you to create or change a partition table
+	and write those changes out to disk. If you leave this option
+	disabled, you will only be able to view the partition table.
+
+config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
+	bool "Support AIX disklabels"
+	default BUSYBOX_DEFAULT_FEATURE_AIX_LABEL
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to create or change AIX disklabels.
+	Most people can safely leave this option disabled.
+
+config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
+	bool "Support SGI disklabels"
+	default BUSYBOX_DEFAULT_FEATURE_SGI_LABEL
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to create or change SGI disklabels.
+	Most people can safely leave this option disabled.
+
+config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
+	bool "Support SUN disklabels"
+	default BUSYBOX_DEFAULT_FEATURE_SUN_LABEL
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to create or change SUN disklabels.
+	Most people can safely leave this option disabled.
+
+config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
+	bool "Support BSD disklabels"
+	default BUSYBOX_DEFAULT_FEATURE_OSF_LABEL
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to create or change BSD disklabels
+	and define and edit BSD disk slices.
+
+config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
+	bool "Support GPT disklabels"
+	default BUSYBOX_DEFAULT_FEATURE_GPT_LABEL
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to view GUID Partition Table
+	disklabels.
+
+config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
+	bool "Support expert mode"
+	default BUSYBOX_DEFAULT_FEATURE_FDISK_ADVANCED
+	depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
+	help
+	Enabling this option allows you to do terribly unsafe things like
+	define arbitrary drive geometry, move the beginning of data in a
+	partition, and similarly evil things. Unless you have a very good
+	reason you would be wise to leave this disabled.
+config BUSYBOX_CONFIG_FINDFS
+	bool "findfs (12 kb)"
+	default BUSYBOX_DEFAULT_FINDFS
+	select BUSYBOX_CONFIG_VOLUMEID
+	help
+	Prints the name of a filesystem with given label or UUID.
+config BUSYBOX_CONFIG_FLOCK
+	bool "flock (6.3 kb)"
+	default BUSYBOX_DEFAULT_FLOCK
+	help
+	Manage locks from shell scripts
+config BUSYBOX_CONFIG_FDFLUSH
+	bool "fdflush (1.3 kb)"
+	default BUSYBOX_DEFAULT_FDFLUSH
+	help
+	fdflush is only needed when changing media on slightly-broken
+	removable media drives. It is used to make Linux believe that a
+	hardware disk-change switch has been actuated, which causes Linux to
+	forget anything it has cached from the previous media. If you have
+	such a slightly-broken drive, you will need to run fdflush every time
+	you change a disk. Most people have working hardware and can safely
+	leave this disabled.
+
+config BUSYBOX_CONFIG_FREERAMDISK
+	bool "freeramdisk (1.3 kb)"
+	default BUSYBOX_DEFAULT_FREERAMDISK
+	help
+	Linux allows you to create ramdisks. This utility allows you to
+	delete them and completely free all memory that was used for the
+	ramdisk. For example, if you boot Linux into a ramdisk and later
+	pivot_root, you may want to free the memory that is allocated to the
+	ramdisk. If you have no use for freeing memory from a ramdisk, leave
+	this disabled.
+config BUSYBOX_CONFIG_FSCK_MINIX
+	bool "fsck.minix (13 kb)"
+	default BUSYBOX_DEFAULT_FSCK_MINIX
+	help
+	The minix filesystem is a nice, small, compact, read-write filesystem
+	with little overhead. It is not a journaling filesystem however and
+	can experience corruption if it is not properly unmounted or if the
+	power goes off in the middle of a write. This utility allows you to
+	check for and attempt to repair any corruption that occurs to a minix
+	filesystem.
+config BUSYBOX_CONFIG_FSFREEZE
+	bool "fsfreeze (3.5 kb)"
+	default BUSYBOX_DEFAULT_FSFREEZE
+	select BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Halt new accesses and flush writes on a mounted filesystem.
+config BUSYBOX_CONFIG_FSTRIM
+	bool "fstrim (4.4 kb)"
+	default BUSYBOX_DEFAULT_FSTRIM
+	help
+	Discard unused blocks on a mounted filesystem.
+config BUSYBOX_CONFIG_GETOPT
+	bool "getopt (5.8 kb)"
+	default BUSYBOX_DEFAULT_GETOPT
+	help
+	The getopt utility is used to break up (parse) options in command
+	lines to make it easy to write complex shell scripts that also check
+	for legal (and illegal) options. If you want to write horribly
+	complex shell scripts, or use some horribly complex shell script
+	written by others, this utility may be for you. Most people will
+	wisely leave this disabled.
+
+config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
+	bool "Support -l LONGOPTs"
+	default BUSYBOX_DEFAULT_FEATURE_GETOPT_LONG
+	depends on BUSYBOX_CONFIG_GETOPT && BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Enable support for long options (option -l).
+config BUSYBOX_CONFIG_HEXDUMP
+	bool "hexdump (8.6 kb)"
+	default BUSYBOX_DEFAULT_HEXDUMP
+	help
+	The hexdump utility is used to display binary data in a readable
+	way that is comparable to the output from most hex editors.
+
+config BUSYBOX_CONFIG_HD
+	bool "hd (7.8 kb)"
+	default BUSYBOX_DEFAULT_HD
+	help
+	hd is an alias to hexdump -C.
+config BUSYBOX_CONFIG_XXD
+	bool "xxd (8.9 kb)"
+	default BUSYBOX_DEFAULT_XXD
+	help
+	The xxd utility is used to display binary data in a readable
+	way that is comparable to the output from most hex editors.
+config BUSYBOX_CONFIG_HWCLOCK
+	bool "hwclock (5.8 kb)"
+	default BUSYBOX_DEFAULT_HWCLOCK
+	help
+	The hwclock utility is used to read and set the hardware clock
+	on a system. This is primarily used to set the current time on
+	shutdown in the hardware clock, so the hardware will keep the
+	correct time when Linux is _not_ running.
+
+config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
+	bool "Use FHS /var/lib/hwclock/adjtime"
+	default BUSYBOX_DEFAULT_FEATURE_HWCLOCK_ADJTIME_FHS  # util-linux-ng in Fedora 13 still uses /etc/adjtime
+	depends on BUSYBOX_CONFIG_HWCLOCK
+	help
+	Starting with FHS 2.3, the adjtime state file is supposed to exist
+	at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
+	to use the FHS behavior, answer Y here, otherwise answer N for the
+	classic /etc/adjtime path.
+
+	pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+config BUSYBOX_CONFIG_IONICE
+	bool "ionice (3.8 kb)"
+	default BUSYBOX_DEFAULT_IONICE
+	help
+	Set/set program io scheduling class and priority
+	Requires kernel >= 2.6.13
+config BUSYBOX_CONFIG_IPCRM
+	bool "ipcrm (3.2 kb)"
+	default BUSYBOX_DEFAULT_IPCRM
+	help
+	The ipcrm utility allows the removal of System V interprocess
+	communication (IPC) objects and the associated data structures
+	from the system.
+config BUSYBOX_CONFIG_IPCS
+	bool "ipcs (11 kb)"
+	default BUSYBOX_DEFAULT_IPCS
+	help
+	The ipcs utility is used to provide information on the currently
+	allocated System V interprocess (IPC) objects in the system.
+config BUSYBOX_CONFIG_LAST
+	bool "last (6.1 kb)"
+	default BUSYBOX_DEFAULT_LAST
+	depends on BUSYBOX_CONFIG_FEATURE_WTMP
+	help
+	'last' displays a list of the last users that logged into the system.
+
+config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
+	bool "Output extra information"
+	default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
+	depends on BUSYBOX_CONFIG_LAST
+	help
+	'last' displays detailed information about the last users that
+	logged into the system (mimics sysvinit last). +900 bytes.
+config BUSYBOX_CONFIG_LOSETUP
+	bool "losetup (5.5 kb)"
+	default BUSYBOX_DEFAULT_LOSETUP
+	help
+	losetup is used to associate or detach a loop device with a regular
+	file or block device, and to query the status of a loop device. This
+	version does not currently support enabling data encryption.
+config BUSYBOX_CONFIG_LSPCI
+	bool "lspci (6.3 kb)"
+	default BUSYBOX_DEFAULT_LSPCI
+	help
+	lspci is a utility for displaying information about PCI buses in the
+	system and devices connected to them.
+
+	This version uses sysfs (/sys/bus/pci/devices) only.
+config BUSYBOX_CONFIG_LSUSB
+	bool "lsusb (4.2 kb)"
+	default BUSYBOX_DEFAULT_LSUSB
+	help
+	lsusb is a utility for displaying information about USB buses in the
+	system and devices connected to them.
+
+	This version uses sysfs (/sys/bus/usb/devices) only.
+config BUSYBOX_CONFIG_MDEV
+	bool "mdev (17 kb)"
+	default BUSYBOX_DEFAULT_MDEV
+	help
+	mdev is a mini-udev implementation for dynamically creating device
+	nodes in the /dev directory.
+
+	For more information, please see docs/mdev.txt
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
+	bool "Support /etc/mdev.conf"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_CONF
+	depends on BUSYBOX_CONFIG_MDEV
+	help
+	Add support for the mdev config file to control ownership and
+	permissions of the device nodes.
+
+	For more information, please see docs/mdev.txt
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
+	bool "Support subdirs/symlinks"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME
+	depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
+	help
+	Add support for renaming devices and creating symlinks.
+
+	For more information, please see docs/mdev.txt
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
+	bool "Support regular expressions substitutions when renaming device"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME_REGEXP
+	depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
+	help
+	Add support for regular expressions substitutions when renaming
+	device.
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
+	bool "Support command execution at device addition/removal"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
+	depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
+	help
+	This adds support for an optional field to /etc/mdev.conf for
+	executing commands when devices are created/removed.
+
+	For more information, please see docs/mdev.txt
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
+	bool "Support loading of firmware"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
+	depends on BUSYBOX_CONFIG_MDEV
+	help
+	Some devices need to load firmware before they can be usable.
+
+	These devices will request userspace look up the files in
+	/lib/firmware/ and if it exists, send it to the kernel for
+	loading into the hardware.
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_DAEMON
+	bool "Support daemon mode"
+	default BUSYBOX_DEFAULT_FEATURE_MDEV_DAEMON
+	depends on BUSYBOX_CONFIG_MDEV
+	help
+	Adds the -d option to run mdev in daemon mode handling hotplug
+	events from the kernel like udev. If the system generates many
+	hotplug events this mode of operation will consume less
+	resources than registering mdev as hotplug helper or using the
+	uevent applet.
+config BUSYBOX_CONFIG_MESG
+	bool "mesg (1.4 kb)"
+	default BUSYBOX_DEFAULT_MESG
+	help
+	Mesg controls access to your terminal by others. It is typically
+	used to allow or disallow other users to write to your terminal
+
+config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP
+	bool "Enable writing to tty only by group, not by everybody"
+	default BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
+	depends on BUSYBOX_CONFIG_MESG
+	help
+	Usually, ttys are owned by group "tty", and "write" tool is
+	setgid to this group. This way, "mesg y" only needs to enable
+	"write by owning group" bit in tty mode.
+
+	If you set this option to N, "mesg y" will enable writing
+	by anybody at all. This is not recommended.
+config BUSYBOX_CONFIG_MKE2FS
+	bool "mke2fs (10 kb)"
+	default BUSYBOX_DEFAULT_MKE2FS
+	help
+	Utility to create EXT2 filesystems.
+
+config BUSYBOX_CONFIG_MKFS_EXT2
+	bool "mkfs.ext2 (10 kb)"
+	default BUSYBOX_DEFAULT_MKFS_EXT2
+	help
+	Alias to "mke2fs".
+config BUSYBOX_CONFIG_MKFS_MINIX
+	bool "mkfs.minix (10 kb)"
+	default BUSYBOX_DEFAULT_MKFS_MINIX
+	help
+	The minix filesystem is a nice, small, compact, read-write filesystem
+	with little overhead. If you wish to be able to create minix
+	filesystems this utility will do the job for you.
+
+config BUSYBOX_CONFIG_FEATURE_MINIX2
+	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
+	default BUSYBOX_DEFAULT_FEATURE_MINIX2
+	depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
+	help
+	If you wish to be able to create version 2 minix filesystems, enable
+	this. If you enabled 'mkfs_minix' then you almost certainly want to
+	be using the version 2 filesystem support.
+config BUSYBOX_CONFIG_MKFS_REISER
+	bool "mkfs_reiser"
+	default BUSYBOX_DEFAULT_MKFS_REISER
+	help
+	Utility to create ReiserFS filesystems.
+	Note: this applet needs a lot of testing and polishing.
+config BUSYBOX_CONFIG_MKDOSFS
+	bool "mkdosfs (7.2 kb)"
+	default BUSYBOX_DEFAULT_MKDOSFS
+	help
+	Utility to create FAT32 filesystems.
+
+config BUSYBOX_CONFIG_MKFS_VFAT
+	bool "mkfs.vfat (7.2 kb)"
+	default BUSYBOX_DEFAULT_MKFS_VFAT
+	help
+	Alias to "mkdosfs".
+config BUSYBOX_CONFIG_MKSWAP
+	bool "mkswap (6.3 kb)"
+	default BUSYBOX_DEFAULT_MKSWAP
+	help
+	The mkswap utility is used to configure a file or disk partition as
+	Linux swap space. This allows Linux to use the entire file or
+	partition as if it were additional RAM, which can greatly increase
+	the capability of low-memory machines. This additional memory is
+	much slower than real RAM, but can be very helpful at preventing your
+	applications being killed by the Linux out of memory (OOM) killer.
+	Once you have created swap space using 'mkswap' you need to enable
+	the swap space using the 'swapon' utility.
+
+config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
+	bool "UUID support"
+	default BUSYBOX_DEFAULT_FEATURE_MKSWAP_UUID
+	depends on BUSYBOX_CONFIG_MKSWAP
+	help
+	Generate swap spaces with universally unique identifiers.
+config BUSYBOX_CONFIG_MORE
+	bool "more (7 kb)"
+	default BUSYBOX_DEFAULT_MORE
+	help
+	more is a simple utility which allows you to read text one screen
+	sized page at a time. If you want to read text that is larger than
+	the screen, and you are using anything faster than a 300 baud modem,
+	you will probably find this utility very helpful. If you don't have
+	any need to reading text files, you can leave this disabled.
+config BUSYBOX_CONFIG_MOUNT
+	bool "mount (23 kb)"
+	default BUSYBOX_DEFAULT_MOUNT
+	help
+	All files and filesystems in Unix are arranged into one big directory
+	tree. The 'mount' utility is used to graft a filesystem onto a
+	particular part of the tree. A filesystem can either live on a block
+	device, or it can be accessible over the network, as is the case with
+	NFS filesystems.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
+	bool "Support -f (fake mount)"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_FAKE
+	depends on BUSYBOX_CONFIG_MOUNT
+	help
+	Enable support for faking a file system mount.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
+	bool "Support -v (verbose)"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_VERBOSE
+	depends on BUSYBOX_CONFIG_MOUNT
+	help
+	Enable multi-level -v[vv...] verbose messages. Useful if you
+	debug mount problems and want to see what is exactly passed
+	to the kernel.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
+	bool "Support mount helpers"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS
+	depends on BUSYBOX_CONFIG_MOUNT
+	help
+	Enable mounting of virtual file systems via external helpers.
+	E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
+	"obexfs -b00.11.22.33.44.55 /mnt"
+	Also "mount -t sometype [-o opts] fs /mnt" will try
+	"sometype [-o opts] fs /mnt" if simple mount syscall fails.
+	The idea is to use such virtual filesystems in /etc/fstab.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
+	bool "Support specifying devices by label or UUID"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_LABEL
+	depends on BUSYBOX_CONFIG_MOUNT
+	select BUSYBOX_CONFIG_VOLUMEID
+	help
+	This allows for specifying a device by label or uuid, rather than by
+	name. This feature utilizes the same functionality as blkid/findfs.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
+	bool "Support mounting NFS file systems on Linux < 2.6.23"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_NFS
+	depends on BUSYBOX_CONFIG_MOUNT
+	select BUSYBOX_CONFIG_FEATURE_SYSLOG
+	help
+	Enable mounting of NFS file systems on Linux kernels prior
+	to version 2.6.23. Note that in this case mounting of NFS
+	over IPv6 will not be possible.
+
+	Note that this option links in RPC support from libc,
+	which is rather large (~10 kbytes on uclibc).
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
+	bool "Support mounting CIFS/SMB file systems"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS
+	depends on BUSYBOX_CONFIG_MOUNT
+	help
+	Enable support for samba mounts.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
+	depends on BUSYBOX_CONFIG_MOUNT
+	bool "Support lots of -o flags"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS
+	help
+	Without this, mount only supports ro/rw/remount. With this, it
+	supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
+	noatime, diratime, nodiratime, loud, bind, move, shared, slave,
+	private, unbindable, rshared, rslave, rprivate, and runbindable.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
+	depends on BUSYBOX_CONFIG_MOUNT
+	bool "Support /etc/fstab and -a (mount all)"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
+	help
+	Support mount all and looking for files in /etc/fstab.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
+	depends on BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
+	bool "Support -T <alt_fstab>"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
+	help
+	Support mount -T (specifying an alternate fstab)
+config BUSYBOX_CONFIG_MOUNTPOINT
+	bool "mountpoint (4.9 kb)"
+	default BUSYBOX_DEFAULT_MOUNTPOINT
+	help
+	mountpoint checks if the directory is a mountpoint.
+config BUSYBOX_CONFIG_NOLOGIN
+	bool "nologin"
+	default BUSYBOX_DEFAULT_NOLOGIN
+	depends on BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
+	help
+	Politely refuse a login
+
+config BUSYBOX_CONFIG_NOLOGIN_DEPENDENCIES
+	bool "Enable dependencies for nologin"
+	default BUSYBOX_DEFAULT_NOLOGIN_DEPENDENCIES  # Y default makes it harder to select single-applet test
+	depends on BUSYBOX_CONFIG_NOLOGIN
+	select BUSYBOX_CONFIG_CAT
+	select BUSYBOX_CONFIG_ECHO
+	select BUSYBOX_CONFIG_SLEEP
+	help
+	nologin is implemented as a shell script. It requires the
+	following in the runtime environment:
+		cat echo sleep
+	If you know these will be available externally you can
+	disable this option.
+config BUSYBOX_CONFIG_NSENTER
+	bool "nsenter (6.5 kb)"
+	default BUSYBOX_DEFAULT_NSENTER
+	help
+	Run program with namespaces of other processes.
+config BUSYBOX_CONFIG_PIVOT_ROOT
+	bool "pivot_root (1.1 kb)"
+	default BUSYBOX_DEFAULT_PIVOT_ROOT
+	help
+	The pivot_root utility swaps the mount points for the root filesystem
+	with some other mounted filesystem. This allows you to do all sorts
+	of wild and crazy things with your Linux system and is far more
+	powerful than 'chroot'.
+
+	Note: This is for initrd in linux 2.4. Under initramfs (introduced
+	in linux 2.6) use switch_root instead.
+config BUSYBOX_CONFIG_RDATE
+	bool "rdate (5.6 kb)"
+	default BUSYBOX_DEFAULT_RDATE
+	help
+	The rdate utility allows you to synchronize the date and time of your
+	system clock with the date and time of a remote networked system using
+	the RFC868 protocol, which is built into the inetd daemon on most
+	systems.
+config BUSYBOX_CONFIG_RDEV
+	bool "rdev (1.8 kb)"
+	default BUSYBOX_DEFAULT_RDEV
+	help
+	Print the device node associated with the filesystem mounted at '/'.
+config BUSYBOX_CONFIG_READPROFILE
+	bool "readprofile (7.1 kb)"
+	default BUSYBOX_DEFAULT_READPROFILE
+	help
+	This allows you to parse /proc/profile for basic profiling.
+config BUSYBOX_CONFIG_RENICE
+	bool "renice (4.2 kb)"
+	default BUSYBOX_DEFAULT_RENICE
+	help
+	Renice alters the scheduling priority of one or more running
+	processes.
+config BUSYBOX_CONFIG_REV
+	bool "rev (4.4 kb)"
+	default BUSYBOX_DEFAULT_REV
+	help
+	Reverse lines of a file or files.
+config BUSYBOX_CONFIG_RTCWAKE
+	bool "rtcwake (6.8 kb)"
+	default BUSYBOX_DEFAULT_RTCWAKE
+	help
+	Enter a system sleep state until specified wakeup time.
+config BUSYBOX_CONFIG_SCRIPT
+	bool "script (8.6 kb)"
+	default BUSYBOX_DEFAULT_SCRIPT
+	help
+	The script makes typescript of terminal session.
+config BUSYBOX_CONFIG_SCRIPTREPLAY
+	bool "scriptreplay (2.4 kb)"
+	default BUSYBOX_DEFAULT_SCRIPTREPLAY
+	help
+	This program replays a typescript, using timing information
+	given by script -t.
+config BUSYBOX_CONFIG_SETARCH
+	bool "setarch (3.6 kb)"
+	default BUSYBOX_DEFAULT_SETARCH
+	help
+	The linux32 utility is used to create a 32bit environment for the
+	specified program (usually a shell). It only makes sense to have
+	this util on a system that supports both 64bit and 32bit userland
+	(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
+
+config BUSYBOX_CONFIG_LINUX32
+	bool "linux32 (3.3 kb)"
+	default BUSYBOX_DEFAULT_LINUX32
+	help
+	Alias to "setarch linux32".
+
+config BUSYBOX_CONFIG_LINUX64
+	bool "linux64 (3.3 kb)"
+	default BUSYBOX_DEFAULT_LINUX64
+	help
+	Alias to "setarch linux64".
+config BUSYBOX_CONFIG_SETPRIV
+	bool "setpriv (6.6 kb)"
+	default BUSYBOX_DEFAULT_SETPRIV
+	select BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Run a program with different Linux privilege settings.
+	Requires kernel >= 3.5
+
+config BUSYBOX_CONFIG_FEATURE_SETPRIV_DUMP
+	bool "Support dumping current privilege state"
+	default BUSYBOX_DEFAULT_FEATURE_SETPRIV_DUMP
+	depends on BUSYBOX_CONFIG_SETPRIV
+	help
+	Enables the "--dump" switch to print out the current privilege
+	state. This is helpful for diagnosing problems.
+
+config BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITIES
+	bool "Support capabilities"
+	default BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITIES
+	depends on BUSYBOX_CONFIG_SETPRIV
+	help
+	Capabilities can be used to grant processes additional rights
+	without the necessity to always execute as the root user.
+	Enabling this option enables "--dump" to show information on
+	capabilities.
+
+config BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES
+	bool "Support capability names"
+	default BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITY_NAMES
+	depends on BUSYBOX_CONFIG_SETPRIV && BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITIES
+	help
+	Capabilities can be either referenced via a human-readble name,
+	e.g. "net_admin", or using their index, e.g. "cap_12". Enabling
+	this option allows using the human-readable names in addition to
+	the index-based names.
+config BUSYBOX_CONFIG_SETSID
+	bool "setsid (3.6 kb)"
+	default BUSYBOX_DEFAULT_SETSID
+	help
+	setsid runs a program in a new session
+config BUSYBOX_CONFIG_SWAPON
+	bool "swapon (15 kb)"
+	default BUSYBOX_DEFAULT_SWAPON
+	help
+	Once you have created some swap space using 'mkswap', you also need
+	to enable your swap space with the 'swapon' utility. The 'swapoff'
+	utility is used, typically at system shutdown, to disable any swap
+	space. If you are not using any swap space, you can leave this
+	option disabled.
+
+config BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD
+	bool "Support discard option -d"
+	default BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
+	depends on BUSYBOX_CONFIG_SWAPON
+	help
+	Enable support for discarding swap area blocks at swapon and/or as
+	the kernel frees them. This option enables both the -d option on
+	'swapon' and the 'discard' option for swap entries in /etc/fstab.
+
+config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
+	bool "Support priority option -p"
+	default BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
+	depends on BUSYBOX_CONFIG_SWAPON
+	help
+	Enable support for setting swap device priority in swapon.
+
+config BUSYBOX_CONFIG_SWAPOFF
+	bool "swapoff (14 kb)"
+	default BUSYBOX_DEFAULT_SWAPOFF
+
+config BUSYBOX_CONFIG_FEATURE_SWAPONOFF_LABEL
+	bool "Support specifying devices by label or UUID"
+	default BUSYBOX_DEFAULT_FEATURE_SWAPONOFF_LABEL
+	depends on BUSYBOX_CONFIG_SWAPON || BUSYBOX_CONFIG_SWAPOFF
+	select BUSYBOX_CONFIG_VOLUMEID
+	help
+	This allows for specifying a device by label or uuid, rather than by
+	name. This feature utilizes the same functionality as blkid/findfs.
+config BUSYBOX_CONFIG_SWITCH_ROOT
+	bool "switch_root (5.5 kb)"
+	default BUSYBOX_DEFAULT_SWITCH_ROOT
+	help
+	The switch_root utility is used from initramfs to select a new
+	root device. Under initramfs, you have to use this instead of
+	pivot_root. (Stop reading here if you don't care why.)
+
+	Booting with initramfs extracts a gzipped cpio archive into rootfs
+	(which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+	or unmounted*, pivot_root will not work from initramfs. Instead,
+	switch_root deletes everything out of rootfs (including itself),
+	does a mount --move that overmounts rootfs with the new root, and
+	then execs the specified init program.
+
+	* Because the Linux kernel uses rootfs internally as the starting
+	and ending point for searching through the kernel's doubly linked
+	list of active mount points. That's why.
+
+config BUSYBOX_CONFIG_TASKSET
+	bool "taskset (4.2 kb)"
+	default BUSYBOX_DEFAULT_TASKSET
+	help
+	Retrieve or set a processes's CPU affinity.
+	This requires sched_{g,s}etaffinity support in your libc.
+
+config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
+	bool "Fancy output"
+	default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
+	depends on BUSYBOX_CONFIG_TASKSET
+	help
+	Needed for machines with more than 32-64 CPUs:
+	affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long
+	in this case. Otherwise, it is limited to sizeof(long).
+
+config BUSYBOX_CONFIG_FEATURE_TASKSET_CPULIST
+	bool "CPU list support (-c option)"
+	default BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST
+	depends on BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
+	help
+	Add support for taking/printing affinity as CPU list when '-c'
+	option is used. For example, it prints '0-3,7' instead of mask '8f'.
+config BUSYBOX_CONFIG_UEVENT
+	bool "uevent (3.1 kb)"
+	default BUSYBOX_DEFAULT_UEVENT
+	help
+	uevent is a netlink listener for kernel uevent notifications
+	sent via netlink. It is usually used for dynamic device creation.
+config BUSYBOX_CONFIG_UMOUNT
+	bool "umount (5.1 kb)"
+	default BUSYBOX_DEFAULT_UMOUNT
+	help
+	When you want to remove a mounted filesystem from its current mount
+	point, for example when you are shutting down the system, the
+	'umount' utility is the tool to use. If you enabled the 'mount'
+	utility, you almost certainly also want to enable 'umount'.
+
+config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
+	bool "Support -a (unmount all)"
+	default BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL
+	depends on BUSYBOX_CONFIG_UMOUNT
+	help
+	Support -a option to unmount all currently mounted filesystems.
+config BUSYBOX_CONFIG_UNSHARE
+	bool "unshare (7.2 kb)"
+	default BUSYBOX_DEFAULT_UNSHARE
+	depends on !BUSYBOX_CONFIG_NOMMU
+	select BUSYBOX_CONFIG_LONG_OPTS
+	help
+	Run program with some namespaces unshared from parent.
+config BUSYBOX_CONFIG_WALL
+	bool "wall (2.6 kb)"
+	default BUSYBOX_DEFAULT_WALL
+	depends on BUSYBOX_CONFIG_FEATURE_UTMP
+	help
+	Write a message to all users that are logged in.
+
+comment "Common options for mount/umount"
+	depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
+	bool "Support loopback mounts"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP
+	depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
+	help
+	Enabling this feature allows automatic mounting of files (containing
+	filesystem images) via the linux kernel's loopback devices.
+	The mount command will detect you are trying to mount a file instead
+	of a block device, and transparently associate the file with a
+	loopback device. The umount command will also free that loopback
+	device.
+
+	You can still use the 'losetup' utility (to manually associate files
+	with loop devices) if you need to do something advanced, such as
+	specify an offset or cryptographic options to the loopback device.
+	(If you don't want umount to free the loop device, use "umount -D".)
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE
+	bool "Create new loopback devices if needed"
+	default BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP_CREATE
+	depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
+	help
+	Linux kernels >= 2.6.24 support unlimited loopback devices. They are
+	allocated for use when trying to use a loop device. The loop device
+	must however exist.
+
+	This feature lets mount to try to create next /dev/loopN device
+	if it does not find a free one.
+
+config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
+	bool "Support old /etc/mtab file"
+	default BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT
+	depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
+	select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
+	help
+	Historically, Unix systems kept track of the currently mounted
+	partitions in the file "/etc/mtab". These days, the kernel exports
+	the list of currently mounted partitions in "/proc/mounts", rendering
+	the old mtab file obsolete. (In modern systems, /etc/mtab should be
+	a symlink to /proc/mounts.)
+
+	The only reason to have mount maintain an /etc/mtab file itself is if
+	your stripped-down embedded system does not have a /proc directory.
+	If you must use this, keep in mind it's inherently brittle (for
+	example a mount under chroot won't update it), can't handle modern
+	features like separate per-process filesystem namespaces, requires
+	that your /etc directory be writable, tends to get easily confused
+	by --bind or --move mounts, won't update if you rename a directory
+	that contains a mount point, and so on. (In brief: avoid.)
+
+	About the only reason to use this is if you've removed /proc from
+	your kernel.
+
+source "volume_id/Config.in"
+
+endmenu
diff --git a/package/utils/busybox/config/util-linux/volume_id/Config.in b/package/utils/busybox/config/util-linux/volume_id/Config.in
new file mode 100644
index 0000000..57d8258
--- /dev/null
+++ b/package/utils/busybox/config/util-linux/volume_id/Config.in
@@ -0,0 +1,203 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+config BUSYBOX_CONFIG_VOLUMEID
+	bool #No description makes it a hidden option
+	default BUSYBOX_DEFAULT_VOLUMEID
+
+menu "Filesystem/Volume identification"
+	depends on BUSYBOX_CONFIG_VOLUMEID
+
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BCACHE
+	bool "bcache filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
+	bool "btrfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
+	bool "cramfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_CRAMFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EROFS
+	bool "erofs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EROFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	Erofs is a compressed readonly filesystem for Linux.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXFAT
+	bool "exFAT filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXFAT
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	exFAT (extended FAT) is a proprietary file system designed especially
+	for flash drives. It has many features from NTFS, but with less
+	overhead. exFAT is used on most SDXC cards for consumer electronics.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
+	bool "Ext filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXT
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_F2FS
+	bool "f2fs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_F2FS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	F2FS (aka Flash-Friendly File System) is a log-structured file system,
+	which is adapted to newer forms of storage. F2FS also remedies some
+	known issues of the older log structured file systems, such as high
+	cleaning overhead.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
+	bool "fat filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_FAT
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
+	bool "hfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_HFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
+	bool "iso9660 filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ISO9660
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
+	bool "jfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_JFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LFS
+	bool "LittleFS filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LFS
+	depends on BUSYBOX_CONFIG_VOLUMEID && BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
+	help
+	LittleFS is a small fail-safe filesystem designed for embedded
+	systems. It has strong copy-on-write guarantees and storage on disk
+	is always kept in a valid state. It also provides a form of dynamic
+	wear levelling for systems that can not fit a full flash translation
+	layer.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
+	bool "linuxraid"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXRAID
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
+	bool "linux swap filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXSWAP
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
+	bool "luks filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LUKS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_MINIX
+	bool "minix filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_MINIX
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NILFS
+	bool "nilfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NILFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	NILFS is a New Implementation of a Log-Structured File System (LFS)
+	that supports continuous snapshots. This provides features like
+	versioning of the entire filesystem, restoration of files that
+	were deleted a few minutes ago. NILFS keeps consistency like
+	conventional LFS, so it provides quick recovery after system crashes.
+
+	The possible use of NILFS includes versioning, tamper detection,
+	SOX compliance logging, and so forth. It can serve as an alternative
+	filesystem for Linux desktop environment, or as a basis of advanced
+	storage appliances.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
+	bool "ntfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NTFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
+	bool "ocfs2 filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_OCFS2
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
+	bool "Reiser filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_REISERFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
+	bool "romfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ROMFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS
+	bool "SquashFS filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SQUASHFS
+	depends on BUSYBOX_CONFIG_VOLUMEID && BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
+	help
+	Squashfs is a compressed read-only filesystem for Linux. Squashfs is
+	intended for general read-only filesystem use and in constrained block
+	device/memory systems (e.g. embedded systems) where low overhead is
+	needed.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
+	bool "sysv filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SYSV
+	depends on BUSYBOX_CONFIG_VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS
+	bool "UBIFS filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+	help
+	UBIFS (Unsorted Block Image File System) is a file
+	system for use with raw flash memory media.
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
+	bool "udf filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF
+	depends on BUSYBOX_CONFIG_VOLUMEID
+### config FEATURE_VOLUMEID_HIGHPOINTRAID
+###	bool "highpoint raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_HPFS
+###	bool "hpfs filesystem"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_ISWRAID
+###	bool "intel raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_LSIRAID
+###	bool "lsi raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_LVM
+###	bool "lvm"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_MAC
+###	bool "mac filesystem"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_MSDOS
+###	bool "msdos filesystem"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_NVIDIARAID
+###	bool "nvidia raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_PROMISERAID
+###	bool "promise raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_SILICONRAID
+###	bool "silicon raid"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_UFS
+###	bool "ufs filesystem"
+###	default y
+###	depends on VOLUMEID
+### config FEATURE_VOLUMEID_VIARAID
+###	bool "via raid"
+###	default y
+###	depends on VOLUMEID
+config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
+	bool "xfs filesystem"
+	default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS
+	depends on BUSYBOX_CONFIG_VOLUMEID
+
+endmenu
diff --git a/package/utils/busybox/convert_defaults.pl b/package/utils/busybox/convert_defaults.pl
new file mode 100755
index 0000000..dada6ef
--- /dev/null
+++ b/package/utils/busybox/convert_defaults.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl
+
+while (<>) {
+	/^(# )?CONFIG_([^=]+)(=(.+)| is not set)/ and do {
+		my $default = $4;
+		$1 and $default = "n";
+		my $name = $2;
+		my $type = "bool";
+		$default =~ /^\"/ and $type = "string";
+		$default =~ /^\d/ and $type = "int";
+		print "config BUSYBOX_DEFAULT_$name\n\t$type\n\tdefault $default\n";
+	};
+}
diff --git a/package/utils/busybox/convert_menuconfig.pl b/package/utils/busybox/convert_menuconfig.pl
new file mode 100755
index 0000000..7051880
--- /dev/null
+++ b/package/utils/busybox/convert_menuconfig.pl
@@ -0,0 +1,76 @@
+#!/usr/bin/perl
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+use strict;
+my $PATH = $ARGV[0];
+($PATH and -d $PATH) or die 'invalid path';
+
+my %config;
+
+open FIND, "find \"$PATH\" -name Config.in |";
+while (<FIND>) {
+	chomp;
+	my $input = $_;
+	my $output = $input;
+	my $replace = quotemeta($PATH);
+	$output =~ s/^$replace\///g;
+	$output =~ s/sysdeps\/linux\///g;
+	print STDERR "$input => $output\n";
+	$output =~ /^(.+)\/[^\/]+$/ and system("mkdir -p $1");
+
+	open INPUT, $input;
+	open OUTPUT, ">$output";
+	my ($cur, $default_set, $line);
+	while ($line = <INPUT>) {
+		next if $line =~ /^\s*mainmenu/;
+
+		# FIXME: make this dynamic
+		$line =~ s/default FEATURE_BUFFERS_USE_MALLOC/default FEATURE_BUFFERS_GO_ON_STACK/;
+		$line =~ s/default FEATURE_SH_IS_NONE/default FEATURE_SH_IS_ASH/;
+
+		if ($line =~ /^\s*config\s*([\w_]+)/) {
+			$cur = $1;
+			undef $default_set;
+		}
+		if ($line =~ /^\s*(menu|choice|end|source)/) {
+			undef $cur;
+			undef $default_set;
+		}
+		$line =~ s/^(\s*source\s+)([^\/]+\/)*([^\/]+\/[^\/]+)$/$1$3/;
+		if ($line =~ /^(\s*range\s*)(\w+)(\s+)(\w+)\s*$/) {
+			my $prefix = $1;
+			my $r1 = $2;
+			my $r2 = $4;
+			$r1 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
+			$r2 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
+			$line = "$prefix$r1 $r2\n";
+		}
+
+		$line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
+		$line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
+		$line =~ s/(\( ?!?)([A-Z_]+ (\|\||&&))/$1BUSYBOX_CONFIG_$2/g;
+
+		if ($cur) {
+			($cur eq 'LFS') and do {
+				$line =~ s/^(\s*(bool|tristate|string))\s*".+"$/$1/;
+			};
+			if ($line =~ /^\s*default/) {
+				my $c;
+				$default_set = 1;
+				$c = "BUSYBOX_DEFAULT_$cur";
+
+				$line =~ s/^(\s*default\s*)(\w+|"[^"]*")(.*)/$1$c$3/;
+			}
+		}
+
+		print OUTPUT $line;
+	}
+	close OUTPUT;
+	close INPUT;
+}
+close FIND;
diff --git a/package/utils/busybox/files/cron b/package/utils/busybox/files/cron
new file mode 100755
index 0000000..4efdfa5
--- /dev/null
+++ b/package/utils/busybox/files/cron
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2011 OpenWrt.org
+
+START=50
+
+USE_PROCD=1
+PROG=/usr/sbin/crond
+
+validate_cron_section() {
+	uci_validate_section system system "${1}" \
+		'cronloglevel:uinteger'
+}
+
+start_service() {
+	[ -z "$(ls /etc/crontabs/)" ] && return 1
+
+	loglevel="$(uci_get "system.@system[0].cronloglevel")"
+
+	[ -z "${loglevel}" ] || {
+		/sbin/validate_data uinteger "${loglevel}" 2>/dev/null
+		[ "$?" -eq 0 ] || {
+			echo "validation failed"
+			return 1
+		}
+	}
+
+	mkdir -p /var/spool/cron
+	ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
+
+	procd_open_instance
+	procd_set_param command "$PROG" -f -c /etc/crontabs -l "${loglevel:-5}"
+	for crontab in /etc/crontabs/*; do
+		 procd_set_param file "$crontab"
+	done
+	procd_set_param respawn
+	procd_close_instance
+}
+
+service_triggers() {
+	procd_add_validation validate_cron_section
+}
diff --git a/package/utils/busybox/files/ntpd-hotplug b/package/utils/busybox/files/ntpd-hotplug
new file mode 100755
index 0000000..f09f5bb
--- /dev/null
+++ b/package/utils/busybox/files/ntpd-hotplug
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+. /usr/share/libubox/jshn.sh
+
+addenv="$( env | while read line; do echo "json_add_string \"\" \"$line\";"; done )"
+json_init
+json_add_array env
+json_add_string "" "ACTION=$1"
+eval "$addenv"
+json_close_array env
+
+ubus call hotplug.ntp call "$(json_dump)"
diff --git a/package/utils/busybox/files/ntpd.capabilities b/package/utils/busybox/files/ntpd.capabilities
new file mode 100644
index 0000000..8a05dba
--- /dev/null
+++ b/package/utils/busybox/files/ntpd.capabilities
@@ -0,0 +1,22 @@
+{
+	"bounding": [
+		"CAP_NET_BIND_SERVICE",
+		"CAP_SYS_TIME"
+	],
+	"effective": [
+		"CAP_NET_BIND_SERVICE",
+		"CAP_SYS_TIME"
+	],
+	"ambient": [
+		"CAP_NET_BIND_SERVICE",
+		"CAP_SYS_TIME"
+	],
+	"permitted": [
+		"CAP_NET_BIND_SERVICE",
+		"CAP_SYS_TIME"
+	],
+	"inheritable": [
+		"CAP_NET_BIND_SERVICE",
+		"CAP_SYS_TIME"
+	]
+}
diff --git a/package/utils/busybox/files/ntpd_acl.json b/package/utils/busybox/files/ntpd_acl.json
new file mode 100644
index 0000000..991793d
--- /dev/null
+++ b/package/utils/busybox/files/ntpd_acl.json
@@ -0,0 +1,8 @@
+{
+	"user": "ntp",
+	"access": {
+		"hotplug.ntp": {
+			"methods": [ "call" ]
+		}
+	}
+}
diff --git a/package/utils/busybox/files/sysntpd b/package/utils/busybox/files/sysntpd
new file mode 100755
index 0000000..80baaa5
--- /dev/null
+++ b/package/utils/busybox/files/sysntpd
@@ -0,0 +1,130 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2011 OpenWrt.org
+
+#START=98
+
+USE_PROCD=1
+PROG=/usr/sbin/ntpd
+HOTPLUG_SCRIPT=/usr/sbin/ntpd-hotplug
+
+get_dhcp_ntp_servers() {
+	local interfaces="$1"
+	local filter="*"
+	local interface ntpservers ntpserver
+
+	for interface in $interfaces; do
+		[ "$filter" = "*" ] && filter="@.interface='$interface'" || filter="$filter,@.interface='$interface'"
+	done
+
+	ntpservers=$(ubus call network.interface dump | jsonfilter -e "@.interface[$filter]['data']['ntpserver']")
+
+	for ntpserver in $ntpservers; do
+		local duplicate=0
+		local entry
+		for entry in $server; do
+			[ "$ntpserver" = "$entry" ] && duplicate=1
+		done
+		[ "$duplicate" = 0 ] && server="$server $ntpserver"
+	done
+}
+
+validate_ntp_section() {
+	uci_load_validate system timeserver "$1" "$2" \
+		'dhcp_interface:list(string)' \
+		'enable_server:bool:0' \
+		'enabled:bool:1' \
+		'interface:string' \
+		'server:list(host)' \
+		'use_dhcp:bool:1'
+}
+
+start_ntpd_instance() {
+	local peer
+
+	[ "$2" = 0 ] || {
+		echo "validation failed"
+		return 1
+	}
+
+	[ $enabled = 0 ] && return
+
+	[ $use_dhcp = 1 ] && get_dhcp_ntp_servers "$dhcp_interface"
+
+	[ -z "$server" -a "$enable_server" = "0" ] && return
+
+	procd_open_instance
+	procd_set_param command "$PROG" -n -N
+	if [ "$enable_server" = "1" ]; then
+		procd_append_param command -l
+		[ -n "$interface" ] && {
+			local ifname
+
+			network_get_device ifname "$interface" || \
+				ifname="$interface"
+			procd_append_param command -I "$ifname"
+			procd_append_param netdev "$ifname"
+		}
+	fi
+	[ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT"
+	for peer in $server; do
+		procd_append_param command -p $peer
+	done
+#	procd_set_param respawn
+	[ -x /sbin/ujail -a -e /etc/capabilities/ntpd.json ] && {
+		procd_add_jail ntpd ubus
+		procd_add_jail_mount "$HOTPLUG_SCRIPT"
+		procd_add_jail_mount "/usr/share/libubox/jshn.sh"
+		procd_add_jail_mount "/usr/bin/env"
+		procd_add_jail_mount "/usr/bin/jshn"
+		procd_add_jail_mount "/bin/ubus"
+		procd_set_param capabilities /etc/capabilities/ntpd.json
+		procd_set_param user ntp
+		procd_set_param group ntp
+		procd_set_param no_new_privs 1
+	}
+	procd_close_instance
+}
+
+start_service() {
+	. /lib/functions/network.sh
+	validate_ntp_section ntp start_ntpd_instance
+}
+
+service_triggers() {
+	local script name use_dhcp enable_server interface
+
+	script=$(readlink -f "$initscript")
+	name=$(basename ${script:-$initscript})
+
+	procd_add_config_trigger "config.change" "system" /etc/init.d/$name reload
+
+	config_load system
+	config_get use_dhcp ntp use_dhcp 1
+
+	[ $use_dhcp = 1 ] && {
+		local dhcp_interface
+		config_get dhcp_interface ntp dhcp_interface
+
+		if [ -n "$dhcp_interface" ]; then
+			for n in $dhcp_interface; do
+				procd_add_interface_trigger "interface.*" $n /etc/init.d/$name reload
+			done
+		else
+			procd_add_raw_trigger "interface.*" 1000 /etc/init.d/$name reload
+		fi
+	}
+
+	config_get_bool enable_server ntp enable_server 0
+	config_get interface ntp interface
+
+	[ $enable_server -eq 1 ] && [ -n "$interface" ] && {
+		local ifname
+
+		network_get_device ifname "$interface" || \
+			ifname="$interface"
+		procd_add_interface_trigger "interface.*" "$ifname" \
+			/etc/init.d/"$name" reload
+	}
+
+	procd_add_validation validate_ntp_section
+}
diff --git a/package/utils/busybox/patches/120-lto-jobserver.patch b/package/utils/busybox/patches/120-lto-jobserver.patch
new file mode 100644
index 0000000..d4f997e
--- /dev/null
+++ b/package/utils/busybox/patches/120-lto-jobserver.patch
@@ -0,0 +1,27 @@
+--- a/scripts/Kbuild.include
++++ b/scripts/Kbuild.include
+@@ -131,7 +131,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$
+ #
+ if_changed = $(if $(strip $(filter-out $(PHONY),$?)          \
+ 		$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
+-	@set -e; \
++	+@set -e; \
+ 	$(echo-cmd) $(cmd_$(1)); \
+ 	echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd)
+ 
+@@ -140,7 +140,7 @@ if_changed = $(if $(strip $(filter-out $
+ if_changed_dep = $(if $(strip $(filter-out $(PHONY),$?)  \
+ 		$(filter-out FORCE $(wildcard $^),$^)    \
+ 	$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),     \
+-	@set -e; \
++	+@set -e; \
+ 	$(echo-cmd) $(cmd_$(1)); \
+ 	scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \
+ 	rm -f $(depfile); \
+@@ -151,5 +151,5 @@ if_changed_dep = $(if $(strip $(filter-o
+ # and if so will execute $(rule_foo)
+ if_changed_rule = $(if $(strip $(filter-out $(PHONY),$?)            \
+ 			$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\
+-			@set -e; \
++			+@set -e; \
+ 			$(rule_$(1)))
diff --git a/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
new file mode 100644
index 0000000..c0f234e
--- /dev/null
+++ b/package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
@@ -0,0 +1,18 @@
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -722,6 +722,7 @@ static int bcast_or_ucast(struct dhcp_pa
+ static NOINLINE int send_discover(uint32_t requested)
+ {
+ 	struct dhcp_packet packet;
++	static int msgs = 0;
+ 
+ 	/* Fill in: op, htype, hlen, cookie, chaddr fields,
+ 	 * xid field, message type option:
+@@ -736,6 +737,7 @@ static NOINLINE int send_discover(uint32
+ 	 */
+ 	add_client_options(&packet);
+ 
++	if (msgs++ < 3)
+ 	bb_simple_info_msg("broadcasting discover");
+ 	return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY);
+ }
diff --git a/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
new file mode 100644
index 0000000..a4bda99
--- /dev/null
+++ b/package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
@@ -0,0 +1,15 @@
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -1384,6 +1384,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
+ 		struct pollfd pfds[2];
+ 		struct dhcp_packet packet;
+ 
++		/* When running on a bridge, the ifindex may have changed (e.g. if
++		 * member interfaces were added/removed or if the status of the
++		 * bridge changed).
++		 * Workaround: refresh it here before processing the next packet */
++		udhcp_read_interface(client_data.interface, &client_data.ifindex, NULL, client_data.client_mac);
++
+ 		//bb_error_msg("sockfd:%d, listen_mode:%d", client_data.sockfd, client_data.listen_mode);
+ 
+ 		/* Was opening raw or udp socket here
diff --git a/package/utils/busybox/patches/210-add_netmsg_util.patch b/package/utils/busybox/patches/210-add_netmsg_util.patch
new file mode 100644
index 0000000..d7b2ae7
--- /dev/null
+++ b/package/utils/busybox/patches/210-add_netmsg_util.patch
@@ -0,0 +1,79 @@
+--- /dev/null
++++ b/networking/netmsg.c
+@@ -0,0 +1,76 @@
++/*
++ * Copyright (C) 2006 Felix Fietkau <nbd@nbd.name>
++ *
++ * This is free software, licensed under the GNU General Public License v2.
++ */
++
++//config:config NETMSG
++//config:	bool "netmsg"
++//config:	default n
++//config:	help
++//config:	  simple program for sending udp broadcast messages
++
++//applet:IF_NETMSG(APPLET(netmsg, BB_DIR_BIN, BB_SUID_REQUIRE))
++
++//kbuild:lib-$(CONFIG_NETMSG) += netmsg.o
++
++//usage:#define netmsg_trivial_usage NOUSAGE_STR
++//usage:#define netmsg_full_usage ""
++
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <netdb.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include "busybox.h"
++
++#ifndef CONFIG_NETMSG
++int main(int argc, char **argv)
++#else
++int netmsg_main(int argc, char **argv)
++#endif
++{
++	int s;
++	struct sockaddr_in addr;
++	int optval = 1;
++	unsigned char buf[1001];
++
++	if (argc != 3) {
++		fprintf(stderr, "usage: %s <ip> \"<message>\"\n", argv[0]);
++		exit(1);
++	}
++
++	if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
++		perror("Opening socket");
++		exit(1);
++	}
++
++	memset(&addr, 0, sizeof(addr));
++	addr.sin_family = AF_INET;
++	addr.sin_addr.s_addr = inet_addr(argv[1]);
++	addr.sin_port = htons(0x1337);
++
++	memset(buf, 0, 1001);
++	buf[0] = 0xde;
++	buf[1] = 0xad;
++
++	strncpy(buf + 2, argv[2], 998);
++
++	if (setsockopt (s, SOL_SOCKET, SO_BROADCAST, (caddr_t) &optval, sizeof (optval)) < 0) {
++		perror("setsockopt()");
++		goto fail;
++	}
++
++	if (sendto(s, buf, 1001, 0, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
++		perror("sendto()");
++		goto fail;
++	}
++
++	return 0;
++
++fail:
++	close(s);
++	exit(1);
++}
diff --git a/package/utils/busybox/patches/220-add_lock_util.patch b/package/utils/busybox/patches/220-add_lock_util.patch
new file mode 100644
index 0000000..579b705
--- /dev/null
+++ b/package/utils/busybox/patches/220-add_lock_util.patch
@@ -0,0 +1,158 @@
+--- /dev/null
++++ b/miscutils/lock.c
+@@ -0,0 +1,155 @@
++/*
++ * Copyright (C) 2006 Felix Fietkau <nbd@nbd.name>
++ *
++ * This is free software, licensed under the GNU General Public License v2.
++ */
++
++//config:config LOCK
++//config:	bool "lock"
++//config:	default n
++//config:	help
++//config:	  Small utility for using locks in scripts
++
++//applet:IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
++
++//kbuild:lib-$(CONFIG_LOCK) += lock.o
++
++//usage:#define lock_trivial_usage NOUSAGE_STR
++//usage:#define lock_full_usage ""
++
++#include <sys/types.h>
++#include <sys/file.h>
++#include <sys/stat.h>
++#include <signal.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <stdio.h>
++#include "busybox.h"
++
++static int unlock = 0;
++static int shared = 0;
++static int waitonly = 0;
++static int try_lock = 0;
++static int fd;
++static char *file;
++
++static void usage(char *name)
++{
++	fprintf(stderr, "Usage: %s [-suw] <filename>\n"
++	                "	-s	Use shared locking\n"
++	                "	-u	Unlock\n"
++	                "	-w	Wait for the lock to become free, don't acquire lock\n"
++			"	-n	Don't wait for the lock to become free. Fail with exit code\n"
++					"\n", name);
++	exit(1);
++}
++
++static void exit_unlock(int sig)
++{
++	flock(fd, LOCK_UN);
++	exit(0);
++}
++
++static int do_unlock(void)
++{
++	FILE *f;
++	int i;
++
++	if ((f = fopen(file, "r")) == NULL)
++		return 0;
++
++	fscanf(f, "%d", &i);
++	if (i > 0)
++		kill(i, SIGTERM);
++
++	fclose(f);
++
++	return 0;
++}
++
++static int do_lock(void)
++{
++	pid_t pid;
++	int flags;
++	char pidstr[12];
++
++	if ((fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0700)) < 0) {
++		if ((fd = open(file, O_RDWR)) < 0) {
++			fprintf(stderr, "Can't open %s\n", file);
++			return 1;
++		}
++	}
++
++	flags = shared ? LOCK_SH : LOCK_EX;
++	flags |= try_lock ? LOCK_NB : 0;
++
++	if (flock(fd, flags) < 0) {
++		fprintf(stderr, "Can't lock %s\n", file);
++		return 1;
++	}
++
++	pid = fork();
++
++	if (pid < 0)
++		return -1;
++
++	if (pid == 0) {
++		signal(SIGKILL, exit_unlock);
++		signal(SIGTERM, exit_unlock);
++		signal(SIGINT, exit_unlock);
++		if (waitonly)
++			exit_unlock(0);
++		else
++			while (1)
++				sleep(1);
++	} else {
++		if (!waitonly) {
++			lseek(fd, 0, SEEK_SET);
++			ftruncate(fd, 0);
++			snprintf(pidstr, sizeof(pidstr), "%d\n", pid);
++			write(fd, pidstr, strlen(pidstr));
++			close(fd);
++		}
++
++		return 0;
++	}
++	return 0;
++}
++
++int lock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
++int lock_main(int argc, char **argv)
++{
++	char **args = &argv[1];
++	int c = argc - 1;
++
++	while ((*args != NULL) && (*args)[0] == '-') {
++		char *ch = *args;
++		while (*(++ch) > 0) {
++			switch(*ch) {
++				case 'w':
++					waitonly = 1;
++					break;
++				case 's':
++					shared = 1;
++					break;
++				case 'u':
++					unlock = 1;
++					break;
++				case 'n':
++					try_lock = 1;
++					break;
++			}
++		}
++		c--;
++		args++;
++	}
++
++	if (c != 1)
++		usage(argv[0]);
++
++	file = *args;
++	if (unlock)
++		return do_unlock();
++	else
++		return do_lock();
++}
diff --git a/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch b/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
new file mode 100644
index 0000000..0b682dc
--- /dev/null
+++ b/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
@@ -0,0 +1,20 @@
+--- a/libbb/printable_string.c
++++ b/libbb/printable_string.c
+@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(
+ 		}
+ 		if (c < ' ')
+ 			break;
+-		if (c >= 0x7f)
+-			break;
+ 		s++;
+ 	}
+ 
+@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(
+ 			unsigned char c = *d;
+ 			if (c == '\0')
+ 				break;
+-			if (c < ' ' || c >= 0x7f)
++			if (c < ' ')
+ 				*d = '?';
+ 			d++;
+ 		}
diff --git a/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
new file mode 100644
index 0000000..f4c0a80
--- /dev/null
+++ b/package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch
@@ -0,0 +1,11 @@
+--- a/networking/libiproute/iplink.c
++++ b/networking/libiproute/iplink.c
+@@ -683,7 +683,7 @@ static int do_add_or_delete(char **argv,
+ 	}
+ 	xrtnl_open(&rth);
+ 	ll_init_map(&rth);
+-	if (type_str) {
++	if (type_str && rtm == RTM_NEWLINK) {
+ 		struct rtattr *linkinfo = NLMSG_TAIL(&req.n);
+ 
+ 		addattr_l(&req.n, sizeof(req), IFLA_LINKINFO, NULL, 0);
diff --git a/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
new file mode 100644
index 0000000..0389eed
--- /dev/null
+++ b/package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch
@@ -0,0 +1,13 @@
+--- a/networking/traceroute.c
++++ b/networking/traceroute.c
+@@ -236,8 +236,8 @@
+ //config:	depends on TRACEROUTE || TRACEROUTE6
+ 
+ /* Needs socket(AF_INET, SOCK_RAW, IPPROTO_ICMP), therefore BB_SUID_MAYBE: */
+-//applet:IF_TRACEROUTE(APPLET(traceroute, BB_DIR_USR_BIN, BB_SUID_MAYBE))
+-//applet:IF_TRACEROUTE6(APPLET(traceroute6, BB_DIR_USR_BIN, BB_SUID_MAYBE))
++//applet:IF_TRACEROUTE(APPLET(traceroute, BB_DIR_BIN, BB_SUID_MAYBE))
++//applet:IF_TRACEROUTE6(APPLET(traceroute6, BB_DIR_BIN, BB_SUID_MAYBE))
+ 
+ //kbuild:lib-$(CONFIG_TRACEROUTE) += traceroute.o
+ //kbuild:lib-$(CONFIG_TRACEROUTE6) += traceroute.o
diff --git a/package/utils/busybox/patches/510-move-passwd-applet-to-bin.patch b/package/utils/busybox/patches/510-move-passwd-applet-to-bin.patch
new file mode 100644
index 0000000..7dc2cd3
--- /dev/null
+++ b/package/utils/busybox/patches/510-move-passwd-applet-to-bin.patch
@@ -0,0 +1,11 @@
+--- a/loginutils/passwd.c
++++ b/loginutils/passwd.c
+@@ -23,7 +23,7 @@
+ //config:	With this option passwd will refuse new passwords which are "weak".
+ 
+ //applet:/* Needs to be run by root or be suid root - needs to change /etc/{passwd,shadow}: */
+-//applet:IF_PASSWD(APPLET(passwd, BB_DIR_USR_BIN, BB_SUID_REQUIRE))
++//applet:IF_PASSWD(APPLET(passwd, BB_DIR_BIN, BB_SUID_REQUIRE))
+ 
+ //kbuild:lib-$(CONFIG_PASSWD) += passwd.o
+ 
diff --git a/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
new file mode 100644
index 0000000..91340d4
--- /dev/null
+++ b/package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch
@@ -0,0 +1,53 @@
+--- a/loginutils/chpasswd.c
++++ b/loginutils/chpasswd.c
+@@ -89,6 +89,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
+ 
+ 			crypt_make_pw_salt(salt, algo);
+ 			free_me = pass = pw_encrypt(pass, salt, 0);
++
++			if (pass[0] == 0) {
++				free(free_me);
++				bb_perror_msg_and_die("password encryption failed");
++			}
+ 		}
+ 
+ 		/* This is rather complex: if user is not found in /etc/shadow,
+--- a/loginutils/cryptpw.c
++++ b/loginutils/cryptpw.c
+@@ -87,7 +87,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
+ 	/* Supports: cryptpw -m sha256 PASS 'rounds=999999999$SALT' */
+ 	char salt[MAX_PW_SALT_LEN + sizeof("rounds=999999999$")];
+ 	char *salt_ptr;
+-	char *password;
++	char *password, *hash;
+ 	const char *opt_m, *opt_S;
+ 	int fd;
+ 
+@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
+ 		/* may still be NULL on EOF/error */
+ 	}
+ 
+-	if (password)
+-		puts(pw_encrypt(password, salt, 1));
++	if (password) {
++		hash = pw_encrypt(password, salt, 1);
++		if (hash[0] == 0)
++			bb_perror_msg_and_die("password encryption failed");
++		puts(hash);
++	}
+ 
+ 	return EXIT_SUCCESS;
+ }
+--- a/loginutils/passwd.c
++++ b/loginutils/passwd.c
+@@ -187,6 +187,10 @@ int passwd_main(int argc UNUSED_PARAM, c
+ 		if (!newp) {
+ 			logmode = LOGMODE_STDIO;
+ 			bb_error_msg_and_die("password for %s is unchanged", name);
++		} else if (newp[0] == 0) {
++			logmode = LOGMODE_STDIO;
++			free(newp);
++			bb_perror_msg_and_die("password encryption failed");
+ 		}
+ 	} else if (opt & OPT_lock) {
+ 		if (!c)
diff --git a/package/utils/busybox/patches/530-nslookup-ensure-unique-transaction-IDs-for-the-DNS-queries.patch b/package/utils/busybox/patches/530-nslookup-ensure-unique-transaction-IDs-for-the-DNS-queries.patch
new file mode 100644
index 0000000..caa5ee7
--- /dev/null
+++ b/package/utils/busybox/patches/530-nslookup-ensure-unique-transaction-IDs-for-the-DNS-queries.patch
@@ -0,0 +1,42 @@
+From: Uwe Kleine-König <uwe@kleine-koenig.org>
+Date: Sat, 8 Oct 2022 19:22:52 +0200
+Subject: [PATCH] nslookup: ensure unique transaction IDs for the DNS queries
+
+The transaction IDs generated by res_mkquery() for both glibc and musl only
+depends on the state of the monotonic clock.
+For some machines (here: a TP-Link RE200 powered by a MediaTek MT7620A)
+the monotonic clock has a coarse resolution (here: 20 µs) and it can happen
+that the requests for A and AAAA share the same transaction ID.
+
+In that case the mapping from received responses to the sent queries
+doesn't work and name resolution fails as follows:
+
+        # /bin/busybox nslookup heise.de
+        Server:         127.0.0.1
+        Address:        127.0.0.1:53
+
+        Non-authoritative answer:
+        Name:   heise.de
+        Address: 193.99.144.80
+
+        *** Can't find heise.de: No answer
+
+because the AAAA reply is dropped as a duplicate reply to the A query.
+
+To prevent this make sure the transaction IDs are unique.
+
+Forwarded: http://lists.busybox.net/pipermail/busybox/2022-October/089911.html
+---
+--- a/networking/nslookup.c
++++ b/networking/nslookup.c
+@@ -978,6 +978,10 @@ int nslookup_main(int argc UNUSED_PARAM,
+ 		}
+ 	}
+ 
++	/* Ensure the Transaction IDs are unique */
++	for (rc = 1; rc < G.query_count; rc++)
++		G.query[rc].query[1] = G.query[rc - 1].query[1] + 1;
++
+ 	for (rc = 0; rc < G.serv_count;) {
+ 		int c;
+ 
diff --git a/package/utils/busybox/patches/540-ignore-SIGQUIT-to-avoid-coredump.patch b/package/utils/busybox/patches/540-ignore-SIGQUIT-to-avoid-coredump.patch
new file mode 100644
index 0000000..31618bf
--- /dev/null
+++ b/package/utils/busybox/patches/540-ignore-SIGQUIT-to-avoid-coredump.patch
@@ -0,0 +1,11 @@
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -10079,7 +10079,7 @@ execcmd(int argc UNUSED_PARAM, char **ar
+ 		 * SIGQUIT is still set to IGN. Fix it:
+ 		 */
+ 		shlvl++;
+-		setsignal(SIGQUIT);
++		/*setsignal(SIGQUIT); - avoid coredump after "ctrl+\" or executing "kill -3" in shell */
+ 		/*setsignal(SIGTERM); - unnecessary because of iflag=0 */
+ 		/*setsignal(SIGTSTP); - unnecessary because of mflag=0 */
+ 		/*setsignal(SIGTTOU); - unnecessary because of mflag=0 */
diff --git a/package/utils/busybox/patches/600-get-seuser-from-username.patch b/package/utils/busybox/patches/600-get-seuser-from-username.patch
new file mode 100644
index 0000000..7744f1c
--- /dev/null
+++ b/package/utils/busybox/patches/600-get-seuser-from-username.patch
@@ -0,0 +1,34 @@
+--- a/loginutils/login.c
++++ b/loginutils/login.c
+@@ -183,13 +183,17 @@ static void die_if_nologin(void)
+ static void initselinux(char *username, char *full_tty,
+ 						security_context_t *user_sid)
+ {
++	char *seuser = NULL, *level = NULL;
+ 	security_context_t old_tty_sid, new_tty_sid;
+ 
+ 	if (!is_selinux_enabled())
+ 		return;
+ 
+-	if (get_default_context(username, NULL, user_sid)) {
+-		bb_error_msg_and_die("can't get SID for %s", username);
++	if (getseuserbyname(username, &seuser, &level)) {
++		bb_error_msg_and_die("can't get seuser for %s", username);
++	}
++	if (get_default_context(seuser, NULL, user_sid)) {
++		bb_error_msg_and_die("can't get SID for %s", seuser);
+ 	}
+ 	if (getfilecon(full_tty, &old_tty_sid) < 0) {
+ 		bb_perror_msg_and_die("getfilecon(%s) failed", full_tty);
+@@ -201,6 +205,11 @@ static void initselinux(char *username,
+ 	if (setfilecon(full_tty, new_tty_sid) != 0) {
+ 		bb_perror_msg_and_die("chsid(%s, %s) failed", full_tty, new_tty_sid);
+ 	}
++
++	if (ENABLE_FEATURE_CLEAN_UP) {
++		free(seuser);
++		free(level);
++	}
+ }
+ #endif
+ 
diff --git a/package/utils/busybox/patches/601-fix_termios_configuration_missing.patch b/package/utils/busybox/patches/601-fix_termios_configuration_missing.patch
new file mode 100644
index 0000000..9f2d9b6
--- /dev/null
+++ b/package/utils/busybox/patches/601-fix_termios_configuration_missing.patch
@@ -0,0 +1,27 @@
+--- a/libbb/lineedit.c
++++ b/libbb/lineedit.c
+@@ -2467,6 +2467,7 @@ int FAST_FUNC read_line_input(line_input
+ #endif
+ 	struct termios initial_settings;
+ 	struct termios new_settings;
++	struct termios tmp_settings;
+ 	char read_key_buffer[KEYCODE_BUFFER_SIZE];
+ 
+ 	INIT_S();
+@@ -3006,7 +3007,15 @@ int FAST_FUNC read_line_input(line_input
+ #endif
+ 
+ 	/* restore initial_settings */
+-	tcsetattr_stdin_TCSANOW(&initial_settings);
++	if (tcgetattr(STDIN_FILENO, &tmp_settings) < 0){
++		tcsetattr_stdin_TCSANOW(&initial_settings);
++	}else{
++		tmp_settings.c_lflag |= (ICANON | ECHO | ECHONL | ISIG);
++		tmp_settings.c_cc[VMIN] = initial_settings.c_cc[VMIN];
++		tmp_settings.c_cc[VTIME] = initial_settings.c_cc[VTIME];
++		tcsetattr_stdin_TCSANOW(&tmp_settings);
++	}
++
+ #if ENABLE_FEATURE_EDITING_WINCH
+ 	/* restore SIGWINCH handler */
+ 	sigaction_set(SIGWINCH, &S.SIGWINCH_handler);
diff --git a/package/utils/busybox/selinux.config b/package/utils/busybox/selinux.config
new file mode 100644
index 0000000..ef20155
--- /dev/null
+++ b/package/utils/busybox/selinux.config
@@ -0,0 +1,15 @@
+CONFIG_SELINUX=y
+CONFIG_FEATURE_TAR_SELINUX=y
+CONFIG_CHCON=y
+CONFIG_GETENFORCE=y
+CONFIG_GETSEBOOL=y
+CONFIG_LOAD_POLICY=y
+CONFIG_MATCHPATHCON=y
+CONFIG_RUNCON=y
+CONFIG_SELINUXENABLED=y
+CONFIG_SESTATUS=y
+CONFIG_SETFILES=y
+CONFIG_FEATURE_SETFILES_CHECK_OPTION=y
+CONFIG_RESTORECON=y
+CONFIG_SETSEBOOL=y
+CONFIG_SETENFORCE=y