diff --git a/debian/Config.h-deb b/debian/Config.h-deb
index bbbedc8..c71b727 100644
--- a/debian/Config.h-deb
+++ b/debian/Config.h-deb
@@ -14,108 +14,114 @@
 #define BB_CHROOT
 #define BB_CHVT
 #define BB_CLEAR
-#define BB_CMP
+//#define BB_CMP
 #define BB_CP_MV
 #define BB_CUT
 #define BB_DATE
-#define BB_DC
+//#define BB_DC
 #define BB_DD
-#define BB_DEALLOCVT
+//#define BB_DEALLOCVT
 #define BB_DF
 #define BB_DIRNAME
 #define BB_DMESG
-#define BB_DOS2UNIX
-#define BB_DPKG_DEB
-#define BB_DUTMP
+//#define BB_DOS2UNIX
+//#define BB_DPKG
+//#define BB_DPKG_DEB
+//#define BB_DUTMP
 #define BB_DU
-#define BB_DUMPKMAP
+//#define BB_DUMPKMAP
 #define BB_ECHO
-#define BB_EXPR
-#define BB_FBSET
-#define BB_FDFLUSH
+//#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_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_HOSTID
+//#define BB_HOSTNAME
 #define BB_ID
+//#define BB_IFCONFIG
 #define BB_INIT
 //#define BB_INSMOD
 #define BB_KILL
 #define BB_KILLALL
-#define BB_LENGTH
+//#define BB_LENGTH
 #define BB_LN
-#define BB_LOADACM
-#define BB_LOADFONT
-#define BB_LOADKMAP
+//#define BB_LOADACM
+//#define BB_LOADFONT
+//#define BB_LOADKMAP
 #define BB_LOGGER
-#define BB_LOGNAME
+//#define BB_LOGNAME
 #define BB_LS
 #define BB_LSMOD
-#define BB_MAKEDEVS
-#define BB_MD5SUM
+//#define BB_MAKEDEVS
+//#define BB_MD5SUM
 #define BB_MKDIR
-#define BB_MKFIFO
-#define BB_MKFS_MINIX
+//#define BB_MKFIFO
+//#define BB_MKFS_MINIX
 #define BB_MKNOD
 #define BB_MKSWAP
-#define BB_MKTEMP
-#define BB_NC
+//#define BB_MKTEMP
+//#define BB_NC
 #define BB_MORE
 #define BB_MOUNT
-#define BB_MT
-#define BB_NSLOOKUP
-#define BB_PING
+//#define BB_MT
+//#define BB_NSLOOKUP
+//#define BB_PING
+//#define BB_PIVOT_ROOT
 #define BB_POWEROFF
-#define BB_PRINTF
+//#define BB_PRINTF
 #define BB_PS
 #define BB_PWD
-#define BB_RDATE
-#define BB_READLINK
+//#define BB_RDATE
+//#define BB_READLINK
 #define BB_REBOOT
-#define BB_RENICE
+//#define BB_RENICE
 #define BB_RESET
 #define BB_RM
 #define BB_RMDIR
-#define BB_RMMOD
-#define BB_RPMUNPACK
+//#define BB_RMMOD
+//#define BB_ROUTE
+//#define BB_RPMUNPACK
 #define BB_SED
-#define BB_SETKEYCODES
+//#define BB_SETKEYCODES
 #define BB_SH
 #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_TEE
+//#define BB_TEST
+//#define BB_TELNET
 #define BB_TOUCH
-#define BB_TR
+//#define BB_TR
 #define BB_TRUE_FALSE
 #define BB_TTY
-#define BB_UPTIME
-#define BB_USLEEP
-#define BB_WC
-#define BB_WGET
-#define BB_WHICH
-#define BB_WHOAMI
-#define BB_UUENCODE
-#define BB_UUDECODE
+//#define BB_UUENCODE
+//#define BB_UUDECODE
 #define BB_UMOUNT
 #define BB_UNIQ
 #define BB_UNAME
-#define BB_UNIX2DOS
-#define BB_UPDATE
+//#define BB_UNIX2DOS
+//#define BB_UPDATE
+#define BB_UPTIME
+//#define BB_USLEEP
+//#define BB_WATCHDOG
+#define BB_WC
+//#define BB_WGET
+#define BB_WHICH
+#define BB_WHOAMI
 #define BB_XARGS
 #define BB_YES
 // End of Applications List
@@ -128,28 +134,26 @@
 // pretty/useful).
 //
 //
+// 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
 //
 // 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
-// lots and lots memory for more important things.  You can not use this and
-// USE_PROCFS at the same time...  NOTE:  If you enable this feature, you
-// _must_ have patched the kernel to include the devps patch that is included
-// in the busybox/kernel-patches directory.  You will also need to create some
-// device special files in /dev on your embedded system:
+// lots and lots memory for more important things.  NOTE:  If you enable this
+// feature, you _must_ have patched the kernel to include the devps patch that
+// is included in the busybox/kernel-patches directory.  You will also need to
+// create some device special files in /dev on your embedded system:
 //        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
 //
-// enable features that use the /proc filesystem (apps that 
-// break without this will tell you on compile)...
-// You can't use this and BB_FEATURE_USE_DEVPS_PATCH 
-// at the same time...
-#define BB_FEATURE_USE_PROCFS
-//
 // This compiles out everything but the most 
 // trivial --help usage information (i.e. reduces binary size)
-//#define BB_FEATURE_TRIVIAL_HELP
+#define BB_FEATURE_TRIVIAL_HELP
 //
 // Use termios to manipulate the screen ('more' is prettier with this on)
 #define BB_FEATURE_USE_TERMIOS
@@ -157,7 +161,7 @@
 // calculate terminal & column widths (for more and ls)
 #define BB_FEATURE_AUTOWIDTH
 //
-// show username/groupnames (bypasses libc6 NSS) for ls
+// show username/groupnames for ls
 #define BB_FEATURE_LS_USERNAME
 //
 // show file timestamps in ls
@@ -187,13 +191,8 @@
 //Have init enable core dumping for child processes (for debugging only) 
 //#define BB_FEATURE_INIT_COREDUMPS
 //
-// Allow init to permenently chroot, and umount the old root fs
-// just like an initrd does.  Requires a kernel patch by Werner Almesberger. 
-// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
-//#define BB_FEATURE_INIT_CHROOT
-//
 //Make sure nothing is printed to the console on boot
-#define BB_FEATURE_EXTRA_QUIET
+//#define BB_FEATURE_EXTRA_QUIET
 //
 //Should syslogd also provide klogd support?
 #define BB_FEATURE_KLOGD
@@ -202,7 +201,7 @@
 #define BB_FEATURE_REMOTE_LOG
 //
 //Simple tail implementation (2.34k vs 3k for the full one).
-//Both provide 'tail -f' support (only one file at a time.)
+//Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. 
 #define BB_FEATURE_SIMPLE_TAIL
 //
 // Enable support for loop devices in mount
@@ -232,12 +231,14 @@
 //// Enable reverse sort
 #define BB_FEATURE_SORT_REVERSE
 //
-// Enable command line editing in the shell
+// Enable command line editing in the shell.  
+// Only relevant if BB_SH is enabled.
 #define BB_FEATURE_SH_COMMAND_EDITING
 //
 //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.
+// Only relevant if BB_SH is enabled.
 #define BB_FEATURE_SH_STANDALONE_SHELL
 //
 //When this is enabled, busybox shell applets can be called using full path
@@ -246,29 +247,36 @@
 //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.
-//BB_FEATURE_SH_APPLETS_ALWAYS_WIN
+// Only relevant if BB_SH is enabled.
+#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
 //
-// Enable tab completion in the shell (not yet 
-// working very well -- so don't turn this on)
+// Enable tab completion in the shell.  This is now working quite nicely.
+// This feature adds a bit over 4k. Only relevant if BB_SH is enabled.
 //#define BB_FEATURE_SH_TAB_COMPLETION
 //
+// Enable a simpler shell prompt of the form "path #"
+// instead of the default "[username@hostname path]#"
+//
+// Some deeply embedded systems don't have usernames or even hostnames,
+// and the default prompt can look rather hideous on them. Uncomment
+// this option for a simpler, path-only prompt (which was the default until
+// around BusyBox-0.48):
+#define BB_FEATURE_SH_SIMPLE_PROMPT
+//
+// Attempts to match usernames in a ~-prefixed path
+//#define BB_FEATURE_SH_USERNAME_COMPLETION
+//
 //Turn on extra fbset options
 //#define BB_FEATURE_FBSET_FANCY
 //
 //Turn on fbset readmode support
 //#define BB_FEATURE_FBSET_READMODE
 //
-// You must enable one or both of these features
-// Support installing modules from pre 2.1 kernels
-//#define BB_FEATURE_INSMOD_OLD_KERNEL
-// Support installing modules from kernel versions after 2.1.18
-#define BB_FEATURE_INSMOD_NEW_KERNEL
+// Support insmod/lsmod/rmmod for post 2.1 kernels
+//#define BB_FEATURE_NEW_MODULE_INTERFACE
 //
-// You must enable one or both of these features
-// Support modules status from pre 2.1 kernels
-//#define BB_FEATURE_LSMOD_OLD_KERNEL
-// Support modules status from kernel versions after 2.1.18
-#define BB_FEATURE_LSMOD_NEW_KERNEL
+// Support insmod/lsmod/rmmod for pre 2.1 kernels
+//#define BB_FEATURE_OLD_MODULE_INTERFACE
 //
 // Support module version checking
 //#define BB_FEATURE_INSMOD_VERSION_CHECKING
@@ -280,16 +288,31 @@
 // 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 BB_FEATURE_INSTALLER
 //
 // Enable a nifty progress meter in wget (adds just under 2k)
-#define BB_FEATURE_STATUSBAR
+#define BB_FEATURE_WGET_STATUSBAR
 //
 // 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
 //
+// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G)
+#define BB_FEATURE_HUMAN_READABLE
+//
+// Support for the find -type option.
+#define BB_FEATURE_FIND_TYPE
+//
+// Support for the find -perm option.
+#define BB_FEATURE_FIND_PERM
+//
+// Support for the find -mtine option.
+#define BB_FEATURE_FIND_MTIME
+//
+// Support for the -A -B and -C context flags in grep
+//#define BB_FEATURE_GREP_CONTEXT
+//
 // End of Features List
 //
 //
@@ -301,9 +324,13 @@
 // Nothing beyond this point should ever be touched by 
 // mere mortals so leave this stuff alone.
 //
+#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF
 #ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
 #define BB_MTAB
 #endif
+#else
+#undef BB_MTAB
+#endif	
 //
 #if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
 #define BB_CMDEDIT
@@ -315,11 +342,9 @@
 #endif
 #endif
 //
-#ifdef BB_FEATURE_LINUXRC
 #ifndef BB_INIT
-#define BB_INIT
-#endif
-#define BB_LINUXRC
+#undef BB_LINUXRC
+#undef BB_FEATURE_LINUXRC
 #endif
 //
 #ifdef BB_GZIP
@@ -328,6 +353,12 @@
 #endif
 #endif
 //
+#ifdef BB_DPKG
+#ifndef BB_DPKG_DEB
+#define BB_DPKG_DEB
+#endif
+#endif
+//
 #ifdef BB_DPKG_DEB
 #ifndef BB_AR
 #define BB_AR
@@ -364,8 +395,8 @@
 #endif
 #endif
 //
-#if defined BB_INSMOD
-#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
-#define BB_FEATURE_INSMOD_NEW_KERNEL
+#if defined BB_INSMOD || defined BB_LSMOD
+#ifndef BB_FEATURE_NEW_MODULE_INTERFACE
+#define BB_FEATURE_NEW_MODULE_INTERFACE
 #endif
 #endif
diff --git a/debian/Config.h-static b/debian/Config.h-static
new file mode 100644
index 0000000..9dc2215
--- /dev/null
+++ b/debian/Config.h-static
@@ -0,0 +1,402 @@
+/* vi: set sw=4 ts=4: */
+// This file defines the feature set to be compiled into busybox.
+// 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
+//
+//
+// BusyBox Applications
+#define BB_AR
+#define BB_BASENAME
+#define BB_CAT
+#define BB_CHMOD_CHOWN_CHGRP
+#define BB_CHROOT
+#define BB_CHVT
+#define BB_CLEAR
+#define BB_CMP
+#define BB_CP_MV
+#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_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_ID
+#define BB_IFCONFIG
+#define BB_INIT
+//#define BB_INSMOD
+#define BB_KILL
+#define BB_KILLALL
+#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_NC
+#define BB_MORE
+#define BB_MOUNT
+#define BB_MT
+#define BB_NSLOOKUP
+#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_RPMUNPACK
+#define BB_SED
+#define BB_SETKEYCODES
+#define BB_SH
+#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_TOUCH
+#define BB_TR
+#define BB_TRUE_FALSE
+#define BB_TTY
+#define BB_UUENCODE
+#define BB_UUDECODE
+#define BB_UMOUNT
+#define BB_UNIQ
+#define BB_UNAME
+#define BB_UNIX2DOS
+#define BB_UPDATE
+#define BB_UPTIME
+#define BB_USLEEP
+#define BB_WATCHDOG
+#define BB_WC
+#define BB_WGET
+#define BB_WHICH
+#define BB_WHOAMI
+#define BB_XARGS
+#define BB_YES
+// End of Applications List
+//
+//
+//
+// ---------------------------------------------------------
+// This is where feature definitions go.  Generally speaking,
+// turning this stuff off makes things a bit smaller (and less 
+// pretty/useful).
+//
+//
+// 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
+//
+// 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
+// lots and lots memory for more important things.  NOTE:  If you enable this
+// feature, you _must_ have patched the kernel to include the devps patch that
+// is included in the busybox/kernel-patches directory.  You will also need to
+// create some device special files in /dev on your embedded system:
+//        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
+//
+// This compiles out everything but the most 
+// trivial --help usage information (i.e. reduces binary size)
+//#define BB_FEATURE_TRIVIAL_HELP
+//
+// Use termios to manipulate the screen ('more' is prettier with this on)
+#define BB_FEATURE_USE_TERMIOS
+//
+// calculate terminal & column widths (for more and ls)
+#define BB_FEATURE_AUTOWIDTH
+//
+// show username/groupnames for ls
+#define BB_FEATURE_LS_USERNAME
+//
+// show file timestamps in ls
+#define BB_FEATURE_LS_TIMESTAMPS
+//
+// enable ls -p and -F
+#define BB_FEATURE_LS_FILETYPES
+//
+// sort the file names
+#define BB_FEATURE_LS_SORTFILES
+//
+// enable ls -R
+#define BB_FEATURE_LS_RECURSIVE
+//
+// enable ls -L
+#define BB_FEATURE_LS_FOLLOWLINKS
+//
+// Change ping implementation -- simplified, featureless, but really small.
+//#define BB_FEATURE_SIMPLE_PING
+//
+// Make init use a simplified /etc/inittab file (recommended).
+#define BB_FEATURE_USE_INITTAB
+//
+//Enable init being called as /linuxrc
+#define BB_FEATURE_LINUXRC
+//
+//Have init enable core dumping for child processes (for debugging only) 
+//#define BB_FEATURE_INIT_COREDUMPS
+//
+//Make sure nothing is printed to the console on boot
+//#define BB_FEATURE_EXTRA_QUIET
+//
+//Should syslogd also provide klogd support?
+#define BB_FEATURE_KLOGD
+//
+// enable syslogd -R remotehost
+#define BB_FEATURE_REMOTE_LOG
+//
+//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_SIMPLE_TAIL
+//
+// Enable support for loop devices in mount
+#define BB_FEATURE_MOUNT_LOOP
+//
+// Enable support for a real /etc/mtab file instead of /proc/mounts
+//#define BB_FEATURE_MOUNT_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
+//
+// Enable support forced filesystem unmounting 
+// (i.e. in case of an unreachable NFS system).
+#define BB_FEATURE_MOUNT_FORCE
+//
+// Enable support for creation of tar files.
+#define BB_FEATURE_TAR_CREATE
+//
+// Enable support for "--exclude" and "-X" for excluding files
+#define BB_FEATURE_TAR_EXCLUDE
+//
+// Enable support for tar -z option (currently only works for inflating)
+#define BB_FEATURE_TAR_GZIP 
+//
+//// Enable reverse sort
+#define BB_FEATURE_SORT_REVERSE
+//
+// Enable command line editing in the shell.  
+// Only relevant if BB_SH is enabled.
+#define BB_FEATURE_SH_COMMAND_EDITING
+//
+//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.
+// Only relevant if BB_SH is enabled.
+#define BB_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 relevant if BB_SH is enabled.
+#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
+//
+// Enable tab completion in the shell.  This is now working quite nicely.
+// This feature adds a bit over 4k. Only relevant if BB_SH is enabled.
+#define BB_FEATURE_SH_TAB_COMPLETION
+//
+// Enable a simpler shell prompt of the form "path #"
+// instead of the default "[username@hostname path]#"
+//
+// Some deeply embedded systems don't have usernames or even hostnames,
+// and the default prompt can look rather hideous on them. Uncomment
+// this option for a simpler, path-only prompt (which was the default until
+// around BusyBox-0.48):
+#define BB_FEATURE_SH_SIMPLE_PROMPT
+//
+// Attempts to match usernames in a ~-prefixed path
+//#define BB_FEATURE_SH_USERNAME_COMPLETION
+//
+//Turn on extra fbset options
+#define BB_FEATURE_FBSET_FANCY
+//
+//Turn on fbset readmode support
+#define BB_FEATURE_FBSET_READMODE
+//
+// Support insmod/lsmod/rmmod for post 2.1 kernels
+//#define BB_FEATURE_NEW_MODULE_INTERFACE
+//
+// Support insmod/lsmod/rmmod for pre 2.1 kernels
+//#define BB_FEATURE_OLD_MODULE_INTERFACE
+//
+// Support module version checking
+//#define BB_FEATURE_INSMOD_VERSION_CHECKING
+//
+// Support for Minix filesystem, version 2
+//#define BB_FEATURE_MINIX2
+//
+//
+// 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
+//
+// Enable a nifty progress meter in wget (adds just under 2k)
+#define BB_FEATURE_WGET_STATUSBAR
+//
+// 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
+//
+// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G)
+#define BB_FEATURE_HUMAN_READABLE
+//
+// Support for the find -type option.
+#define BB_FEATURE_FIND_TYPE
+//
+// Support for the find -perm option.
+#define BB_FEATURE_FIND_PERM
+//
+// Support for the find -mtine option.
+#define BB_FEATURE_FIND_MTIME
+//
+// Support for the -A -B and -C context flags in grep
+//#define BB_FEATURE_GREP_CONTEXT
+//
+// End of Features List
+//
+//
+//
+//
+//
+//
+//---------------------------------------------------
+// Nothing beyond this point should ever be touched by 
+// mere mortals so leave this stuff alone.
+//
+#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF
+#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
+#define BB_MTAB
+#endif
+#else
+#undef BB_MTAB
+#endif	
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
+#define BB_CMDEDIT
+#endif
+//
+#ifdef BB_KILLALL
+#ifndef BB_KILL
+#define BB_KILL
+#endif
+#endif
+//
+#ifndef BB_INIT
+#undef BB_LINUXRC
+#undef BB_FEATURE_LINUXRC
+#endif
+//
+#ifdef BB_GZIP
+#ifndef BB_GUNZIP
+#define BB_GUNZIP
+#endif
+#endif
+//
+#ifdef BB_DPKG
+#ifndef BB_DPKG_DEB
+#define BB_DPKG_DEB
+#endif
+#endif
+//
+#ifdef BB_DPKG_DEB
+#ifndef BB_AR
+#define BB_AR
+#endif
+#ifndef BB_TAR
+#define BB_TAR
+#endif 
+#ifndef BB_FEATURE_TAR_GZIP
+#define BB_FEATURE_TAR_GZIP
+#endif
+#endif
+//
+#ifdef BB_TAR
+#ifdef BB_FEATURE_TAR_GZIP
+#ifndef BB_GUNZIP
+#define BB_GUNZIP
+#endif
+#endif
+#endif
+//
+#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
+#define BB_NFSMOUNT
+#endif
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_FEATURE_AUTOWIDTH
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_INSMOD || defined BB_LSMOD
+#ifndef BB_FEATURE_NEW_MODULE_INTERFACE
+#define BB_FEATURE_NEW_MODULE_INTERFACE
+#endif
+#endif
diff --git a/debian/Config.h-udeb b/debian/Config.h-udeb
index 769ff28..2bd3ed2 100644
--- a/debian/Config.h-udeb
+++ b/debian/Config.h-udeb
@@ -7,12 +7,12 @@
 //
 //
 // BusyBox Applications
-#define BB_AR
+//#define BB_AR
 #define BB_BASENAME
 #define BB_CAT
 #define BB_CHMOD_CHOWN_CHGRP
 #define BB_CHROOT
-//#define BB_CHVT
+#define BB_CHVT
 #define BB_CLEAR
 //#define BB_CMP
 #define BB_CP_MV
@@ -25,17 +25,18 @@
 #define BB_DIRNAME
 #define BB_DMESG
 //#define BB_DOS2UNIX
-#define BB_DPKG_DEB
+//#define BB_DPKG
+//#define BB_DPKG_DEB
 //#define BB_DUTMP
 #define BB_DU
 //#define BB_DUMPKMAP
 #define BB_ECHO
-#define BB_EXPR
-#define BB_FBSET
+//#define BB_EXPR
+//#define BB_FBSET
 //#define BB_FDFLUSH
 #define BB_FIND
 #define BB_FREE
-#define BB_FREERAMDISK
+//#define BB_FREERAMDISK
 //#define BB_FSCK_MINIX
 //#define BB_GETOPT
 #define BB_GREP
@@ -43,9 +44,10 @@
 #define BB_GZIP
 #define BB_HALT
 #define BB_HEAD
-#define BB_HOSTID
-#define BB_HOSTNAME
+//#define BB_HOSTID
+//#define BB_HOSTNAME
 #define BB_ID
+//#define BB_IFCONFIG
 #define BB_INIT
 //#define BB_INSMOD
 #define BB_KILL
@@ -58,7 +60,7 @@
 #define BB_LOGGER
 //#define BB_LOGNAME
 #define BB_LS
-//#define BB_LSMOD
+#define BB_LSMOD
 //#define BB_MAKEDEVS
 //#define BB_MD5SUM
 #define BB_MKDIR
@@ -66,13 +68,14 @@
 //#define BB_MKFS_MINIX
 #define BB_MKNOD
 #define BB_MKSWAP
-#define BB_MKTEMP
+//#define BB_MKTEMP
 //#define BB_NC
 #define BB_MORE
 #define BB_MOUNT
 //#define BB_MT
 //#define BB_NSLOOKUP
 //#define BB_PING
+//#define BB_PIVOT_ROOT
 #define BB_POWEROFF
 //#define BB_PRINTF
 #define BB_PS
@@ -85,12 +88,14 @@
 #define BB_RM
 #define BB_RMDIR
 //#define BB_RMMOD
+//#define BB_ROUTE
 //#define BB_RPMUNPACK
 #define BB_SED
 //#define BB_SETKEYCODES
-//#define BB_SH
+#define BB_SH
 #define BB_SLEEP
-//#define BB_SORT
+#define BB_SORT
+//#define BB_STTY
 #define BB_SWAPONOFF
 #define BB_SYNC
 #define BB_SYSLOGD
@@ -102,20 +107,21 @@
 #define BB_TOUCH
 //#define BB_TR
 #define BB_TRUE_FALSE
-//#define BB_TTY
-#define BB_UPTIME
-//#define BB_USLEEP
-//#define BB_WC
-//#define BB_WGET
-#define BB_WHICH
-#define BB_WHOAMI
+#define BB_TTY
 //#define BB_UUENCODE
 //#define BB_UUDECODE
 #define BB_UMOUNT
-//#define BB_UNIQ
+#define BB_UNIQ
 #define BB_UNAME
 //#define BB_UNIX2DOS
 //#define BB_UPDATE
+#define BB_UPTIME
+//#define BB_USLEEP
+//#define BB_WATCHDOG
+#define BB_WC
+//#define BB_WGET
+#define BB_WHICH
+#define BB_WHOAMI
 #define BB_XARGS
 #define BB_YES
 // End of Applications List
@@ -128,25 +134,23 @@
 // pretty/useful).
 //
 //
+// 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
 //
 // 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
-// lots and lots memory for more important things.  You can not use this and
-// USE_PROCFS at the same time...  NOTE:  If you enable this feature, you
-// _must_ have patched the kernel to include the devps patch that is included
-// in the busybox/kernel-patches directory.  You will also need to create some
-// device special files in /dev on your embedded system:
+// lots and lots memory for more important things.  NOTE:  If you enable this
+// feature, you _must_ have patched the kernel to include the devps patch that
+// is included in the busybox/kernel-patches directory.  You will also need to
+// create some device special files in /dev on your embedded system:
 //        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
 //
-// enable features that use the /proc filesystem (apps that 
-// break without this will tell you on compile)...
-// You can't use this and BB_FEATURE_USE_DEVPS_PATCH 
-// at the same time...
-#define BB_FEATURE_USE_PROCFS
-//
 // This compiles out everything but the most 
 // trivial --help usage information (i.e. reduces binary size)
 #define BB_FEATURE_TRIVIAL_HELP
@@ -157,7 +161,7 @@
 // calculate terminal & column widths (for more and ls)
 #define BB_FEATURE_AUTOWIDTH
 //
-// show username/groupnames (bypasses libc6 NSS) for ls
+// show username/groupnames for ls
 #define BB_FEATURE_LS_USERNAME
 //
 // show file timestamps in ls
@@ -187,11 +191,6 @@
 //Have init enable core dumping for child processes (for debugging only) 
 //#define BB_FEATURE_INIT_COREDUMPS
 //
-// Allow init to permenently chroot, and umount the old root fs
-// just like an initrd does.  Requires a kernel patch by Werner Almesberger. 
-// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
-//#define BB_FEATURE_INIT_CHROOT
-//
 //Make sure nothing is printed to the console on boot
 //#define BB_FEATURE_EXTRA_QUIET
 //
@@ -199,10 +198,10 @@
 #define BB_FEATURE_KLOGD
 //
 // enable syslogd -R remotehost
-//#define BB_FEATURE_REMOTE_LOG
+#define BB_FEATURE_REMOTE_LOG
 //
 //Simple tail implementation (2.34k vs 3k for the full one).
-//Both provide 'tail -f' support (only one file at a time.)
+//Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. 
 #define BB_FEATURE_SIMPLE_TAIL
 //
 // Enable support for loop devices in mount
@@ -221,10 +220,10 @@
 #define BB_FEATURE_MOUNT_FORCE
 //
 // Enable support for creation of tar files.
-//#define BB_FEATURE_TAR_CREATE
+#define BB_FEATURE_TAR_CREATE
 //
 // Enable support for "--exclude" and "-X" for excluding files
-//#define BB_FEATURE_TAR_EXCLUDE
+#define BB_FEATURE_TAR_EXCLUDE
 //
 // Enable support for tar -z option (currently only works for inflating)
 #define BB_FEATURE_TAR_GZIP 
@@ -232,13 +231,15 @@
 //// Enable reverse sort
 #define BB_FEATURE_SORT_REVERSE
 //
-// Enable command line editing in the shell
+// Enable command line editing in the shell.  
+// Only relevant if BB_SH is enabled.
 #define BB_FEATURE_SH_COMMAND_EDITING
 //
 //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.
-//#define BB_FEATURE_SH_STANDALONE_SHELL
+// Only relevant if BB_SH is enabled.
+#define BB_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
@@ -246,29 +247,36 @@
 //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.
-//BB_FEATURE_SH_APPLETS_ALWAYS_WIN
+// Only relevant if BB_SH is enabled.
+#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN
 //
-// Enable tab completion in the shell (not yet 
-// working very well -- so don't turn this on)
+// Enable tab completion in the shell.  This is now working quite nicely.
+// This feature adds a bit over 4k. Only relevant if BB_SH is enabled.
 //#define BB_FEATURE_SH_TAB_COMPLETION
 //
+// Enable a simpler shell prompt of the form "path #"
+// instead of the default "[username@hostname path]#"
+//
+// Some deeply embedded systems don't have usernames or even hostnames,
+// and the default prompt can look rather hideous on them. Uncomment
+// this option for a simpler, path-only prompt (which was the default until
+// around BusyBox-0.48):
+#define BB_FEATURE_SH_SIMPLE_PROMPT
+//
+// Attempts to match usernames in a ~-prefixed path
+//#define BB_FEATURE_SH_USERNAME_COMPLETION
+//
 //Turn on extra fbset options
 //#define BB_FEATURE_FBSET_FANCY
 //
 //Turn on fbset readmode support
 //#define BB_FEATURE_FBSET_READMODE
 //
-// You must enable one or both of these features
-// Support installing modules from pre 2.1 kernels
-//#define BB_FEATURE_INSMOD_OLD_KERNEL
-// Support installing modules from kernel versions after 2.1.18
-#define BB_FEATURE_INSMOD_NEW_KERNEL
+// Support insmod/lsmod/rmmod for post 2.1 kernels
+//#define BB_FEATURE_NEW_MODULE_INTERFACE
 //
-// You must enable one or both of these features
-// Support modules status from pre 2.1 kernels
-//#define BB_FEATURE_LSMOD_OLD_KERNEL
-// Support modules status from kernel versions after 2.1.18
-#define BB_FEATURE_LSMOD_NEW_KERNEL
+// Support insmod/lsmod/rmmod for pre 2.1 kernels
+//#define BB_FEATURE_OLD_MODULE_INTERFACE
 //
 // Support module version checking
 //#define BB_FEATURE_INSMOD_VERSION_CHECKING
@@ -283,13 +291,28 @@
 // #define BB_FEATURE_INSTALLER
 //
 // Enable a nifty progress meter in wget (adds just under 2k)
-#define BB_FEATURE_STATUSBAR
+#define BB_FEATURE_WGET_STATUSBAR
 //
 // 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
 //
+// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G)
+#define BB_FEATURE_HUMAN_READABLE
+//
+// Support for the find -type option.
+#define BB_FEATURE_FIND_TYPE
+//
+// Support for the find -perm option.
+#define BB_FEATURE_FIND_PERM
+//
+// Support for the find -mtine option.
+#define BB_FEATURE_FIND_MTIME
+//
+// Support for the -A -B and -C context flags in grep
+//#define BB_FEATURE_GREP_CONTEXT
+//
 // End of Features List
 //
 //
@@ -301,9 +324,13 @@
 // Nothing beyond this point should ever be touched by 
 // mere mortals so leave this stuff alone.
 //
+#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF
 #ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
 #define BB_MTAB
 #endif
+#else
+#undef BB_MTAB
+#endif	
 //
 #if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
 #define BB_CMDEDIT
@@ -315,11 +342,9 @@
 #endif
 #endif
 //
-#ifdef BB_FEATURE_LINUXRC
 #ifndef BB_INIT
-#define BB_INIT
-#endif
-#define BB_LINUXRC
+#undef BB_LINUXRC
+#undef BB_FEATURE_LINUXRC
 #endif
 //
 #ifdef BB_GZIP
@@ -328,6 +353,12 @@
 #endif
 #endif
 //
+#ifdef BB_DPKG
+#ifndef BB_DPKG_DEB
+#define BB_DPKG_DEB
+#endif
+#endif
+//
 #ifdef BB_DPKG_DEB
 #ifndef BB_AR
 #define BB_AR
@@ -364,8 +395,8 @@
 #endif
 #endif
 //
-#if defined BB_INSMOD
-#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
-#define BB_FEATURE_INSMOD_NEW_KERNEL
+#if defined BB_INSMOD || defined BB_LSMOD
+#ifndef BB_FEATURE_NEW_MODULE_INTERFACE
+#define BB_FEATURE_NEW_MODULE_INTERFACE
 #endif
 #endif
diff --git a/debian/rules b/debian/rules
index 0784786..6604a35 100755
--- a/debian/rules
+++ b/debian/rules
@@ -27,6 +27,7 @@
 	dh_testdir
 	mkdir -p $(bbbd)
 	cp Makefile $(bbbd)
+	-(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" applet_source_list)
 	cp debian/Config.h-deb $(bbbd)/Config.h
 	(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../")
 	touch debian/build-stamp-busybox
@@ -52,7 +53,7 @@
 	dh_testdir
 	mkdir -p $(bbsbd)
 	cp Makefile $(bbsbd)
-	cp debian/Config.h-deb $(bbsbd)/Config.h
+	cp debian/Config.h-static $(bbsbd)/Config.h
 	(cd $(bbsbd); $(MAKE) DOSTATIC=true "BB_SRC_DIR=../../")
 	touch debian/build-stamp-busybox-static
 
