diff --git a/debian/Config.h-deb b/debian/Config.h-deb
index fd848e1..818d66d 100644
--- a/debian/Config.h-deb
+++ b/debian/Config.h-deb
@@ -3,142 +3,142 @@
 // When you turn things off here, they won't be compiled in at all.
 //
 //// This file is parsed by sed.  You MUST use single line comments.
-//   i.e.,  //#define BB_BLAH
+//   i.e.,  //#define CONFIG_BLAH
 //
 //
 // BusyBox Applications
-//#define BB_ADJTIMEX
-#define BB_AR
-//#define BB_ASH
-#define BB_BASENAME
-#define BB_CAT
-#define BB_CHGRP
-#define BB_CHMOD
-#define BB_CHOWN
-#define BB_CHROOT
-#define BB_CHVT
-#define BB_CLEAR
-//#define BB_CMP
-#define BB_CP
-//#define BB_CPIO
-#define BB_CUT
-#define BB_DATE
-//#define BB_DC
-#define BB_DD
-//#define BB_DEALLOCVT
-#define BB_DF
-#define BB_DIRNAME
-#define BB_DMESG
-//#define BB_DOS2UNIX
-//#define BB_DPKG
-//#define BB_DPKG_DEB
-//#define BB_DUTMP
-#define BB_DU
-//#define BB_DUMPKMAP
-#define BB_ECHO
-#define BB_ENV
-#define BB_EXPR
-//#define BB_FBSET
-//#define BB_FDFLUSH
-#define BB_FIND
-#define BB_FREE
-//#define BB_FREERAMDISK
-//#define BB_FSCK_MINIX
-//#define BB_GETOPT
-#define BB_GREP
-#define BB_GUNZIP
-#define BB_GZIP
-#define BB_HALT
-#define BB_HEAD
-//#define BB_HOSTID
-//#define BB_HOSTNAME
-//#define BB_HUSH
-#define BB_ID
-//#define BB_IFCONFIG
-#define BB_INIT
-//#define BB_INSMOD
-#define BB_KILL
-#define BB_KILLALL
-#define BB_KLOGD
-//#define BB_LASH
-//#define BB_LENGTH
-#define BB_LN
-//#define BB_LOADACM
-//#define BB_LOADFONT
-#define BB_LOADKMAP
-#define BB_LOGGER
-//#define BB_LOGNAME
-#define BB_LS
-#define BB_LSMOD
-//#define BB_MAKEDEVS
-#define BB_MD5SUM
-#define BB_MKDIR
-//#define BB_MKFIFO
-//#define BB_MKFS_MINIX
-#define BB_MKNOD
-#define BB_MKSWAP
-//#define BB_MKTEMP
-//#define BB_MODPROBE
-#define BB_MORE
-#define BB_MOUNT
-//#define BB_MSH
-//#define BB_MT
-#define BB_MV
-//#define BB_NC
-//#define BB_NSLOOKUP
-//#define BB_PIDOF
-#define BB_PING
-//#define BB_PIVOT_ROOT
-#define BB_POWEROFF
-//#define BB_PRINTF
-#define BB_PS
-#define BB_PWD
-//#define BB_RDATE
-//#define BB_READLINK
-#define BB_REBOOT
-//#define BB_RENICE
-#define BB_RESET
-#define BB_RM
-#define BB_RMDIR
-//#define BB_RMMOD
-//#define BB_ROUTE
-//#define BB_RPM2CPIO
-#define BB_SED
-//#define BB_SETKEYCODES
-#define BB_SLEEP
-#define BB_SORT
-//#define BB_STTY
-#define BB_SWAPONOFF
-#define BB_SYNC
-#define BB_SYSLOGD
-#define BB_TAIL
-#define BB_TAR
-//#define BB_TEE
-//#define BB_TEST
-#define BB_TELNET
-//#define BB_TFTP
-#define BB_TOUCH
-#define BB_TR
-//#define BB_TRACEROUTE
-#define BB_TRUE_FALSE
-#define BB_TTY
-//#define BB_UNIX2DOS
-//#define BB_UUENCODE
-//#define BB_UUDECODE
-#define BB_UMOUNT
-#define BB_UNIQ
-#define BB_UNAME
-//#define BB_UPDATE
-#define BB_UPTIME
-//#define BB_USLEEP
-#define BB_VI
-//#define BB_WATCHDOG
-#define BB_WC
-#define BB_WGET
-#define BB_WHICH
-#define BB_WHOAMI
-#define BB_XARGS
-#define BB_YES
+//#define CONFIG_ADJTIMEX
+#define CONFIG_AR
+//#define CONFIG_ASH
+#define CONFIG_BASENAME
+#define CONFIG_CAT
+#define CONFIG_CHGRP
+#define CONFIG_CHMOD
+#define CONFIG_CHOWN
+#define CONFIG_CHROOT
+#define CONFIG_CHVT
+#define CONFIG_CLEAR
+//#define CONFIG_CMP
+#define CONFIG_CP
+//#define CONFIG_CPIO
+#define CONFIG_CUT
+#define CONFIG_DATE
+//#define CONFIG_DC
+#define CONFIG_DD
+//#define CONFIG_DEALLOCVT
+#define CONFIG_DF
+#define CONFIG_DIRNAME
+#define CONFIG_DMESG
+//#define CONFIG_DOS2UNIX
+//#define CONFIG_DPKG
+//#define CONFIG_DPKG_DEB
+//#define CONFIG_DUTMP
+#define CONFIG_DU
+//#define CONFIG_DUMPKMAP
+#define CONFIG_ECHO
+#define CONFIG_ENV
+#define CONFIG_EXPR
+//#define CONFIG_FBSET
+//#define CONFIG_FDFLUSH
+#define CONFIG_FIND
+#define CONFIG_FREE
+//#define CONFIG_FREERAMDISK
+//#define CONFIG_FSCK_MINIX
+//#define CONFIG_GETOPT
+#define CONFIG_GREP
+#define CONFIG_GUNZIP
+#define CONFIG_GZIP
+#define CONFIG_HALT
+#define CONFIG_HEAD
+//#define CONFIG_HOSTID
+//#define CONFIG_HOSTNAME
+//#define CONFIG_HUSH
+#define CONFIG_ID
+//#define CONFIG_IFCONFIG
+#define CONFIG_INIT
+//#define CONFIG_INSMOD
+#define CONFIG_KILL
+#define CONFIG_KILLALL
+#define CONFIG_KLOGD
+//#define CONFIG_LASH
+//#define CONFIG_LENGTH
+#define CONFIG_LN
+//#define CONFIG_LOADACM
+//#define CONFIG_LOADFONT
+#define CONFIG_LOADKMAP
+#define CONFIG_LOGGER
+//#define CONFIG_LOGNAME
+#define CONFIG_LS
+#define CONFIG_LSMOD
+//#define CONFIG_MAKEDEVS
+#define CONFIG_MD5SUM
+#define CONFIG_MKDIR
+//#define CONFIG_MKFIFO
+//#define CONFIG_MKFS_MINIX
+#define CONFIG_MKNOD
+#define CONFIG_MKSWAP
+//#define CONFIG_MKTEMP
+//#define CONFIG_MODPROBE
+#define CONFIG_MORE
+#define CONFIG_MOUNT
+//#define CONFIG_MSH
+//#define CONFIG_MT
+#define CONFIG_MV
+//#define CONFIG_NC
+//#define CONFIG_NSLOOKUP
+//#define CONFIG_PIDOF
+#define CONFIG_PING
+//#define CONFIG_PIVOT_ROOT
+#define CONFIG_POWEROFF
+//#define CONFIG_PRINTF
+#define CONFIG_PS
+#define CONFIG_PWD
+//#define CONFIG_RDATE
+//#define CONFIG_READLINK
+#define CONFIG_REBOOT
+//#define CONFIG_RENICE
+#define CONFIG_RESET
+#define CONFIG_RM
+#define CONFIG_RMDIR
+//#define CONFIG_RMMOD
+//#define CONFIG_ROUTE
+//#define CONFIG_RPM2CPIO
+#define CONFIG_SED
+//#define CONFIG_SETKEYCODES
+#define CONFIG_SLEEP
+#define CONFIG_SORT
+//#define CONFIG_STTY
+#define CONFIG_SWAPONOFF
+#define CONFIG_SYNC
+#define CONFIG_SYSLOGD
+#define CONFIG_TAIL
+#define CONFIG_TAR
+//#define CONFIG_TEE
+//#define CONFIG_TEST
+#define CONFIG_TELNET
+//#define CONFIG_TFTP
+#define CONFIG_TOUCH
+#define CONFIG_TR
+//#define CONFIG_TRACEROUTE
+#define CONFIG_TRUE_FALSE
+#define CONFIG_TTY
+//#define CONFIG_UNIX2DOS
+//#define CONFIG_UUENCODE
+//#define CONFIG_UUDECODE
+#define CONFIG_UMOUNT
+#define CONFIG_UNIQ
+#define CONFIG_UNAME
+//#define CONFIG_UPDATE
+#define CONFIG_UPTIME
+//#define CONFIG_USLEEP
+#define CONFIG_VI
+//#define CONFIG_WATCHDOG
+#define CONFIG_WC
+#define CONFIG_WGET
+#define CONFIG_WHICH
+#define CONFIG_WHOAMI
+#define CONFIG_XARGS
+#define CONFIG_YES
 // End of Applications List
 //
 //
@@ -151,21 +151,21 @@
 //
 // If you enabled one or more of the shells, you may select which one
 // should be run when sh is invoked:
-//#define BB_FEATURE_SH_IS_ASH
-//#define BB_FEATURE_SH_IS_HUSH
-//#define BB_FEATURE_SH_IS_LASH
-#define BB_FEATURE_SH_IS_MSH
+//#define CONFIG_FEATURE_SH_IS_ASH
+//#define CONFIG_FEATURE_SH_IS_HUSH
+//#define CONFIG_FEATURE_SH_IS_LASH
+#define CONFIG_FEATURE_SH_IS_MSH
 //
 // BusyBox will, by default, malloc space for its buffers.  This costs code
 // size for the call to xmalloc.  You can use the following feature to have
 // them put on the stack.  For some very small machines with limited stack
 // space, this can be deadly.  For most folks, this works just fine...
-//#define BB_FEATURE_BUFFERS_GO_ON_STACK
+//#define CONFIG_FEATURE_BUFFERS_GO_ON_STACK
 // The third alternative for buffer allocation is to use 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
 // BusyBox versions 0.48 and earlier.
-//#define BB_FEATURE_BUFFERS_GO_IN_BSS
+//#define CONFIG_FEATURE_BUFFERS_GO_IN_BSS
 //
 // Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
 // thereby eliminating the need for the /proc filesystem and thereby saving
@@ -176,212 +176,212 @@
 //        mknod /dev/mtab c 10 22
 //        mknod /dev/ps c 10 21
 // I emailed Linus and this patch will not be going into the stock kernel.
-//#define BB_FEATURE_USE_DEVPS_PATCH
+//#define CONFIG_FEATURE_USE_DEVPS_PATCH
 //
 // show verbose usage messages
-//#define BB_FEATURE_VERBOSE_USAGE
+//#define CONFIG_FEATURE_VERBOSE_USAGE
 //
 // Use termios to manipulate the screen ('more' is prettier with this on)
-#define BB_FEATURE_USE_TERMIOS
+#define CONFIG_FEATURE_USE_TERMIOS
 //
 // calculate terminal & column widths (for more and ls)
-#define BB_FEATURE_AUTOWIDTH
+#define CONFIG_FEATURE_AUTOWIDTH
 //
 // show username/groupnames for ls
-#define BB_FEATURE_LS_USERNAME
+#define CONFIG_FEATURE_LS_USERNAME
 //
 // show file timestamps in ls
-#define BB_FEATURE_LS_TIMESTAMPS
+#define CONFIG_FEATURE_LS_TIMESTAMPS
 //
 // enable ls -p and -F
-#define BB_FEATURE_LS_FILETYPES
+#define CONFIG_FEATURE_LS_FILETYPES
 //
 // sort the file names
-#define BB_FEATURE_LS_SORTFILES
+#define CONFIG_FEATURE_LS_SORTFILES
 //
 // enable ls -R
-#define BB_FEATURE_LS_RECURSIVE
+#define CONFIG_FEATURE_LS_RECURSIVE
 //
 // enable ls -L
-#define BB_FEATURE_LS_FOLLOWLINKS
+#define CONFIG_FEATURE_LS_FOLLOWLINKS
 //
 // Disable for a smaller (but less functional) ping
-#define BB_FEATURE_FANCY_PING
+#define CONFIG_FEATURE_FANCY_PING
 //
 // Make init use a simplified /etc/inittab file (recommended).
-#define BB_FEATURE_USE_INITTAB
+#define CONFIG_FEATURE_USE_INITTAB
 //
 //Enable init being called as /linuxrc
-#define BB_FEATURE_LINUXRC
+#define CONFIG_FEATURE_INITRD
 //
 //Have init enable core dumping for child processes (for debugging only) 
-//#define BB_FEATURE_INIT_COREDUMPS
+//#define CONFIG_FEATURE_INIT_COREDUMPS
 //
 //Make sure nothing is printed to the console on boot
-//#define BB_FEATURE_EXTRA_QUIET
+//#define CONFIG_FEATURE_EXTRA_QUIET
 //
 // enable syslogd -R remotehost
-#define BB_FEATURE_REMOTE_LOG
+#define CONFIG_FEATURE_REMOTE_LOG
 //
 // enable syslogd -C
-//#define BB_FEATURE_IPC_SYSLOG
+//#define CONFIG_FEATURE_IPC_SYSLOG
 //
 //Disable for a simple tail implementation (2.34k vs 3k for the full one).
 //Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. 
-#define BB_FEATURE_FANCY_TAIL
+#define CONFIG_FEATURE_FANCY_TAIL
 //
 // Enable support for loop devices in mount
-#define BB_FEATURE_MOUNT_LOOP
+#define CONFIG_FEATURE_MOUNT_LOOP
 //
 // Enable support for a real /etc/mtab file instead of /proc/mounts
-//#define BB_FEATURE_MTAB_SUPPORT
+//#define CONFIG_FEATURE_MTAB_SUPPORT
 //
 // Enable support for mounting remote NFS volumes. 
 // You may need to mount with "-o nolock" if you are
 // not running a local portmapper daemon...
-#define BB_FEATURE_NFSMOUNT
+#define CONFIG_FEATURE_NFSMOUNT
 //
 // Enable support forced filesystem unmounting 
 // (i.e., in case of an unreachable NFS system).
-#define BB_FEATURE_MOUNT_FORCE
+#define CONFIG_FEATURE_MOUNT_FORCE
 //
 // Enable support for creation of tar files.
-#define BB_FEATURE_TAR_CREATE
+#define CONFIG_FEATURE_TAR_CREATE
 //
 // Enable support for "--exclude" and "-X" for excluding files
-#define BB_FEATURE_TAR_EXCLUDE
+#define CONFIG_FEATURE_TAR_EXCLUDE
 //
 // Enable support for tar -z option (currently only works for inflating)
-#define BB_FEATURE_TAR_GZIP 
+#define CONFIG_FEATURE_TAR_GZIP 
 //
 // Enable reverse sort
-#define BB_FEATURE_SORT_REVERSE
+#define CONFIG_FEATURE_SORT_REVERSE
 //
 // Enable uniqe sort
-#define BB_FEATURE_SORT_UNIQUE
+#define CONFIG_FEATURE_SORT_UNIQUE
 //
 // Enable command line editing in the shell.  
 // Only relevant if a shell is enabled. On by default.
-#define BB_FEATURE_COMMAND_EDITING
+#define CONFIG_FEATURE_COMMAND_EDITING
 //
 // Enable tab completion in the shell.  This is now working quite nicely.
 // This feature adds a bit over 4k. Only relevant if a shell is enabled.
-#define BB_FEATURE_COMMAND_TAB_COMPLETION
+#define CONFIG_FEATURE_COMMAND_TAB_COMPLETION
 //
 // Attempts to match usernames in a ~-prefixed path
-//#define BB_FEATURE_COMMAND_USERNAME_COMPLETION
+//#define CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
 //
 //Allow the shell to invoke all the compiled in BusyBox applets as if they
 //were shell builtins.  Nice for staticly linking an emergency rescue shell,
 //among other things. Off by default.
 // Only relevant if a shell is enabled.
-//#define BB_FEATURE_SH_STANDALONE_SHELL
+//#define CONFIG_FEATURE_SH_STANDALONE_SHELL
 //
 //When this is enabled, busybox shell applets can be called using full path
 //names.  This causes applets (i.e., most busybox commands) to override
 //real commands on the filesystem.  For example, if you run run /bin/cat, it
 //will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
 //busybox.  Some systems want this, others do not.  Choose wisely.  :-) This
-//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
+//only has meaning when CONFIG_FEATURE_SH_STANDALONE_SHELL is enabled.
 // Only relevant if a shell is enabled. Off by default.
-//#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
+//#define CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
 //
 // Uncomment this option for a fancy shell prompt that includes the
 // current username and hostname.  On systems that don't have usernames
 // or hostnames, this can look hideous.
 // Only relevant if a shell is enabled.
-//#define BB_FEATURE_SH_FANCY_PROMPT
+//#define CONFIG_FEATURE_SH_FANCY_PROMPT
 //
 //Turn on extra fbset options
-//#define BB_FEATURE_FBSET_FANCY
+//#define CONFIG_FEATURE_FBSET_FANCY
 //
 //Turn on fbset readmode support
-//#define BB_FEATURE_FBSET_READMODE
+//#define CONFIG_FEATURE_FBSET_READMODE
 //
 // Support insmod/lsmod/rmmod for post 2.1 kernels
-//#define BB_FEATURE_NEW_MODULE_INTERFACE
+//#define CONFIG_FEATURE_NEW_MODULE_INTERFACE
 //
 // Support insmod/lsmod/rmmod for pre 2.1 kernels
-//#define BB_FEATURE_OLD_MODULE_INTERFACE
+//#define CONFIG_FEATURE_OLD_MODULE_INTERFACE
 //
 // Support module version checking
-//#define BB_FEATURE_INSMOD_VERSION_CHECKING
+//#define CONFIG_FEATURE_INSMOD_VERSION_CHECKING
 //
 // Support for uClinux memory usage optimization, which will load the image
 // directly into the kernel memory.  This divides memory requrements by three.
 // If you are not running uClinux (i.e., your CPU has an MMU) leave this
 // disabled...
-//#define BB_FEATURE_INSMOD_LOADINKMEM
+//#define CONFIG_FEATURE_INSMOD_LOADINKMEM
 //
 // Support for Minix filesystem, version 2
-//#define BB_FEATURE_MINIX2
+//#define CONFIG_FEATURE_MINIX2
 //
 // Enable ifconfig status reporting output -- this feature adds 12k.
-#define BB_FEATURE_IFCONFIG_STATUS
+#define CONFIG_FEATURE_IFCONFIG_STATUS
 //
 // Enable ifconfig slip-specific options "keepalive" and "outfill"
-//#define BB_FEATURE_IFCONFIG_SLIP
+//#define CONFIG_FEATURE_IFCONFIG_SLIP
 //
 // Enable ifconfig options "mem_start", "io_addr", and "irq".
-//#define BB_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
+//#define CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
 //
 // Enable ifconfig option "hw".  Currently works for only with "ether".
-#define BB_FEATURE_IFCONFIG_HW
+#define CONFIG_FEATURE_IFCONFIG_HW
 //
 // Enable busybox --install [-s]
 // to create links (or symlinks) for all the commands that are 
 // compiled into the binary.  (needs /proc filesystem)
-#define BB_FEATURE_INSTALLER
+#define CONFIG_FEATURE_INSTALLER
 //
 // Enable a nifty progress meter in wget (adds just under 2k)
-#define BB_FEATURE_WGET_STATUSBAR
+#define CONFIG_FEATURE_WGET_STATUSBAR
 //
 // Enable HTTP authentication in wget
-#define BB_FEATURE_WGET_AUTHENTICATION
+#define CONFIG_FEATURE_WGET_AUTHENTICATION
 //
 // Clean up all memory before exiting -- usually not needed
 // as the OS can clean up...  Don't enable this unless you
 // have a really good reason for cleaning things up manually.
-//#define BB_FEATURE_CLEAN_UP
+//#define CONFIG_FEATURE_CLEAN_UP
 //
 // Support for human readable output by ls, du, etc.(example 13k, 23M, 235G)
-#define BB_FEATURE_HUMAN_READABLE
+#define CONFIG_FEATURE_HUMAN_READABLE
 //
 // Support for the find -type option.
-#define BB_FEATURE_FIND_TYPE
+#define CONFIG_FEATURE_FIND_TYPE
 //
 // Support for the find -perm option.
-#define BB_FEATURE_FIND_PERM
+#define CONFIG_FEATURE_FIND_PERM
 //
 // Support for the find -mtine option.
-#define BB_FEATURE_FIND_MTIME
+#define CONFIG_FEATURE_FIND_MTIME
 //
 // Support for the -A -B and -C context flags in grep
-//#define BB_FEATURE_GREP_CONTEXT
+//#define CONFIG_FEATURE_GREP_CONTEXT
 //
 // Support for the EGREP applet (alias to the grep applet)
-//#define BB_FEATURE_GREP_EGREP_ALIAS
+//#define CONFIG_FEATURE_GREP_EGREP_ALIAS
 //
 // Tell tftp what commands that should be supported.
-#define BB_FEATURE_TFTP_PUT
-#define BB_FEATURE_TFTP_GET
+#define CONFIG_FEATURE_TFTP_PUT
+#define CONFIG_FEATURE_TFTP_GET
 //
 // features for vi
-#define BB_FEATURE_VI_COLON		// ":" colon commands, no "ex" mode
-#define BB_FEATURE_VI_YANKMARK		// Yank/Put commands and Mark cmds
-#define BB_FEATURE_VI_SEARCH		// search and replace cmds
-#define BB_FEATURE_VI_USE_SIGNALS	// catch signals
-#define BB_FEATURE_VI_DOT_CMD		// remember previous cmd and "." cmd
-#define BB_FEATURE_VI_READONLY		// vi -R and "view" mode
-#define BB_FEATURE_VI_SETOPTS		// set-able options,  ai ic showmatch
-#define BB_FEATURE_VI_SET		// :set
-#define BB_FEATURE_VI_WIN_RESIZE	// handle window resize
+#define CONFIG_FEATURE_VI_COLON		// ":" colon commands, no "ex" mode
+#define CONFIG_FEATURE_VI_YANKMARK		// Yank/Put commands and Mark cmds
+#define CONFIG_FEATURE_VI_SEARCH		// search and replace cmds
+#define CONFIG_FEATURE_VI_USE_SIGNALS	// catch signals
+#define CONFIG_FEATURE_VI_DOT_CMD		// remember previous cmd and "." cmd
+#define CONFIG_FEATURE_VI_READONLY		// vi -R and "view" mode
+#define CONFIG_FEATURE_VI_SETOPTS		// set-able options,  ai ic showmatch
+#define CONFIG_FEATURE_VI_SET		// :set
+#define CONFIG_FEATURE_VI_WIN_RESIZE	// handle window resize
 //
 // Enable a if you system have setuped locale
-//#define BB_LOCALE_SUPPORT
+//#define CONFIG_LOCALE_SUPPORT
 //
 // Support for TELNET to pass TERM type to remote host.  Adds 384 bytes.
-#define BB_FEATURE_TELNET_TTYPE
+#define CONFIG_FEATURE_TELNET_TTYPE
 //
 // End of Features List
 //
@@ -396,74 +396,74 @@
 //
 #include <features.h>
 #if defined __UCLIBC__ && ! defined __UCLIBC_HAS_MMU__
-	#undef BB_RPM2CPIO		/* Uses gz_open(), which uses fork() */
-	#undef BB_DPKG_DEB		/* Uses gz_open(), which uses fork() */
-	#undef BB_ASH			/* Uses fork() */
-	#undef BB_HUSH			/* Uses fork() */
-	#undef BB_LASH			/* Uses fork() */
-	#undef BB_INIT			/* Uses fork() */
-	#undef BB_FEATURE_TAR_GZIP	/* Uses fork() */
-	#undef BB_SYSLOGD		/* Uses daemon() */
-	#undef BB_KLOGD			/* Uses daemon() */
-	#undef BB_UPDATE		/* Uses daemon() */
+	#undef CONFIG_RPM2CPIO		/* Uses gz_open(), which uses fork() */
+	#undef CONFIG_DPKG_DEB		/* Uses gz_open(), which uses fork() */
+	#undef CONFIG_ASH			/* Uses fork() */
+	#undef CONFIG_HUSH			/* Uses fork() */
+	#undef CONFIG_LASH			/* Uses fork() */
+	#undef CONFIG_INIT			/* Uses fork() */
+	#undef CONFIG_FEATURE_TAR_GZIP	/* Uses fork() */
+	#undef CONFIG_SYSLOGD		/* Uses daemon() */
+	#undef CONFIG_KLOGD			/* Uses daemon() */
+	#undef CONFIG_UPDATE		/* Uses daemon() */
 #endif
-#if defined BB_ASH || defined BB_HUSH || defined BB_LASH || defined BB_MSH
-	#if defined BB_FEATURE_COMMAND_EDITING
-		#define BB_CMDEDIT
+#if defined CONFIG_ASH || defined CONFIG_HUSH || defined CONFIG_LASH || defined CONFIG_MSH
+	#if defined CONFIG_FEATURE_COMMAND_EDITING
+		#define CONFIG_CMDEDIT
 	#else
-		#undef BB_FEATURE_COMMAND_EDITING
-		#undef BB_FEATURE_COMMAND_TAB_COMPLETION
-		#undef BB_FEATURE_COMMAND_USERNAME_COMPLETION
-		#undef BB_FEATURE_SH_FANCY_PROMPT
+		#undef CONFIG_FEATURE_COMMAND_EDITING
+		#undef CONFIG_FEATURE_COMMAND_TAB_COMPLETION
+		#undef CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
+		#undef CONFIG_FEATURE_SH_FANCY_PROMPT
 	#endif
 #else
-	#undef BB_FEATURE_SH_APPLETS_ALWAYS_WIN
-	#undef BB_FEATURE_SH_STANDALONE_SHELL
-	#undef BB_FEATURE_SH_FANCY_PROMPT
+	#undef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
+	#undef CONFIG_FEATURE_SH_STANDALONE_SHELL
+	#undef CONFIG_FEATURE_SH_FANCY_PROMPT
 #endif
 //
-#ifdef BB_KILLALL
-	#ifndef BB_KILL
-		#define BB_KILL
+#ifdef CONFIG_KILLALL
+	#ifndef CONFIG_KILL
+		#define CONFIG_KILL
 	#endif
 #endif
 //
-#ifndef BB_INIT
-	#undef BB_FEATURE_LINUXRC
+#ifndef CONFIG_INIT
+	#undef CONFIG_FEATURE_INITRD
 #endif
 //
-#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
-	#define BB_NFSMOUNT
+#if defined CONFIG_MOUNT && defined CONFIG_FEATURE_NFSMOUNT
+	#define CONFIG_NFSMOUNT
 #endif
 //
-#if defined BB_FEATURE_AUTOWIDTH
-	#ifndef BB_FEATURE_USE_TERMIOS
-		#define BB_FEATURE_USE_TERMIOS
+#if defined CONFIG_FEATURE_AUTOWIDTH
+	#ifndef CONFIG_FEATURE_USE_TERMIOS
+		#define CONFIG_FEATURE_USE_TERMIOS
 	#endif
 #endif
 //
-#if defined BB_INSMOD || defined BB_LSMOD
-	#if ! defined BB_FEATURE_NEW_MODULE_INTERFACE && ! defined BB_FEATURE_OLD_MODULE_INTERFACE
-		#define BB_FEATURE_NEW_MODULE_INTERFACE
+#if defined CONFIG_INSMOD || defined CONFIG_LSMOD
+	#if ! defined CONFIG_FEATURE_NEW_MODULE_INTERFACE && ! defined CONFIG_FEATURE_OLD_MODULE_INTERFACE
+		#define CONFIG_FEATURE_NEW_MODULE_INTERFACE
 	#endif
 #endif
 //
-#ifdef BB_UNIX2DOS
-	#define BB_DOS2UNIX
+#ifdef CONFIG_UNIX2DOS
+	#define CONFIG_DOS2UNIX
 #endif	
 //
-#ifdef BB_SYSLOGD
-	#if defined BB_FEATURE_IPC_SYSLOG
-		#define BB_LOGREAD
+#ifdef CONFIG_SYSLOGD
+	#if defined CONFIG_FEATURE_IPC_SYSLOG
+		#define CONFIG_LOGREAD
 	#endif
 #endif
 //
-#if defined BB_ASH && defined BB_FEATURE_SH_IS_ASH
+#if defined CONFIG_ASH && defined CONFIG_FEATURE_SH_IS_ASH
 # define shell_main ash_main
-#elif defined BB_HUSH && defined BB_FEATURE_SH_IS_HUSH
+#elif defined CONFIG_HUSH && defined CONFIG_FEATURE_SH_IS_HUSH
 # define shell_main hush_main
-#elif defined BB_LASH && defined BB_FEATURE_SH_IS_LASH
+#elif defined CONFIG_LASH && defined CONFIG_FEATURE_SH_IS_LASH
 # define shell_main lash_main
-#elif defined BB_MSH && defined BB_FEATURE_SH_IS_MSH
+#elif defined CONFIG_MSH && defined CONFIG_FEATURE_SH_IS_MSH
 # define shell_main msh_main
 #endif
