update busybox support
[nestedvm.git] / upstream / patches / busybox.patch
index c766e45..24c99d7 100644 (file)
@@ -1,48 +1,38 @@
-Only in .: .config
-Only in .: .config.cmd
-Only in .: .config~
-Only in .: .depend
-Only in .: BusyBox.class
-diff -ru ../busybox-1.00-pre9/Rules.mak ./Rules.mak
---- ../busybox-1.00-pre9/Rules.mak     2004-04-06 13:58:37.000000000 -0400
-+++ ./Rules.mak        2004-05-07 04:16:02.000000000 -0400
-@@ -79,7 +79,8 @@
- #CROSS_CFLAGS+=-nostdinc -I$(LIBCDIR)/include -I$(GCCINCDIR)
- #GCCINCDIR:=$(shell gcc -print-search-dirs | sed -ne "s/install: \(.*\)/\1include/gp")
--WARNINGS=-Wall -Wstrict-prototypes -Wshadow
-+WARNINGS=-Wall -Wstrict-prototypes -Wshadow -Wno-unused
-+LIBRARIES=-lglob -lregex
- CFLAGS=-I$(TOPDIR)include
- ARFLAGS=-r
-@@ -158,8 +159,8 @@
-     STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
- else
-     CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
--    LDFLAGS += -s -Wl,-warn-common
--    STRIPCMD:=$(STRIP) --remove-section=.note --remove-section=.comment
-+    LDFLAGS += -Wl,-warn-common
-+    STRIPCMD:= true
- endif
- ifeq ($(strip $(CONFIG_STATIC)),y)
-     LDFLAGS += --static
-diff -ru ../busybox-1.00-pre9/archival/tar.c ./archival/tar.c
---- ../busybox-1.00-pre9/archival/tar.c        2004-03-27 05:02:41.000000000 -0500
-+++ ./archival/tar.c   2004-05-07 01:16:41.000000000 -0400
-@@ -48,7 +48,9 @@
+diff -Bubr ../busybox-1.00+/archival/libunarchive/decompress_bunzip2.c ./archival/libunarchive/decompress_bunzip2.c
+--- ../busybox-1.00+/archival/libunarchive/decompress_bunzip2.c        2004-08-27 17:43:05.000000000 -0700
++++ ./archival/libunarchive/decompress_bunzip2.c       2009-06-07 15:10:37.000000000 -0700
+@@ -136,7 +136,7 @@
+ {
+       /* Note: Ignore the warning about hufGroup, base and limit being used uninitialized.
+        * They will be initialized on the fist pass of the loop. */
+-      struct group_data *hufGroup;
++      struct group_data *hufGroup=NULL;
+       int dbufCount,nextSym,dbufSize,groupCount,*base,*limit,selector,
+               i,j,k,t,runPos,symCount,symTotal,nSelectors,byteCount[256];
+       unsigned char uc, symToByte[256], mtfSymbol[256], *selectors;
+Only in ./archival/libunarchive: decompress_bunzip2.c.orig
+diff -Bubr ../busybox-1.00+/archival/tar.c ./archival/tar.c
+--- ../busybox-1.00+/archival/tar.c    2004-08-26 15:18:56.000000000 -0700
++++ ./archival/tar.c   2009-06-07 15:19:14.000000000 -0700
+@@ -48,8 +48,10 @@
  #include <errno.h>
  #include <signal.h>
  #include <sys/wait.h>
 +#ifndef NESTEDVM
  #include <sys/socket.h>
+ #include <sys/sysmacros.h>     /* major() and minor() */
 +#endif
  #include "unarchive.h"
  #include "busybox.h"
  
-diff -ru ../busybox-1.00-pre9/coreutils/cal.c ./coreutils/cal.c
---- ../busybox-1.00-pre9/coreutils/cal.c       2004-03-15 03:28:19.000000000 -0500
-+++ ./coreutils/cal.c  2004-05-07 01:19:34.000000000 -0400
+Only in ./archival: tar.c.orig
+Only in .: busybox-1.00-pre9
+Only in .: .config
+Only in .: .config.cmd
+Only in .: .config.old
+diff -Bubr ../busybox-1.00+/coreutils/cal.c ./coreutils/cal.c
+--- ../busybox-1.00+/coreutils/cal.c   2004-04-14 10:51:09.000000000 -0700
++++ ./coreutils/cal.c  2009-06-07 15:08:50.000000000 -0700
 @@ -31,7 +31,9 @@
  
  #include <sys/types.h>
@@ -53,10 +43,10 @@ diff -ru ../busybox-1.00-pre9/coreutils/cal.c ./coreutils/cal.c
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
-diff -ru ../busybox-1.00-pre9/coreutils/date.c ./coreutils/date.c
---- ../busybox-1.00-pre9/coreutils/date.c      2004-04-06 05:38:18.000000000 -0400
-+++ ./coreutils/date.c 2004-05-07 03:14:51.000000000 -0400
-@@ -227,7 +227,11 @@
+diff -Bubr ../busybox-1.00+/coreutils/date.c ./coreutils/date.c
+--- ../busybox-1.00+/coreutils/date.c  2004-10-11 13:52:16.000000000 -0700
++++ ./coreutils/date.c 2009-06-07 15:08:50.000000000 -0700
+@@ -236,7 +236,11 @@
                }
  
                /* if setting time, set it */
@@ -68,9 +58,40 @@ diff -ru ../busybox-1.00-pre9/coreutils/date.c ./coreutils/date.c
                        bb_perror_msg("cannot set date");
                }
        }
-diff -ru ../busybox-1.00-pre9/coreutils/dos2unix.c ./coreutils/dos2unix.c
---- ../busybox-1.00-pre9/coreutils/dos2unix.c  2004-03-15 03:28:20.000000000 -0500
-+++ ./coreutils/dos2unix.c     2004-05-07 04:11:32.000000000 -0400
+Only in ./coreutils: date.c.orig
+diff -Bubr ../busybox-1.00+/coreutils/df.c ./coreutils/df.c
+--- ../busybox-1.00+/coreutils/df.c    2004-08-02 17:14:01.000000000 -0700
++++ ./coreutils/df.c   2009-06-07 15:20:57.000000000 -0700
+@@ -35,8 +35,10 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
++#ifndef NESTEDVM
+ #include <mntent.h>
+ #include <sys/vfs.h>
++#endif
+ #include "busybox.h"
+ #ifndef CONFIG_FEATURE_HUMAN_READABLE
+@@ -46,6 +48,7 @@
+ }
+ #endif
++#ifndef NESTEDVM
+ extern int df_main(int argc, char **argv)
+ {
+       long blocks_used;
+@@ -160,6 +163,7 @@
+       bb_fflush_stdout_and_exit(status);
+ }
++#endif
+ /*
+ Local Variables:
+diff -Bubr ../busybox-1.00+/coreutils/dos2unix.c ./coreutils/dos2unix.c
+--- ../busybox-1.00+/coreutils/dos2unix.c      2004-05-05 12:39:21.000000000 -0700
++++ ./coreutils/dos2unix.c     2009-06-07 15:08:50.000000000 -0700
 @@ -30,7 +30,9 @@
  #include <string.h>
  #include <getopt.h>
@@ -81,9 +102,9 @@ diff -ru ../busybox-1.00-pre9/coreutils/dos2unix.c ./coreutils/dos2unix.c
  #include <fcntl.h>
  #include <sys/time.h>
  #include "busybox.h"
-diff -ru ../busybox-1.00-pre9/coreutils/env.c ./coreutils/env.c
---- ../busybox-1.00-pre9/coreutils/env.c       2003-11-07 06:20:21.000000000 -0500
-+++ ./coreutils/env.c  2004-05-07 01:21:10.000000000 -0400
+diff -Bubr ../busybox-1.00+/coreutils/env.c ./coreutils/env.c
+--- ../busybox-1.00+/coreutils/env.c   2004-04-16 08:02:10.000000000 -0700
++++ ./coreutils/env.c  2009-06-07 15:08:50.000000000 -0700
 @@ -50,12 +50,13 @@
  #include <getopt.h>
  #include "busybox.h"
@@ -99,37 +120,59 @@ diff -ru ../busybox-1.00-pre9/coreutils/env.c ./coreutils/env.c
  
  extern int env_main(int argc, char** argv)
  {
-diff -ru ../busybox-1.00-pre9/coreutils/ls.c ./coreutils/ls.c
---- ../busybox-1.00-pre9/coreutils/ls.c        2004-03-27 05:02:42.000000000 -0500
-+++ ./coreutils/ls.c   2004-05-08 02:33:40.000000000 -0400
-@@ -59,8 +59,10 @@
+diff -Bubr ../busybox-1.00+/coreutils/expr.c ./coreutils/expr.c
+--- ../busybox-1.00+/coreutils/expr.c  2004-04-14 10:51:09.000000000 -0700
++++ ./coreutils/expr.c 2009-06-07 15:22:16.000000000 -0700
+@@ -244,6 +244,7 @@
+ static VALUE *docolon (VALUE *sv, VALUE *pv)
+ {
++#ifndef NESTEDVM
+       VALUE *v;
+       const char *errmsg;
+       struct re_pattern_buffer re_buffer;
+@@ -291,6 +292,9 @@
+       }
+       free (re_buffer.buffer);
+       return v;
++#else
++        return NULL;
++#endif
+ }
+ /* Handle bare operands and ( expr ) syntax.  */
+diff -Bubr ../busybox-1.00+/coreutils/ls.c ./coreutils/ls.c
+--- ../busybox-1.00+/coreutils/ls.c    2004-09-23 19:04:13.000000000 -0700
++++ ./coreutils/ls.c   2009-06-07 15:22:37.000000000 -0700
+@@ -59,9 +59,11 @@
  #include <stdlib.h>
  #include <fcntl.h>
  #include <signal.h>
 +#ifndef NESTEDVM
  #include <termios.h>
  #include <sys/ioctl.h>
+ #include <sys/sysmacros.h>     /* major() and minor() */
 +#endif
  #include "busybox.h"
  #ifdef CONFIG_SELINUX
  #include <fs_secure.h>
-@@ -988,8 +990,11 @@
+@@ -984,8 +986,11 @@
  #endif
  
  #ifdef CONFIG_FEATURE_LS_COLOR
 -      if (isatty(STDOUT_FILENO))
--              show_color = 1;
 +    {
 +        char *term = getenv("TERM");
 +        if (isatty(STDOUT_FILENO) && term && *term)
-+            show_color = 1;
+               show_color = 1;
 +    }
  #endif
  
        /* process options */
-diff -ru ../busybox-1.00-pre9/coreutils/md5_sha1_sum.c ./coreutils/md5_sha1_sum.c
---- ../busybox-1.00-pre9/coreutils/md5_sha1_sum.c      2004-03-27 05:02:42.000000000 -0500
-+++ ./coreutils/md5_sha1_sum.c 2004-05-07 01:26:00.000000000 -0400
+Only in ./coreutils: ls.c.orig
+diff -Bubr ../busybox-1.00+/coreutils/md5_sha1_sum.c ./coreutils/md5_sha1_sum.c
+--- ../busybox-1.00+/coreutils/md5_sha1_sum.c  2004-04-14 10:51:09.000000000 -0700
++++ ./coreutils/md5_sha1_sum.c 2009-06-07 15:08:50.000000000 -0700
 @@ -20,7 +20,9 @@
  #include <fcntl.h>
  #include <limits.h>
@@ -140,9 +183,9 @@ diff -ru ../busybox-1.00-pre9/coreutils/md5_sha1_sum.c ./coreutils/md5_sha1_sum.
  #include <stdlib.h>
  #include <string.h>
  #include <unistd.h>
-diff -ru ../busybox-1.00-pre9/coreutils/rmdir.c ./coreutils/rmdir.c
---- ../busybox-1.00-pre9/coreutils/rmdir.c     2004-03-15 03:28:21.000000000 -0500
-+++ ./coreutils/rmdir.c        2004-05-07 01:25:41.000000000 -0400
+diff -Bubr ../busybox-1.00+/coreutils/rmdir.c ./coreutils/rmdir.c
+--- ../busybox-1.00+/coreutils/rmdir.c 2004-03-15 00:28:21.000000000 -0800
++++ ./coreutils/rmdir.c        2009-06-07 15:08:50.000000000 -0700
 @@ -25,7 +25,9 @@
  
  #include <stdlib.h>
@@ -153,9 +196,56 @@ diff -ru ../busybox-1.00-pre9/coreutils/rmdir.c ./coreutils/rmdir.c
  #include "busybox.h"
  
  extern int rmdir_main(int argc, char **argv)
-diff -ru ../busybox-1.00-pre9/include/busybox.h ./include/busybox.h
---- ../busybox-1.00-pre9/include/busybox.h     2004-03-15 03:28:38.000000000 -0500
-+++ ./include/busybox.h        2004-05-07 01:11:01.000000000 -0400
+diff -Bubr ../busybox-1.00+/editors/vi.c ./editors/vi.c
+--- ../busybox-1.00+/editors/vi.c      2004-08-19 12:15:06.000000000 -0700
++++ ./editors/vi.c     2009-06-07 15:24:23.000000000 -0700
+@@ -68,7 +68,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifndef NESTEDVM
+ #include <termios.h>
++#endif
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+@@ -183,7 +185,9 @@
+ static Byte *screenbegin;     // index into text[], of top line on the screen
+ static Byte *dot;             // where all the action takes place
+ static int tabstop;
++#ifndef NESTEDVM
+ static struct termios term_orig, term_vi;     // remember what the cooked mode was
++#endif
+ static Byte erase_char;         // the users erase character
+ static Byte last_input_char;    // last char read from user
+ static Byte last_forward_char;  // last char searched for with 'f'
+@@ -2113,6 +2117,7 @@
+ //----- Set terminal attributes --------------------------------
+ static void rawmode(void)
+ {
++#ifndef NESTEDVM
+       tcgetattr(0, &term_orig);
+       term_vi = term_orig;
+       term_vi.c_lflag &= (~ICANON & ~ECHO);   // leave ISIG ON- allow intr's
+@@ -2122,12 +2127,15 @@
+       term_vi.c_cc[VTIME] = 0;
+       erase_char = term_vi.c_cc[VERASE];
+       tcsetattr(0, TCSANOW, &term_vi);
++#endif
+ }
+ static void cookmode(void)
+ {
+       fflush(stdout);
++#ifndef NESTEDVM
+       tcsetattr(0, TCSANOW, &term_orig);
++#endif
+ }
+ //----- Come here when we get a window resize signal ---------
+diff -Bubr ../busybox-1.00+/include/busybox.h ./include/busybox.h
+--- ../busybox-1.00+/include/busybox.h 2004-03-15 00:28:38.000000000 -0800
++++ ./include/busybox.h        2009-06-07 15:08:50.000000000 -0700
 @@ -33,7 +33,7 @@
  #include <sys/types.h>
  
@@ -175,13 +265,11 @@ diff -ru ../busybox-1.00-pre9/include/busybox.h ./include/busybox.h
  
  /* Pull in the utility routines from libbb */
  #include "libbb.h"
-Only in ./include: config
-Only in ./include: config.h
-diff -ru ../busybox-1.00-pre9/include/grp_.h ./include/grp_.h
---- ../busybox-1.00-pre9/include/grp_.h        2003-12-18 17:40:58.000000000 -0500
-+++ ./include/grp_.h   2004-05-07 03:32:36.000000000 -0400
-@@ -7,7 +7,9 @@
- #else
+diff -Bubr ../busybox-1.00+/include/grp_.h ./include/grp_.h
+--- ../busybox-1.00+/include/grp_.h    2004-07-15 05:53:49.000000000 -0700
++++ ./include/grp_.h   2009-06-07 15:08:50.000000000 -0700
+@@ -31,7 +31,9 @@
  
  #include <sys/types.h>
 +#ifndef NESTEDVM
@@ -190,10 +278,11 @@ diff -ru ../busybox-1.00-pre9/include/grp_.h ./include/grp_.h
  #include <stdio.h>
  
  
-diff -ru ../busybox-1.00-pre9/include/libbb.h ./include/libbb.h
---- ../busybox-1.00-pre9/include/libbb.h       2004-03-15 03:28:38.000000000 -0500
-+++ ./include/libbb.h  2004-05-07 02:48:25.000000000 -0400
-@@ -24,22 +24,69 @@
+Only in ./include: grp_.h.orig
+diff -Bubr ../busybox-1.00+/include/libbb.h ./include/libbb.h
+--- ../busybox-1.00+/include/libbb.h   2004-09-14 20:04:07.000000000 -0700
++++ ./include/libbb.h  2009-06-07 15:08:50.000000000 -0700
+@@ -24,22 +24,68 @@
  #ifndef       __LIBCONFIG_H__
  #define       __LIBCONFIG_H__    1
  
@@ -249,9 +338,8 @@ diff -ru ../busybox-1.00-pre9/include/libbb.h ./include/libbb.h
  #include <stdint.h>
 +#endif
  
-+#ifndef NESTEDVM
  #include <netdb.h>
-+#endif
++#include <netinet/in.h>
  
  #ifdef DMALLOC
  #include <dmalloc.h>
@@ -263,7 +351,7 @@ diff -ru ../busybox-1.00-pre9/include/libbb.h ./include/libbb.h
  
  #include "config.h"
  #ifdef CONFIG_SELINUX
-@@ -123,8 +170,10 @@
+@@ -123,8 +169,10 @@
  extern int bb_parse_mode( const char* s, mode_t* theMode);
  extern long bb_xgetlarg(const char *arg, int base, long lower, long upper);
  
@@ -274,27 +362,11 @@ diff -ru ../busybox-1.00-pre9/include/libbb.h ./include/libbb.h
  
  extern int get_kernel_revision(void);
  
-@@ -297,6 +346,7 @@
- extern int uncompress(int fd_in, int fd_out);
- extern int inflate(int in, int out);
-+#ifndef NESTEDVM
- extern struct hostent *xgethostbyname(const char *name);
- extern struct hostent *xgethostbyname2(const char *name, int af);
- extern int create_icmp_socket(void);
-@@ -304,6 +354,7 @@
- extern int xconnect(struct sockaddr_in *s_addr);
- extern unsigned short bb_lookup_port(const char *port, const char *protocol, unsigned short default_port);
- extern void bb_lookup_host(struct sockaddr_in *s_in, const char *host);
-+#endif
- //#warning wrap this?
- char *dirname (char *path);
-diff -ru ../busybox-1.00-pre9/include/pwd_.h ./include/pwd_.h
---- ../busybox-1.00-pre9/include/pwd_.h        2002-07-03 19:19:10.000000000 -0400
-+++ ./include/pwd_.h   2004-05-07 03:32:15.000000000 -0400
-@@ -7,7 +7,9 @@
- #else
+diff -Bubr ../busybox-1.00+/include/pwd_.h ./include/pwd_.h
+--- ../busybox-1.00+/include/pwd_.h    2004-07-15 05:53:49.000000000 -0700
++++ ./include/pwd_.h   2009-06-07 15:08:50.000000000 -0700
+@@ -29,7 +29,9 @@
+ #define       _PWD_H  1
  
  #include <sys/types.h>
 +#ifndef NESTEDVM
@@ -303,81 +375,69 @@ diff -ru ../busybox-1.00-pre9/include/pwd_.h ./include/pwd_.h
  #include <stdio.h>
  
  /* The passwd structure.  */
-diff -ru ../busybox-1.00-pre9/libbb/Makefile.in ./libbb/Makefile.in
---- ../busybox-1.00-pre9/libbb/Makefile.in     2004-03-06 17:11:45.000000000 -0500
-+++ ./libbb/Makefile.in        2004-05-07 02:51:59.000000000 -0400
-@@ -24,28 +24,27 @@
- endif
- LIBBB_SRC:= \
--      bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \
-+      bb_asprintf.c ask_confirmation.c chomp.c \
-       compare_string_array.c concat_path_file.c copy_file.c copyfd.c \
--      correct_password.c create_icmp_socket.c create_icmp6_socket.c \
--      device_open.c dump.c error_msg.c error_msg_and_die.c find_mount_point.c \
-+      device_open.c dump.c error_msg.c error_msg_and_die.c \
-       find_pid_by_name.c find_root_device.c fgets_str.c full_read.c \
-       full_write.c get_last_path_component.c get_line_from_file.c get_ug_id.c \
-       get_terminal_width_height.c hash_fd.c herror_msg.c herror_msg_and_die.c \
--      human_readable.c inet_common.c inode_hash.c interface.c isdirectory.c \
--      kernel_version.c last_char_is.c llist_add_to.c login.c loop.c \
--      make_directory.c mode_string.c module_syscalls.c mtab.c mtab_file.c \
-+      human_readable.c inode_hash.c isdirectory.c \
-+      last_char_is.c llist_add_to.c \
-+      make_directory.c mode_string.c \
-       my_getgrgid.c my_getgrnam.c my_getpwnam.c my_getpwnamegid.c \
-       my_getpwuid.c obscure.c parse_mode.c parse_number.c perror_msg.c \
--      perror_msg_and_die.c print_file.c get_console.c \
--      process_escape_sequence.c procps.c pwd2spwd.c pw_encrypt.c qmodule.c \
-+      perror_msg_and_die.c print_file.c \
-+      process_escape_sequence.c procps.c pwd2spwd.c qmodule.c \
-       read_package_field.c recursive_action.c remove_file.c \
--      restricted_shell.c run_parts.c run_shell.c safe_read.c safe_write.c \
--      safe_strncpy.c setup_environment.c simplify_path.c syscalls.c \
--      syslog_msg_with_name.c trim.c u_signal_names.c vdprintf.c verror_msg.c \
--      vherror_msg.c vperror_msg.c wfopen.c xconnect.c xgetcwd.c \
--      xgethostbyname.c xgethostbyname2.c xreadlink.c xregcomp.c xgetlarg.c \
-+      run_shell.c safe_read.c safe_write.c \
-+      safe_strncpy.c simplify_path.c \
-+      trim.c u_signal_names.c vdprintf.c verror_msg.c \
-+      vperror_msg.c wfopen.c xgetcwd.c \
-+      xreadlink.c xregcomp.c xgetlarg.c \
-       get_terminal_width_height.c fclose_nonstdin.c fflush_stdout_and_exit.c \
--      getopt_ulflags.c default_error_retval.c wfopen_input.c speed_table.c \
-+      getopt_ulflags.c default_error_retval.c wfopen_input.c \
-       perror_nomsg_and_die.c perror_nomsg.c skip_whitespace.c \
-       warn_ignoring_args.c concat_subpath_file.c vfork_daemon_rexec.c
-Only in ./libbb: Makefile.in~
-diff -ru ../busybox-1.00-pre9/libbb/get_terminal_width_height.c ./libbb/get_terminal_width_height.c
---- ../busybox-1.00-pre9/libbb/get_terminal_width_height.c     2004-03-23 18:15:35.000000000 -0500
-+++ ./libbb/get_terminal_width_height.c        2004-05-07 02:36:09.000000000 -0400
-@@ -24,8 +24,10 @@
- #include <fcntl.h>
- #include <unistd.h>
+Only in ./include: pwd_.h.orig
+diff -Bubr ../busybox-1.00+/init/halt.c ./init/halt.c
+--- ../busybox-1.00+/init/halt.c       2004-03-15 00:28:40.000000000 -0800
++++ ./init/halt.c      2009-06-07 15:24:41.000000000 -0700
+@@ -24,7 +24,9 @@
+ #include <stdlib.h>
  #include <unistd.h>
+ #include <getopt.h>
++#ifndef NESTEDVM
+ #include <sys/reboot.h>
++#endif
+ #include "busybox.h"
+ #include "init_shared.h"
+Only in ./init: .#init.c
+diff -Bubr ../busybox-1.00+/init/init.c ./init/init.c
+--- ../busybox-1.00+/init/init.c       2004-10-08 01:21:54.000000000 -0700
++++ ./init/init.c      2009-06-07 15:26:03.000000000 -0700
+@@ -34,23 +34,31 @@
+ #include <signal.h>
+ #include <stdarg.h>
+ #include <string.h>
 +#ifndef NESTEDVM
  #include <termios.h>
++#endif
+ #include <unistd.h>
+ #include <limits.h>
+ #include <sys/fcntl.h>
  #include <sys/ioctl.h>
++#ifndef NESTEDVM
+ #include <sys/mount.h>
++#endif
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#ifndef NESTEDVM
+ #include <sys/reboot.h>
 +#endif
  #include "busybox.h"
  
- /* It is perfectly ok to pass in a NULL for either width or for
-@@ -34,7 +36,11 @@
-  * which case you will always get 80x24 */
- void get_terminal_width_height(int fd, int *width, int *height)
- {
-+#ifdef NESTEDVM
-+    struct { int ws_row; int ws_col; } win = { 0, 0};
-+#else
-       struct winsize win = { 0, 0, 0, 0 };
+ #include "init_shared.h"
++#ifndef NESTEDVM
+ #ifdef CONFIG_SYSLOGD
+ # include <sys/syslog.h>
+ #endif
 +#endif
- #ifdef CONFIG_FEATURE_AUTOWIDTH
-       if (ioctl(fd, TIOCGWINSZ, &win) != 0) {
-               win.ws_row = 24;
-diff -ru ../busybox-1.00-pre9/libbb/getopt_ulflags.c ./libbb/getopt_ulflags.c
---- ../busybox-1.00-pre9/libbb/getopt_ulflags.c        2004-02-05 08:49:29.000000000 -0500
-+++ ./libbb/getopt_ulflags.c   2004-05-07 04:00:35.000000000 -0400
+ #define INIT_BUFFS_SIZE 256
+@@ -675,7 +683,9 @@
+        * linux/kernel/sys.c, which can cause the machine to panic when
+        * the init process is killed.... */
+       if ((pid = fork()) == 0) {
++#ifndef NESTEDVM
+               reboot(magic);
++#endif
+               _exit(0);
+       }
+       waitpid (pid, NULL, 0);
+diff -Bubr ../busybox-1.00+/libbb/getopt_ulflags.c ./libbb/getopt_ulflags.c
+--- ../busybox-1.00+/libbb/getopt_ulflags.c    2004-02-05 05:49:29.000000000 -0800
++++ ./libbb/getopt_ulflags.c   2009-06-07 15:08:50.000000000 -0700
 @@ -150,8 +150,14 @@
      s--;
    }
@@ -395,9 +455,35 @@ diff -ru ../busybox-1.00-pre9/libbb/getopt_ulflags.c ./libbb/getopt_ulflags.c
        for (on_off = complementaly; on_off->opt != c; on_off++) {
            if(!on_off->opt)
                        bb_show_usage ();
-diff -ru ../busybox-1.00-pre9/libbb/hash_fd.c ./libbb/hash_fd.c
---- ../busybox-1.00-pre9/libbb/hash_fd.c       2004-03-15 03:28:42.000000000 -0500
-+++ ./libbb/hash_fd.c  2004-05-08 02:57:19.000000000 -0400
+diff -Bubr ../busybox-1.00+/libbb/get_terminal_width_height.c ./libbb/get_terminal_width_height.c
+--- ../busybox-1.00+/libbb/get_terminal_width_height.c 2004-03-23 15:15:35.000000000 -0800
++++ ./libbb/get_terminal_width_height.c        2009-06-07 15:08:50.000000000 -0700
+@@ -24,8 +24,10 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <unistd.h>
++#ifndef NESTEDVM
+ #include <termios.h>
+ #include <sys/ioctl.h>
++#endif
+ #include "busybox.h"
+ /* It is perfectly ok to pass in a NULL for either width or for
+@@ -34,7 +36,11 @@
+  * which case you will always get 80x24 */
+ void get_terminal_width_height(int fd, int *width, int *height)
+ {
++#ifdef NESTEDVM
++    struct { int ws_row; int ws_col; } win = { 0, 0};
++#else
+       struct winsize win = { 0, 0, 0, 0 };
++#endif
+ #ifdef CONFIG_FEATURE_AUTOWIDTH
+       if (ioctl(fd, TIOCGWINSZ, &win) != 0) {
+               win.ws_row = 24;
+diff -Bubr ../busybox-1.00+/libbb/hash_fd.c ./libbb/hash_fd.c
+--- ../busybox-1.00+/libbb/hash_fd.c   2004-03-15 00:28:42.000000000 -0800
++++ ./libbb/hash_fd.c  2009-06-07 15:08:50.000000000 -0700
 @@ -20,18 +20,27 @@
   *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   */
@@ -426,9 +512,10 @@ diff -ru ../busybox-1.00-pre9/libbb/hash_fd.c ./libbb/hash_fd.c
  
  #ifdef CONFIG_SHA1SUM
  /*
-diff -ru ../busybox-1.00-pre9/libbb/procps.c ./libbb/procps.c
---- ../busybox-1.00-pre9/libbb/procps.c        2004-01-27 15:17:39.000000000 -0500
-+++ ./libbb/procps.c   2004-05-07 02:41:27.000000000 -0400
+Only in ./libbb: Makefile.in.orig
+diff -Bubr ../busybox-1.00+/libbb/procps.c ./libbb/procps.c
+--- ../busybox-1.00+/libbb/procps.c    2004-08-26 15:18:58.000000000 -0700
++++ ./libbb/procps.c   2009-06-07 15:08:50.000000000 -0700
 @@ -12,7 +12,9 @@
  #include <string.h>
  #include <stdlib.h>
@@ -439,9 +526,9 @@ diff -ru ../busybox-1.00-pre9/libbb/procps.c ./libbb/procps.c
  
  #include "libbb.h"
  
-diff -ru ../busybox-1.00-pre9/libbb/run_shell.c ./libbb/run_shell.c
---- ../busybox-1.00-pre9/libbb/run_shell.c     2004-03-15 03:28:43.000000000 -0500
-+++ ./libbb/run_shell.c        2004-05-07 02:44:27.000000000 -0400
+diff -Bubr ../busybox-1.00+/libbb/run_shell.c ./libbb/run_shell.c
+--- ../busybox-1.00+/libbb/run_shell.c 2004-03-15 00:28:43.000000000 -0800
++++ ./libbb/run_shell.c        2009-06-07 15:08:50.000000000 -0700
 @@ -33,7 +33,9 @@
  #include <unistd.h>
  #include <string.h>
@@ -452,9 +539,9 @@ diff -ru ../busybox-1.00-pre9/libbb/run_shell.c ./libbb/run_shell.c
  #include <ctype.h>
  #include "libbb.h"
  #ifdef CONFIG_SELINUX
-diff -ru ../busybox-1.00-pre9/libbb/u_signal_names.c ./libbb/u_signal_names.c
---- ../busybox-1.00-pre9/libbb/u_signal_names.c        2004-03-15 03:28:43.000000000 -0500
-+++ ./libbb/u_signal_names.c   2004-05-07 02:47:24.000000000 -0400
+diff -Bubr ../busybox-1.00+/libbb/u_signal_names.c ./libbb/u_signal_names.c
+--- ../busybox-1.00+/libbb/u_signal_names.c    2004-03-15 00:28:43.000000000 -0800
++++ ./libbb/u_signal_names.c   2009-06-07 15:08:50.000000000 -0700
 @@ -21,6 +21,7 @@
   * USA
   */
@@ -463,9 +550,9 @@ diff -ru ../busybox-1.00-pre9/libbb/u_signal_names.c ./libbb/u_signal_names.c
  #include <signal.h>
  #include <ctype.h>
  #include <string.h>
-diff -ru ../busybox-1.00-pre9/libbb/vdprintf.c ./libbb/vdprintf.c
---- ../busybox-1.00-pre9/libbb/vdprintf.c      2004-03-15 03:28:43.000000000 -0500
-+++ ./libbb/vdprintf.c 2004-05-07 03:22:03.000000000 -0400
+diff -Bubr ../busybox-1.00+/libbb/vdprintf.c ./libbb/vdprintf.c
+--- ../busybox-1.00+/libbb/vdprintf.c  2004-03-15 00:28:43.000000000 -0800
++++ ./libbb/vdprintf.c 2009-06-07 15:08:50.000000000 -0700
 @@ -26,7 +26,17 @@
  
  
@@ -485,9 +572,21 @@ diff -ru ../busybox-1.00-pre9/libbb/vdprintf.c ./libbb/vdprintf.c
  {
        char buf[BUF_SIZE];
        int len;
-diff -ru ../busybox-1.00-pre9/libbb/xgetcwd.c ./libbb/xgetcwd.c
---- ../busybox-1.00-pre9/libbb/xgetcwd.c       2003-05-26 10:06:00.000000000 -0400
-+++ ./libbb/xgetcwd.c  2004-05-07 02:51:13.000000000 -0400
+diff -Bubr ../busybox-1.00+/libbb/xconnect.c ./libbb/xconnect.c
+--- ../busybox-1.00+/libbb/xconnect.c  2004-04-14 10:51:16.000000000 -0700
++++ ./libbb/xconnect.c 2009-06-07 15:08:50.000000000 -0700
+@@ -62,7 +62,7 @@
+ int xconnect(struct sockaddr_in *s_addr)
+ {
+       int s = socket(AF_INET, SOCK_STREAM, 0);
+-      if (connect(s, (struct sockaddr_in *)s_addr, sizeof(struct sockaddr_in)) < 0)
++      if (connect(s, (struct sockaddr *)s_addr, sizeof(struct sockaddr_in)) < 0)
+       {
+               bb_perror_msg_and_die("Unable to connect to remote host (%s)",
+                               inet_ntoa(s_addr->sin_addr));
+diff -Bubr ../busybox-1.00+/libbb/xgetcwd.c ./libbb/xgetcwd.c
+--- ../busybox-1.00+/libbb/xgetcwd.c   2003-05-26 07:06:00.000000000 -0700
++++ ./libbb/xgetcwd.c  2009-06-07 15:08:50.000000000 -0700
 @@ -11,6 +11,7 @@
  #include <unistd.h>
  #include <limits.h>
@@ -496,39 +595,87 @@ diff -ru ../busybox-1.00-pre9/libbb/xgetcwd.c ./libbb/xgetcwd.c
  #include "libbb.h"
  
  /* Amount to increase buffer size by in each try. */
-diff -ru ../busybox-1.00-pre9/libpwdgrp/setgroups.c ./libpwdgrp/setgroups.c
---- ../busybox-1.00-pre9/libpwdgrp/setgroups.c 2004-03-15 03:28:45.000000000 -0500
-+++ ./libpwdgrp/setgroups.c    2004-05-07 03:34:15.000000000 -0400
-@@ -24,17 +24,25 @@
+diff -Bubr ../busybox-1.00+/networking/httpd.c ./networking/httpd.c
+--- ../busybox-1.00+/networking/httpd.c        2004-10-08 01:03:29.000000000 -0700
++++ ./networking/httpd.c       2009-06-07 15:11:28.000000000 -0700
+@@ -1789,11 +1789,15 @@
+   FD_ZERO (&s_fd) ;
+   FD_SET (a_c_w, &s_fd) ;
  
- #include <errno.h>
- #include <unistd.h>
++#ifdef NESTEDVM
++  //while(read(a_c_w, buf, sizeof(config->buf) > 0));
++#else
+   do {
+     tv.tv_sec = 2 ;
+     tv.tv_usec = 0 ;
+     retval = select (a_c_w + 1, &s_fd, NULL, NULL, &tv);
+   } while (retval > 0 && (read (a_c_w, buf, sizeof (config->buf)) > 0));
++#endif
+   shutdown(a_c_r, SHUT_RD);
+   close(config->accepted_socket);
+@@ -1818,18 +1822,22 @@
+ #ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
+ static int miniHttpd(int server)
+ {
 +#ifndef NESTEDVM
- #include <features.h>
+   fd_set readfd, portfd;
+   FD_ZERO(&portfd);
+   FD_SET(server, &portfd);
 +#endif
- #include <sys/types.h>
- /* Kernel headers before 2.1.mumble need this on the Alpha to get
-    _syscall* defined.  */
- #define __LIBRARY__
+   /* copy the ports we are watching to the readfd set */
+   while (1) {
 +#ifndef NESTEDVM
- #include <sys/syscall.h>
+     readfd = portfd;
+     /* Now wait INDEFINITELY on the set of sockets! */
+     if (select(server + 1, &readfd, 0, 0, 0) > 0) {
+       if (FD_ISSET(server, &readfd)) {
 +#endif
- #include "grp_.h"
+       int on;
+       struct sockaddr_in fromAddr;
  
- int setgroups(size_t size, const gid_t * list)
- {
+@@ -1838,7 +1846,7 @@
+                      (struct sockaddr *)&fromAddr, &fromAddrLen);
+       if (s < 0) {
+-          continue;
++          break;
+       }
+       config->accepted_socket = s;
+       config->rmt_ip = ntohl(fromAddr.sin_addr.s_addr);
+@@ -1872,8 +1880,10 @@
+               exit(0);
+       }
+       close(s);
 +#ifndef NESTEDVM
-       return(syscall(__NR_setgroups, size, list));
-+#else
-+    return 0;
+       }
+     }
 +#endif
+   } // while (1)
+   return 0;
  }
+Only in ./networking: httpd.c.orig
+diff -Bubr ../busybox-1.00+/networking/tftp.c ./networking/tftp.c
+--- ../busybox-1.00+/networking/tftp.c 2004-09-14 10:24:58.000000000 -0700
++++ ./networking/tftp.c        2009-06-07 15:09:40.000000000 -0700
+@@ -320,7 +320,11 @@
+                       FD_ZERO(&rfds);
+                       FD_SET(socketfd, &rfds);
  
-Only in .: nestedvm.config
-diff -ru ../busybox-1.00-pre9/procps/ps.c ./procps/ps.c
---- ../busybox-1.00-pre9/procps/ps.c   2004-03-15 03:29:03.000000000 -0500
-+++ ./procps/ps.c      2004-05-07 01:30:19.000000000 -0400
++#ifdef NESTEDVM
++                      switch(1) {
++#else
+                       switch (select(FD_SETSIZE, &rfds, NULL, NULL, &tv)) {
++#endif
+                       case 1:
+                               len = recvfrom(socketfd, buf, tftp_bufsize, 0,
+                                               (struct sockaddr *) &from, &fromlen);
+diff -Bubr ../busybox-1.00+/procps/ps.c ./procps/ps.c
+--- ../busybox-1.00+/procps/ps.c       2004-03-15 00:29:03.000000000 -0800
++++ ./procps/ps.c      2009-06-07 15:08:54.000000000 -0700
 @@ -27,8 +27,10 @@
  #include <fcntl.h>
  #include <ctype.h>
@@ -540,16 +687,24 @@ diff -ru ../busybox-1.00-pre9/procps/ps.c ./procps/ps.c
  #include "busybox.h"
  #ifdef CONFIG_SELINUX
  #include <fs_secure.h>
-Only in ./scripts/config: conf
-Only in ./scripts/config: lex.zconf.c
-Only in ./scripts/config: lkc_defs.h
-Only in ./scripts/config: mconf
-Only in ./scripts/config: zconf.tab.c
-Only in ./scripts/config: zconf.tab.h
-Only in ./scripts: mkdep
-diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
---- ../busybox-1.00-pre9/shell/ash.c   2004-04-07 05:34:26.000000000 -0400
-+++ ./shell/ash.c      2004-05-07 19:40:04.000000000 -0400
+diff -Bubr ../busybox-1.00+/Rules.mak ./Rules.mak
+--- ../busybox-1.00+/Rules.mak 2004-10-08 03:52:33.000000000 -0700
++++ ./Rules.mak        2009-06-07 15:08:50.000000000 -0700
+@@ -158,8 +158,8 @@
+     STRIPCMD:=/bin/true -Not_stripping_since_we_are_debugging
+ else
+     CFLAGS+=$(WARNINGS) $(OPTIMIZATIONS) -D_GNU_SOURCE -DNDEBUG
+-    LDFLAGS += -s -Wl,-warn-common
+-    STRIPCMD:=$(STRIP) --remove-section=.note --remove-section=.comment
++    LDFLAGS += -Wl,-warn-common
++    STRIPCMD:= true
+ endif
+ ifeq ($(strip $(CONFIG_STATIC)),y)
+     LDFLAGS += --static
+Only in .: Rules.mak.orig
+diff -Bubr ../busybox-1.00+/shell/ash.c ./shell/ash.c
+--- ../busybox-1.00+/shell/ash.c       2004-10-08 02:43:34.000000000 -0700
++++ ./shell/ash.c      2009-06-07 15:08:54.000000000 -0700
 @@ -67,7 +67,9 @@
  
  #include <sys/types.h>
@@ -581,7 +736,7 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
        { BUILTIN_REGULAR       "umask", umaskcmd },
  #ifdef CONFIG_ASH_ALIAS
        { BUILTIN_REGULAR       "unalias", unaliascmd },
-@@ -2555,7 +2561,9 @@
+@@ -2563,7 +2569,9 @@
        int i;
  
        intpending = 0;
@@ -591,7 +746,7 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
        i = EXSIG;
        if (gotsig[SIGINT - 1] && !trap[SIGINT]) {
                if (!(rootshell && iflag)) {
-@@ -6702,7 +6710,11 @@
+@@ -6716,7 +6724,11 @@
  #endif
                }
                st &= 0x7f;
@@ -603,7 +758,7 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
                if (WCOREDUMP(status)) {
                        col += fmtstr(s + col, 16, " (core dumped)");
                }
-@@ -7309,7 +7321,7 @@
+@@ -7323,7 +7335,7 @@
  #endif
        if (block == 0)
                flags |= WNOHANG;
@@ -612,7 +767,7 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
  }
  
  /*
-@@ -12683,6 +12695,8 @@
+@@ -12717,6 +12729,8 @@
        return 0;
  }
  
@@ -621,7 +776,7 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
  /*
   * ulimit builtin
   *
-@@ -12864,7 +12878,7 @@
+@@ -12898,7 +12912,7 @@
        }
        return 0;
  }
@@ -630,9 +785,10 @@ diff -ru ../busybox-1.00-pre9/shell/ash.c ./shell/ash.c
  
  #ifdef CONFIG_ASH_MATH_SUPPORT
  
-diff -ru ../busybox-1.00-pre9/util-linux/more.c ./util-linux/more.c
---- ../busybox-1.00-pre9/util-linux/more.c     2004-03-27 05:02:48.000000000 -0500
-+++ ./util-linux/more.c        2004-05-07 02:26:31.000000000 -0400
+Only in ./shell: ash.c.orig
+diff -Bubr ../busybox-1.00+/util-linux/more.c ./util-linux/more.c
+--- ../busybox-1.00+/util-linux/more.c 2004-03-27 02:02:48.000000000 -0800
++++ ./util-linux/more.c        2009-06-07 15:08:54.000000000 -0700
 @@ -32,7 +32,9 @@
  #include <signal.h>
  #include <stdlib.h>
@@ -643,399 +799,3 @@ diff -ru ../busybox-1.00-pre9/util-linux/more.c ./util-linux/more.c
  #include "busybox.h"
  
  
---- ../busybox-1.00-pre9/.config       1969-12-31 19:00:00.000000000 -0500
-+++ .config    2004-05-08 02:10:25.000000000 -0400
-@@ -0,0 +1,393 @@
-+#
-+# Automatically generated make config: don't edit
-+#
-+HAVE_DOT_CONFIG=y
-+
-+#
-+# General Configuration
-+#
-+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
-+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
-+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-+CONFIG_FEATURE_VERBOSE_USAGE=y
-+# CONFIG_FEATURE_INSTALLER is not set
-+# CONFIG_LOCALE_SUPPORT is not set
-+# CONFIG_FEATURE_DEVFS is not set
-+# CONFIG_FEATURE_DEVPTS is not set
-+# CONFIG_FEATURE_CLEAN_UP is not set
-+# CONFIG_FEATURE_SUID is not set
-+# CONFIG_SELINUX is not set
-+
-+#
-+# Build Options
-+#
-+CONFIG_STATIC=y
-+# CONFIG_LFS is not set
-+USING_CROSS_COMPILER=y
-+CROSS_COMPILER_PREFIX="mips-unknown-elf-"
-+EXTRA_CFLAGS_OPTIONS="-DNESTEDVM"
-+
-+#
-+# Installation Options
-+#
-+# CONFIG_INSTALL_NO_USR is not set
-+PREFIX="./_install"
-+
-+#
-+# Archival Utilities
-+#
-+# CONFIG_AR is not set
-+CONFIG_BUNZIP2=y
-+CONFIG_CPIO=y
-+# CONFIG_DPKG is not set
-+# CONFIG_DPKG_DEB is not set
-+CONFIG_GUNZIP=y
-+CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
-+CONFIG_GZIP=y
-+# CONFIG_RPM2CPIO is not set
-+# CONFIG_RPM is not set
-+CONFIG_TAR=y
-+CONFIG_FEATURE_TAR_CREATE=y
-+CONFIG_FEATURE_TAR_BZIP2=y
-+# CONFIG_FEATURE_TAR_FROM is not set
-+CONFIG_FEATURE_TAR_GZIP=y
-+# CONFIG_FEATURE_TAR_COMPRESS is not set
-+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
-+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
-+CONFIG_UNCOMPRESS=y
-+CONFIG_UNZIP=y
-+
-+#
-+# Common options for cpio and tar
-+#
-+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
-+
-+#
-+# Coreutils
-+#
-+CONFIG_BASENAME=y
-+CONFIG_CAL=y
-+CONFIG_CAT=y
-+CONFIG_CHGRP=y
-+CONFIG_CHMOD=y
-+CONFIG_CHOWN=y
-+CONFIG_CHROOT=y
-+CONFIG_CMP=y
-+CONFIG_CP=y
-+CONFIG_CUT=y
-+CONFIG_DATE=y
-+
-+#
-+# date (forced enabled for use with watch)
-+#
-+CONFIG_FEATURE_DATE_ISOFMT=y
-+CONFIG_DD=y
-+# CONFIG_DF is not set
-+CONFIG_DIRNAME=y
-+CONFIG_DOS2UNIX=y
-+CONFIG_UNIX2DOS=y
-+CONFIG_DU=y
-+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
-+CONFIG_ECHO=y
-+CONFIG_FEATURE_FANCY_ECHO=y
-+CONFIG_ENV=y
-+# CONFIG_EXPR is not set
-+CONFIG_FALSE=y
-+# CONFIG_FOLD is not set
-+CONFIG_HEAD=y
-+# CONFIG_FEATURE_FANCY_HEAD is not set
-+# CONFIG_HOSTID is not set
-+CONFIG_ID=y
-+CONFIG_INSTALL=y
-+# CONFIG_LENGTH is not set
-+CONFIG_LN=y
-+# CONFIG_LOGNAME is not set
-+CONFIG_LS=y
-+CONFIG_FEATURE_LS_FILETYPES=y
-+CONFIG_FEATURE_LS_FOLLOWLINKS=y
-+CONFIG_FEATURE_LS_RECURSIVE=y
-+CONFIG_FEATURE_LS_SORTFILES=y
-+CONFIG_FEATURE_LS_TIMESTAMPS=y
-+CONFIG_FEATURE_LS_USERNAME=y
-+CONFIG_FEATURE_LS_COLOR=y
-+CONFIG_MD5SUM=y
-+CONFIG_MKDIR=y
-+CONFIG_MKFIFO=y
-+CONFIG_MKNOD=y
-+CONFIG_MV=y
-+CONFIG_OD=y
-+CONFIG_PRINTF=y
-+CONFIG_PWD=y
-+# CONFIG_REALPATH is not set
-+CONFIG_RM=y
-+CONFIG_RMDIR=y
-+# CONFIG_SEQ is not set
-+CONFIG_SHA1SUM=y
-+CONFIG_SLEEP=y
-+# CONFIG_FEATURE_FANCY_SLEEP is not set
-+CONFIG_SORT=y
-+# CONFIG_STTY is not set
-+CONFIG_SYNC=y
-+CONFIG_TAIL=y
-+CONFIG_FEATURE_FANCY_TAIL=y
-+CONFIG_TEE=y
-+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-+CONFIG_TEST=y
-+
-+#
-+# test (forced enabled for use with shell)
-+#
-+CONFIG_TOUCH=y
-+CONFIG_TR=y
-+CONFIG_TRUE=y
-+CONFIG_TTY=y
-+# CONFIG_UNAME is not set
-+CONFIG_UNIQ=y
-+CONFIG_USLEEP=y
-+# CONFIG_UUDECODE is not set
-+# CONFIG_UUENCODE is not set
-+CONFIG_WATCH=y
-+CONFIG_WC=y
-+# CONFIG_WHO is not set
-+CONFIG_WHOAMI=y
-+CONFIG_YES=y
-+
-+#
-+# Common options for cp and mv
-+#
-+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-+
-+#
-+# Common options for ls and more
-+#
-+# CONFIG_FEATURE_AUTOWIDTH is not set
-+
-+#
-+# Common options for df, du, ls
-+#
-+CONFIG_FEATURE_HUMAN_READABLE=y
-+
-+#
-+# Common options for md5sum, sha1sum
-+#
-+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-+
-+#
-+# Console Utilities
-+#
-+# CONFIG_CHVT is not set
-+CONFIG_CLEAR=y
-+# CONFIG_DEALLOCVT is not set
-+# CONFIG_DUMPKMAP is not set
-+# CONFIG_LOADFONT is not set
-+# CONFIG_LOADKMAP is not set
-+# CONFIG_OPENVT is not set
-+CONFIG_RESET=y
-+# CONFIG_SETKEYCODES is not set
-+
-+#
-+# Debian Utilities
-+#
-+# CONFIG_MKTEMP is not set
-+# CONFIG_PIPE_PROGRESS is not set
-+CONFIG_READLINK=y
-+# CONFIG_RUN_PARTS is not set
-+# CONFIG_START_STOP_DAEMON is not set
-+CONFIG_WHICH=y
-+
-+#
-+# Editors
-+#
-+CONFIG_AWK=y
-+CONFIG_FEATURE_AWK_MATH=y
-+CONFIG_PATCH=y
-+CONFIG_SED=y
-+# CONFIG_VI is not set
-+
-+#
-+# Finding Utilities
-+#
-+CONFIG_FIND=y
-+CONFIG_FEATURE_FIND_MTIME=y
-+CONFIG_FEATURE_FIND_PERM=y
-+CONFIG_FEATURE_FIND_TYPE=y
-+CONFIG_FEATURE_FIND_XDEV=y
-+# CONFIG_FEATURE_FIND_NEWER is not set
-+# CONFIG_FEATURE_FIND_INUM is not set
-+CONFIG_GREP=y
-+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-+CONFIG_FEATURE_GREP_CONTEXT=y
-+CONFIG_XARGS=y
-+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
-+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-+
-+#
-+# Init Utilities
-+#
-+# CONFIG_INIT is not set
-+# CONFIG_HALT is not set
-+# CONFIG_POWEROFF is not set
-+# CONFIG_REBOOT is not set
-+# CONFIG_MINIT is not set
-+# CONFIG_MESG is not set
-+
-+#
-+# Login/Password Management Utilities
-+#
-+CONFIG_USE_BB_PWD_GRP=y
-+# CONFIG_ADDGROUP is not set
-+# CONFIG_DELGROUP is not set
-+# CONFIG_ADDUSER is not set
-+# CONFIG_DELUSER is not set
-+# CONFIG_GETTY is not set
-+# CONFIG_LOGIN is not set
-+# CONFIG_PASSWD is not set
-+# CONFIG_SU is not set
-+# CONFIG_SULOGIN is not set
-+# CONFIG_VLOCK is not set
-+
-+#
-+# Miscellaneous Utilities
-+#
-+# CONFIG_ADJTIMEX is not set
-+# CONFIG_CROND is not set
-+# CONFIG_CRONTAB is not set
-+CONFIG_DC=y
-+# CONFIG_DEVFSD is not set
-+# CONFIG_LAST is not set
-+# CONFIG_HDPARM is not set
-+# CONFIG_MAKEDEVS is not set
-+# CONFIG_MT is not set
-+# CONFIG_RX is not set
-+CONFIG_STRINGS=y
-+# CONFIG_TIME is not set
-+# CONFIG_WATCHDOG is not set
-+
-+#
-+# Linux Module Utilities
-+#
-+# CONFIG_INSMOD is not set
-+# CONFIG_LSMOD is not set
-+# CONFIG_MODPROBE is not set
-+# CONFIG_RMMOD is not set
-+
-+#
-+# Networking Utilities
-+#
-+# CONFIG_FEATURE_IPV6 is not set
-+# CONFIG_ARPING is not set
-+# CONFIG_FTPGET is not set
-+# CONFIG_FTPPUT is not set
-+# CONFIG_HOSTNAME is not set
-+# CONFIG_HTTPD is not set
-+# CONFIG_IFCONFIG is not set
-+# CONFIG_IFUPDOWN is not set
-+# CONFIG_INETD is not set
-+# CONFIG_IP is not set
-+# CONFIG_IPCALC is not set
-+# CONFIG_IPADDR is not set
-+# CONFIG_IPLINK is not set
-+# CONFIG_IPROUTE is not set
-+# CONFIG_IPTUNNEL is not set
-+# CONFIG_NAMEIF is not set
-+# CONFIG_NC is not set
-+# CONFIG_NETSTAT is not set
-+# CONFIG_NSLOOKUP is not set
-+# CONFIG_PING is not set
-+# CONFIG_ROUTE is not set
-+# CONFIG_TELNET is not set
-+# CONFIG_TELNETD is not set
-+# CONFIG_TFTP is not set
-+# CONFIG_TRACEROUTE is not set
-+# CONFIG_VCONFIG is not set
-+# CONFIG_WGET is not set
-+
-+#
-+# udhcp Server/Client
-+#
-+# CONFIG_UDHCPD is not set
-+# CONFIG_UDHCPC is not set
-+
-+#
-+# Process Utilities
-+#
-+# CONFIG_FREE is not set
-+CONFIG_KILL=y
-+CONFIG_KILLALL=y
-+CONFIG_PIDOF=y
-+CONFIG_PS=y
-+# CONFIG_RENICE is not set
-+# CONFIG_TOP is not set
-+# CONFIG_UPTIME is not set
-+# CONFIG_SYSCTL is not set
-+
-+#
-+# Another Bourne-like Shell
-+#
-+CONFIG_FEATURE_SH_IS_ASH=y
-+# CONFIG_FEATURE_SH_IS_HUSH is not set
-+# CONFIG_FEATURE_SH_IS_LASH is not set
-+# CONFIG_FEATURE_SH_IS_MSH is not set
-+# CONFIG_FEATURE_SH_IS_NONE is not set
-+CONFIG_ASH=y
-+
-+#
-+# Ash Shell Options
-+#
-+# CONFIG_ASH_JOB_CONTROL is not set
-+CONFIG_ASH_ALIAS=y
-+CONFIG_ASH_MATH_SUPPORT=y
-+# CONFIG_ASH_GETOPTS is not set
-+# CONFIG_ASH_CMDCMD is not set
-+# CONFIG_ASH_MAIL is not set
-+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-+# CONFIG_ASH_RANDOM_SUPPORT is not set
-+# CONFIG_HUSH is not set
-+# CONFIG_LASH is not set
-+# CONFIG_MSH is not set
-+
-+#
-+# Bourne Shell Options
-+#
-+# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
-+CONFIG_FEATURE_SH_STANDALONE_SHELL=y
-+# CONFIG_FEATURE_COMMAND_EDITING is not set
-+
-+#
-+# System Logging Utilities
-+#
-+# CONFIG_SYSLOGD is not set
-+# CONFIG_LOGGER is not set
-+
-+#
-+# Linux System Utilities
-+#
-+# CONFIG_DMESG is not set
-+# CONFIG_FBSET is not set
-+# CONFIG_FDFLUSH is not set
-+# CONFIG_FDFORMAT is not set
-+# CONFIG_FDISK is not set
-+# CONFIG_FREERAMDISK is not set
-+# CONFIG_FSCK_MINIX is not set
-+# CONFIG_MKFS_MINIX is not set
-+# CONFIG_GETOPT is not set
-+# CONFIG_HEXDUMP is not set
-+# CONFIG_HWCLOCK is not set
-+# CONFIG_LOSETUP is not set
-+# CONFIG_MKSWAP is not set
-+CONFIG_MORE=y
-+# CONFIG_FEATURE_USE_TERMIOS is not set
-+# CONFIG_PIVOT_ROOT is not set
-+# CONFIG_RDATE is not set
-+# CONFIG_SWAPONOFF is not set
-+# CONFIG_MOUNT is not set
-+# CONFIG_UMOUNT is not set
-+
-+#
-+# Debugging Options
-+#
-+# CONFIG_DEBUG is not set