wok-tiny rev 132

Up busybox (1.28-20170822)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Aug 22 13:28:07 2017 +0200 (2017-08-22)
parents 12b4e8340345
children c82d2b7a51b4
files base-tiny/stuff/etc/init.d/rcS base-tiny/stuff/etc/inittab base-tiny/stuff/etc/profile busybox/receipt busybox/stuff/busybox-1.26-bug9471.u busybox/stuff/busybox-1.26-cmdline.u busybox/stuff/busybox-1.26-cpio.u busybox/stuff/busybox-1.26-diet.u busybox/stuff/busybox-1.26-diff.u busybox/stuff/busybox-1.26-fbvnc.u busybox/stuff/busybox-1.26-ftpd.u busybox/stuff/busybox-1.26-losetup.u busybox/stuff/busybox-1.26-printable.u busybox/stuff/busybox-1.26-ris.u busybox/stuff/busybox-1.26-scriptreplay.u busybox/stuff/busybox-1.26-shutdown.u busybox/stuff/busybox-1.26-stat.u busybox/stuff/busybox-1.26-tar.u busybox/stuff/busybox-1.26-zmodules.u busybox/stuff/busybox-1.26.config busybox/stuff/busybox-git-ash.u busybox/stuff/busybox-git-cmdline.u busybox/stuff/busybox-git-cpio.u busybox/stuff/busybox-git-fbvnc.u busybox/stuff/busybox-git-ris.u busybox/stuff/busybox-git-scriptreplay.u busybox/stuff/busybox-git-stat.u busybox/stuff/busybox-git-zmodules.u busybox/stuff/busybox-git.config
line diff
     1.1 --- a/base-tiny/stuff/etc/init.d/rcS	Sun Aug 20 09:49:39 2017 +0200
     1.2 +++ b/base-tiny/stuff/etc/init.d/rcS	Tue Aug 22 13:28:07 2017 +0200
     1.3 @@ -10,11 +10,6 @@
     1.4  
     1.5  # Set TZ and boot time.
     1.6  [ -s /etc/TZ ] && export TZ="$(cat /etc/TZ)"
     1.7 -[ "$bootdate" ] || bootdate=$(date +%s)
     1.8 -
     1.9 -case "$1" in
    1.10 -
    1.11 -readonly)
    1.12  
    1.13  echo "Processing /etc/init.d/rcS..."
    1.14  
    1.15 @@ -80,16 +75,10 @@
    1.16  # Remount rootfs rw.
    1.17  echo "Remounting rootfs read/write..."
    1.18  mount -o remount,rw /
    1.19 -;;
    1.20 -
    1.21 -readwrite)
    1.22  
    1.23  # Mount filesystems in /etc/fstab.
    1.24  echo "Mounting filesystems in fstab..."
    1.25  mount -a
    1.26 -;;
    1.27 -
    1.28 -logged)
    1.29  
    1.30  # Store boot messages to log files.
    1.31  dmesg > /var/log/dmesg.log &
    1.32 @@ -215,29 +204,3 @@
    1.33  	reset
    1.34  	echo -e "\033[1m$MESSAGE\033[0m"
    1.35  fi
    1.36 -
    1.37 -# Display and log boot time.
    1.38 -time=$(($(date +%s) - $bootdate))
    1.39 -echo $time > /var/log/boot-time
    1.40 -echo "SliTaz boot time: ${time}s"
    1.41 -;;
    1.42 -
    1.43 -*)
    1.44 -if [ ! -s /dev/shm/boot.log ]; then
    1.45 -	mount -t devpts devpts /dev/pts
    1.46 -	mount -t tmpfs tmpfs /dev/shm
    1.47 -fi
    1.48 -script -aqc '/etc/init.d/rcS readonly' /dev/shm/boot.log
    1.49 -mv -f /dev/shm/boot.log /boot.log
    1.50 -umount /dev/shm
    1.51 -script -aqc '/etc/init.d/rcS readwrite' /boot.log
    1.52 -last=.9
    1.53 -for i in .8 .7 .6 .5 .4 .3 .2 .1 .0 '' ; do
    1.54 -	mv -f /var/log/boot.log$i /var/log/boot.log$last 2>/dev/null
    1.55 -	last=$i
    1.56 -done
    1.57 -mv -f /boot.log /var/log/boot.log
    1.58 -script -aqc '/etc/init.d/rcS logged' /var/log/boot.log
    1.59 -;;
    1.60 -
    1.61 -esac
     2.1 --- a/base-tiny/stuff/etc/inittab	Sun Aug 20 09:49:39 2017 +0200
     2.2 +++ b/base-tiny/stuff/etc/inittab	Tue Aug 22 13:28:07 2017 +0200
     2.3 @@ -1,7 +1,7 @@
     2.4  # /etc/inittab: init configuration for SliTaz GNU/Linux.
     2.5  # Boot-time system configuration/initialization script.
     2.6  #
     2.7 -::sysinit:/etc/init.d/rcS
     2.8 +::sysinit:/etc/init.d/rcS 2>&1 | tee /var/log/boot.log
     2.9  
    2.10  # getty respawn shell invocations for selected ttys.
    2.11  tty1::askfirst:getty 38400 tty1
     3.1 --- a/base-tiny/stuff/etc/profile	Sun Aug 20 09:49:39 2017 +0200
     3.2 +++ b/base-tiny/stuff/etc/profile	Tue Aug 22 13:28:07 2017 +0200
     3.3 @@ -30,7 +30,6 @@
     3.4  	TZ=`cat /etc/TZ`
     3.5  	export TZ
     3.6  fi
     3.7 -ip=$(ifconfig eth0 2> /dev/null | awk '/inet addr/ { print substr($2,6) }')
     3.8  case "$TERM" in
     3.9 -xterm*|rxvt*) echo -ne "\033]0;$(hostname) $(cat /etc/slitaz-release) $ip\007";;
    3.10 +xterm*|rxvt*) echo -ne "\033]0;$(hostname) $(cat /etc/slitaz-release)\007";;
    3.11  esac
     4.1 --- a/busybox/receipt	Sun Aug 20 09:49:39 2017 +0200
     4.2 +++ b/busybox/receipt	Tue Aug 22 13:28:07 2017 +0200
     4.3 @@ -1,17 +1,18 @@
     4.4  # SliTaz package receipt.
     4.5  
     4.6  PACKAGE="busybox"
     4.7 -VERSION="1.26.2"
     4.8 +VERSION="1.28-20170822"
     4.9 +GIT_TAG="753c4045e4f287fc4b4788afd94f58738a7f04b4"
    4.10  CATEGORY="base-system"
    4.11  SHORT_DESC="Busybox combines tiny versions of many common UNIX utilities."
    4.12  MAINTAINER="pascal.bellard@slitaz.org"
    4.13  LICENSE="GPL2"
    4.14  [ -n "$TARGET" ] || TARGET="i486"
    4.15  DEPENDS="slitaz-base-files"
    4.16 -BUILD_DEPENDS="bzip2 uclibc-cross-compiler-$TARGET"
    4.17 +BUILD_DEPENDS="bzip2 uclibc-cross-compiler-$TARGET wget"
    4.18  TARBALL="$PACKAGE-$VERSION.tar.bz2"
    4.19  WEB_SITE="http://www.busybox.net/"
    4.20 -WGET_URL="http://www.busybox.net/downloads/$TARBALL"
    4.21 +WGET_URL="https://git.busybox.net/busybox/snapshot/busybox-$GIT_TAG.tar.bz2"
    4.22  CONFIG_FILES="/etc/dnsd.conf /etc/inetd.conf /etc/udhcpd.conf /etc/resolv.conf"
    4.23  AUTO_SELECTION="never"
    4.24  
    4.25 @@ -21,27 +22,22 @@
    4.26      while read file; do
    4.27      	[ -f done.$file ] && continue
    4.28      	echo "Apply $file..."
    4.29 -    	patch -p1 < $stuff/$PACKAGE-${VERSION%.*}-$file || return 1
    4.30 +    	patch -p1 < $stuff/$PACKAGE-git-$file || return 1
    4.31  	touch done.$file
    4.32      done <<EOT
    4.33 -tar.u
    4.34  stat.u
    4.35  ris.u
    4.36  zmodules.u
    4.37  cmdline.u
    4.38 -diff.u
    4.39 -diet.u
    4.40 -losetup.u
    4.41  fbvnc.u
    4.42  cpio.u
    4.43 -ftpd.u
    4.44 -shutdown.u
    4.45  scriptreplay.u
    4.46 -bug9471.u
    4.47 +ash.u
    4.48  EOT
    4.49      [ $(. $WOK/linux/receipt; printf "%d%02d%02d" ${VERSION//./ }) -le 20626 ] &&
    4.50 +    	echo apply 0001-mdev-create-devices-from-sys-dev.patch &&
    4.51  	patch -p1 -R < $stuff/0001-mdev-create-devices-from-sys-dev.patch
    4.52 -    cp $stuff/$PACKAGE-${VERSION%.*}.config .config
    4.53 +    cp $stuff/$PACKAGE-git.config .config
    4.54      var="CONFIG_CROSS_COMPILER_PREFIX"
    4.55      sed -i "s/.*$var.*/$var=\"uclibc-$TARGET-\"/" .config
    4.56  }
    4.57 @@ -137,7 +133,7 @@
    4.58  
    4.59  	rm -rf $fs/*
    4.60  	cp rootfs.cpio $fs
    4.61 -	cp $stuff/busybox-${VERSION%.*}*config $fs/busybox.config.txt
    4.62 +	cp $stuff/busybox-git.config $fs/busybox.config.txt
    4.63  }
    4.64  
    4.65  # Force glibc-2.7 reinstall if 2.3.6 still in use.
     5.1 --- a/busybox/stuff/busybox-1.26-bug9471.u	Sun Aug 20 09:49:39 2017 +0200
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,28 +0,0 @@
     5.4 ---- busybox-1.26.2/networking/wget.c
     5.5 -+++ busybox-1.26.2/networking/wget.c
     5.6 -@@ -1093,12 +1093,19 @@
     5.7 - 		}
     5.8 - 
     5.9 - 		fflush(sfp);
    5.10 --		/* If we use SSL helper, keeping our end of the socket open for writing
    5.11 --		 * makes our end (i.e. the same fd!) readable (EAGAIN instead of EOF)
    5.12 --		 * even after child closes its copy of the fd.
    5.13 --		 * This helps:
    5.14 --		 */
    5.15 --		shutdown(fileno(sfp), SHUT_WR);
    5.16 -+/* Tried doing this unconditionally.
    5.17 -+ * Cloudflare and nginx/1.11.5 are shocked to see SHUT_WR on non-HTTPS.
    5.18 -+ */
    5.19 -+#if ENABLE_FEATURE_WGET_OPENSSL || ENABLE_FEATURE_WGET_SSL_HELPER
    5.20 -+		if (target.protocol == P_HTTPS) {
    5.21 -+			/* If we use SSL helper, keeping our end of the socket open for writing
    5.22 -+			 * makes our end (i.e. the same fd!) readable (EAGAIN instead of EOF)
    5.23 -+			 * even after child closes its copy of the fd.
    5.24 -+			 * This helps:
    5.25 -+			 */
    5.26 -+			shutdown(fileno(sfp), SHUT_WR);
    5.27 -+		}
    5.28 -+#endif
    5.29 - 
    5.30 - 		/*
    5.31 - 		 * Retrieve HTTP response line and check for "200" status code.
     6.1 --- a/busybox/stuff/busybox-1.26-cmdline.u	Sun Aug 20 09:49:39 2017 +0200
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,37 +0,0 @@
     6.4 -Display command line in usage output. Useful to debug scripts with variables.
     6.5 ---- busybox-1.26/libbb/appletlib.c
     6.6 -+++ busybox-1.26/libbb/appletlib.c
     6.7 -@@ -92,9 +92,16 @@
     6.8 - 
     6.9 - #endif /* FEATURE_COMPRESS_USAGE */
    6.10 - 
    6.11 --
    6.12 -+static char **bb_argv;
    6.13 - void FAST_FUNC bb_show_usage(void)
    6.14 - {
    6.15 -+	full_write2_str("\nCommand line: ");
    6.16 -+	while (*bb_argv) {
    6.17 -+		full_write2_str(*bb_argv++);
    6.18 -+		full_write2_str(" ");
    6.19 -+	}
    6.20 -+	full_write2_str("\n\n");
    6.21 -+
    6.22 - 	if (ENABLE_SHOW_USAGE) {
    6.23 - #ifdef SINGLE_APPLET_STR
    6.24 - 		/* Imagine that this applet is "true". Dont suck in printf! */
    6.25 -@@ -714,6 +721,7 @@
    6.26 - /* If we were called as "busybox..." */
    6.27 - static int busybox_main(char **argv)
    6.28 - {
    6.29 -+	bb_argv = argv;
    6.30 - 	if (!argv[1]) {
    6.31 - 		/* Called without arguments */
    6.32 - 		const char *a;
    6.33 -@@ -916,6 +924,7 @@
    6.34 - int main(int argc UNUSED_PARAM, char **argv)
    6.35 - #endif
    6.36 - {
    6.37 -+	bb_argv = argv;
    6.38 - #if 0
    6.39 - 	/* TODO: find a use for a block of memory between end of .bss
    6.40 - 	 * and end of page. For example, I'm getting "_end:0x812e698 2408 bytes"
     7.1 --- a/busybox/stuff/busybox-1.26-cpio.u	Sun Aug 20 09:49:39 2017 +0200
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,12 +0,0 @@
     7.4 ---- busybox-1.25/archival/cpio.c
     7.5 -+++ busybox-1.25/archival/cpio.c
     7.6 -@@ -244,6 +244,9 @@
     7.7 - 			if (!(S_ISLNK(st.st_mode) || S_ISREG(st.st_mode)))
     7.8 - 				st.st_size = 0; /* paranoia */
     7.9 - 
    7.10 -+			if (S_ISLNK(st.st_mode))
    7.11 -+				st.st_nlink = 1; /* like GNU cpio */
    7.12 -+
    7.13 - 			/* Store hardlinks for later processing, dont output them */
    7.14 - 			if (!S_ISDIR(st.st_mode) && st.st_nlink > 1) {
    7.15 - 				struct name_s *n;
     8.1 --- a/busybox/stuff/busybox-1.26-diet.u	Sun Aug 20 09:49:39 2017 +0200
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,110 +0,0 @@
     8.4 ---- busybox-1.25/include/platform.h
     8.5 -+++ busybox-1.25/include/platform.h
     8.6 -@@ -501,6 +501,20 @@
     8.7 - # undef HAVE_NET_ETHERNET_H
     8.8 - #endif
     8.9 - 
    8.10 -+#if defined(__dietlibc__)
    8.11 -+# define __aligned_u64 __u64 __attribute__((aligned(8)))
    8.12 -+# define LOOP_SET_STATUS64	0x4C04
    8.13 -+# define LOOP_GET_STATUS64	0x4C05
    8.14 -+# define MAXSYMLINKS	20
    8.15 -+# define S_TYPEISMQ(x)	0
    8.16 -+# define S_TYPEISSEM(x)	0
    8.17 -+# define S_TYPEISSHM(x)	0
    8.18 -+# undef HAVE_STRVERSCMP
    8.19 -+# undef HAVE_DPRINTF
    8.20 -+# undef HAVE_STRCASESTR
    8.21 -+# define ttyname_r(a,b,c)	(strlcpy(b, ttyname(a), c) == 0)
    8.22 -+#endif
    8.23 -+ 
    8.24 - /*
    8.25 -  * Now, define prototypes for all the functions defined in platform.c
    8.26 -  * These must come after all the HAVE_* macros are defined (or not)
    8.27 ---- busybox-1.25/networking/ping.c
    8.28 -+++ busybox-1.25/networking/ping.c
    8.29 -@@ -30,6 +30,84 @@
    8.30 - #include "libbb.h"
    8.31 - #include "common_bufsiz.h"
    8.32 - 
    8.33 -+#ifdef __dietlibc__
    8.34 -+/* Dietlibc is missing the BSD definition 'struct icmp' */
    8.35 -+/*
    8.36 -+ * Internal of an ICMP Router Advertisement
    8.37 -+ */
    8.38 -+struct icmp_ra_addr
    8.39 -+{
    8.40 -+    uint32_t ira_addr;
    8.41 -+    uint32_t ira_preference;
    8.42 -+};
    8.43 -+
    8.44 -+struct icmp
    8.45 -+{
    8.46 -+    uint8_t  icmp_type;  /* type of message, see below */
    8.47 -+    uint8_t  icmp_code;  /* type sub code */
    8.48 -+    uint16_t icmp_cksum; /* ones complement checksum of struct */
    8.49 -+    union
    8.50 -+    {
    8.51 -+	uint8_t ih_pptr;             /* ICMP_PARAMPROB */
    8.52 -+	struct in_addr ih_gwaddr;   /* gateway address */
    8.53 -+	struct ih_idseq             /* echo datagram */
    8.54 -+	{
    8.55 -+	    uint16_t icd_id;
    8.56 -+	    uint16_t icd_seq;
    8.57 -+	} ih_idseq;
    8.58 -+	uint32_t ih_void;
    8.59 -+
    8.60 -+	/* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
    8.61 -+	struct ih_pmtu
    8.62 -+	{
    8.63 -+	    uint16_t ipm_void;
    8.64 -+	    uint16_t ipm_nextmtu;
    8.65 -+	} ih_pmtu;
    8.66 -+
    8.67 -+	struct ih_rtradv
    8.68 -+	{
    8.69 -+	    uint8_t irt_num_addrs;
    8.70 -+	    uint8_t irt_wpa;
    8.71 -+	    uint16_t irt_lifetime;
    8.72 -+	} ih_rtradv;
    8.73 -+    } icmp_hun;
    8.74 -+#define icmp_pptr       icmp_hun.ih_pptr
    8.75 -+#define icmp_gwaddr     icmp_hun.ih_gwaddr
    8.76 -+#define icmp_id         icmp_hun.ih_idseq.icd_id
    8.77 -+#define icmp_seq        icmp_hun.ih_idseq.icd_seq
    8.78 -+#define icmp_void       icmp_hun.ih_void
    8.79 -+#define icmp_pmvoid     icmp_hun.ih_pmtu.ipm_void
    8.80 -+#define icmp_nextmtu    icmp_hun.ih_pmtu.ipm_nextmtu
    8.81 -+#define icmp_num_addrs  icmp_hun.ih_rtradv.irt_num_addrs
    8.82 -+#define icmp_wpa        icmp_hun.ih_rtradv.irt_wpa
    8.83 -+#define icmp_lifetime   icmp_hun.ih_rtradv.irt_lifetime
    8.84 -+    union
    8.85 -+    {
    8.86 -+	struct
    8.87 -+	{
    8.88 -+	    uint32_t its_otime;
    8.89 -+	    uint32_t its_rtime;
    8.90 -+	    uint32_t its_ttime;
    8.91 -+	} id_ts;
    8.92 -+	struct
    8.93 -+	{
    8.94 -+	    struct ip idi_ip;
    8.95 -+	    /* options and then 64 bits of data */
    8.96 -+	} id_ip;
    8.97 -+	struct icmp_ra_addr id_radv;
    8.98 -+	uint32_t   id_mask;
    8.99 -+	uint8_t    id_data[1];
   8.100 -+    } icmp_dun;
   8.101 -+#define icmp_otime      icmp_dun.id_ts.its_otime
   8.102 -+#define icmp_rtime      icmp_dun.id_ts.its_rtime
   8.103 -+#define icmp_ttime      icmp_dun.id_ts.its_ttime
   8.104 -+#define icmp_ip         icmp_dun.id_ip.idi_ip
   8.105 -+#define icmp_radv       icmp_dun.id_radv
   8.106 -+#define icmp_mask       icmp_dun.id_mask
   8.107 -+#define icmp_data       icmp_dun.id_data
   8.108 -+};
   8.109 -+#endif /* __dietlibc__ */
   8.110 -+ 
   8.111 - #ifdef __BIONIC__
   8.112 - /* should be in netinet/ip_icmp.h */
   8.113 - # define ICMP_DEST_UNREACH    3  /* Destination Unreachable  */
     9.1 --- a/busybox/stuff/busybox-1.26-diff.u	Sun Aug 20 09:49:39 2017 +0200
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,53 +0,0 @@
     9.4 ---- busybox-1.26/editors/diff.c
     9.5 -+++ busybox-1.26/editors/diff.c
     9.6 -@@ -113,6 +113,7 @@
     9.7 - //usage:     "\n	-B	Ignore changes whose lines are all blank"
     9.8 - //usage:     "\n	-d	Try hard to find a smaller set of changes"
     9.9 - //usage:     "\n	-i	Ignore case differences"
    9.10 -+//usage:     "\n	-l	Ignore symbolic links"
    9.11 - //usage:     "\n	-L	Use LABEL instead of the filename in the unified header"
    9.12 - //usage:     "\n	-N	Treat absent files as empty"
    9.13 - //usage:     "\n	-q	Output only whether files differ"
    9.14 -@@ -144,6 +145,7 @@
    9.15 - 	FLAG_b,
    9.16 - 	FLAG_d,
    9.17 - 	FLAG_i,
    9.18 -+	FLAG_l,
    9.19 - 	FLAG_L,         /* never used, handled by getopt32 */
    9.20 - 	FLAG_N,
    9.21 - 	FLAG_q,
    9.22 -@@ -759,6 +761,14 @@
    9.23 - 		j = fread(buf1, 1, sz, fp[1]);
    9.24 - 		if (i != j) {
    9.25 - 			differ = true;
    9.26 -+			/* Ensure we detect binary file even if a file is empty or very
    9.27 -+			   short. */
    9.28 -+			for (k = 0; k < i; k++)
    9.29 -+				if (!buf0[k])
    9.30 -+					binary = true;
    9.31 -+			for (k = 0; k < j; k++)
    9.32 -+				if (!buf1[k])
    9.33 -+					binary = true;
    9.34 - 			i = MIN(i, j);
    9.35 - 		}
    9.36 - 		if (i == 0)
    9.37 -@@ -872,7 +882,9 @@
    9.38 - 		 * Using list.len to specify its length,
    9.39 - 		 * add_to_dirlist will remove it. */
    9.40 - 		list[i].len = strlen(p[i]);
    9.41 --		recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS,
    9.42 -+		recursive_action(p[i],
    9.43 -+				(option_mask32 & FLAG(l)) ? ACTION_RECURSE :
    9.44 -+				ACTION_RECURSE | ACTION_FOLLOWLINKS,
    9.45 - 				add_to_dirlist, skip_dir, &list[i], 0);
    9.46 - 		/* Sort dl alphabetically.
    9.47 - 		 * GNU diff does this ignoring any number of trailing dots.
    9.48 -@@ -986,7 +998,7 @@
    9.49 - #if ENABLE_FEATURE_DIFF_LONG_OPTIONS
    9.50 - 	applet_long_options = diff_longopts;
    9.51 - #endif
    9.52 --	getopt32(argv, "abdiL:*NqrsS:tTU:+wupBE",
    9.53 -+	getopt32(argv, "abdilL:*NqrsS:tTU:+wupBE",
    9.54 - 			&L_arg, &s_start, &opt_U_context);
    9.55 - 	argv += optind;
    9.56 - 	while (L_arg)
    10.1 --- a/busybox/stuff/busybox-1.26-fbvnc.u	Sun Aug 20 09:49:39 2017 +0200
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,684 +0,0 @@
    10.4 -   text	   data	    bss	    dec	    hex	filename
    10.5 -   3179	      0	      0	   3179	    c6b	util-linux/fbvnc.o
    10.6 ---- /dev/null
    10.7 -+++ busybox/util-linux/fbvnc.c
    10.8 -@@ -0,0 +1,552 @@
    10.9 -+/* vi: set sw=4 ts=4: */
   10.10 -+/*
   10.11 -+ * A small linux framebuffer VNC viewer
   10.12 -+ *
   10.13 -+ * pascal.bellard@ads-lu.com
   10.14 -+ *
   10.15 -+ * Based on Ali Gholami Rudi's fbvnc.c
   10.16 -+ *   http://repo.or.cz/w/fbvnc.git
   10.17 -+ *
   10.18 -+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
   10.19 -+ */
   10.20 -+
   10.21 -+//applet:IF_FBVNC(APPLET(fbvnc, BB_DIR_BIN, BB_SUID_DROP))
   10.22 -+
   10.23 -+//kbuild:lib-$(CONFIG_FBVNC) += fbvnc.o
   10.24 -+
   10.25 -+//config:config FBVNC
   10.26 -+//config:	bool "fbvnc"
   10.27 -+//config:	default n
   10.28 -+//config:	depends on PLATFORM_LINUX
   10.29 -+//config:	help
   10.30 -+//config:	  A linux framebuffer VNC viewer.
   10.31 -+
   10.32 -+//usage:#define fbvnc_trivial_usage
   10.33 -+//usage:	"[VNC_SERVER] [PORT]"
   10.34 -+//usage:#define fbvnc_full_usage "\n\n"
   10.35 -+//usage:     "A linux framebuffer VNC viewer."
   10.36 -+//usage:     "\nTo exit, press any mouse button and press ESC."
   10.37 -+
   10.38 -+#include "libbb.h"
   10.39 -+#include "vnc.h"
   10.40 -+#include "common_bufsiz.h"
   10.41 -+
   10.42 -+/* Stuff stolen from the kernel's fb.h */
   10.43 -+#define FB_ACTIVATE_ALL 64
   10.44 -+enum {
   10.45 -+	FBIOGET_VSCREENINFO = 0x4600,
   10.46 -+	FBIOPUT_VSCREENINFO = 0x4601,
   10.47 -+	FBIOGET_FSCREENINFO = 0x4602,
   10.48 -+	FBIOGETCMAP = 0x4604,
   10.49 -+	FBIOPUTCMAP = 0x4605
   10.50 -+};
   10.51 -+
   10.52 -+struct fb_bitfield {
   10.53 -+	uint32_t offset;                /* beginning of bitfield */
   10.54 -+	uint32_t length;                /* length of bitfield */
   10.55 -+	uint32_t msb_right;             /* !=0: Most significant bit is right */
   10.56 -+};
   10.57 -+struct fb_var_screeninfo {
   10.58 -+	uint32_t xres;                  /* visible resolution */
   10.59 -+	uint32_t yres;
   10.60 -+	uint32_t xres_virtual;          /* virtual resolution */
   10.61 -+	uint32_t yres_virtual;
   10.62 -+	uint32_t xoffset;               /* offset from virtual to visible */
   10.63 -+	uint32_t yoffset;               /* resolution */
   10.64 -+
   10.65 -+	uint32_t bits_per_pixel;
   10.66 -+	uint32_t grayscale;             /* !=0 Graylevels instead of colors */
   10.67 -+
   10.68 -+	struct fb_bitfield red;         /* bitfield in fb mem if true color, */
   10.69 -+	struct fb_bitfield green;       /* else only length is significant */
   10.70 -+	struct fb_bitfield blue;
   10.71 -+	struct fb_bitfield transp;      /* transparency */
   10.72 -+
   10.73 -+	uint32_t nonstd;                /* !=0 Non standard pixel format */
   10.74 -+
   10.75 -+	uint32_t activate;              /* see FB_ACTIVATE_x */
   10.76 -+
   10.77 -+	uint32_t height;                /* height of picture in mm */
   10.78 -+	uint32_t width;                 /* width of picture in mm */
   10.79 -+
   10.80 -+	uint32_t accel_flags;           /* acceleration flags (hints) */
   10.81 -+
   10.82 -+	/* Timing: All values in pixclocks, except pixclock (of course) */
   10.83 -+	uint32_t pixclock;              /* pixel clock in ps (pico seconds) */
   10.84 -+	uint32_t left_margin;           /* time from sync to picture */
   10.85 -+	uint32_t right_margin;          /* time from picture to sync */
   10.86 -+	uint32_t upper_margin;          /* time from sync to picture */
   10.87 -+	uint32_t lower_margin;
   10.88 -+	uint32_t hsync_len;             /* length of horizontal sync */
   10.89 -+	uint32_t vsync_len;             /* length of vertical sync */
   10.90 -+	uint32_t sync;                  /* see FB_SYNC_x */
   10.91 -+	uint32_t vmode;                 /* see FB_VMODE_x */
   10.92 -+	uint32_t reserved[6];           /* Reserved for future compatibility */
   10.93 -+};
   10.94 -+
   10.95 -+#define DEFAULTFBDEV  FB_0
   10.96 -+
   10.97 -+struct fb_fix_screeninfo {
   10.98 -+	char id[16];			/* identification string eg "TT Builtin" */
   10.99 -+	unsigned long smem_start;	/* Start of frame buffer mem */
  10.100 -+					/* (physical address) */
  10.101 -+	uint32_t smem_len;		/* Length of frame buffer mem */
  10.102 -+	uint32_t type;			/* see FB_TYPE_*		*/
  10.103 -+	uint32_t type_aux;		/* Interleave for interleaved Planes */
  10.104 -+	uint32_t visual;		/* see FB_VISUAL_*		*/ 
  10.105 -+	uint16_t xpanstep;		/* zero if no hardware panning  */
  10.106 -+	uint16_t ypanstep;		/* zero if no hardware panning  */
  10.107 -+	uint16_t ywrapstep;		/* zero if no hardware ywrap    */
  10.108 -+	uint32_t line_length;		/* length of a line in bytes    */
  10.109 -+	unsigned long mmio_start;	/* Start of Memory Mapped I/O   */
  10.110 -+					/* (physical address) */
  10.111 -+	uint32_t mmio_len;		/* Length of Memory Mapped I/O  */
  10.112 -+	uint32_t accel;			/* Indicate to driver which	*/
  10.113 -+					/*  specific chip/card we have	*/
  10.114 -+	uint16_t reserved[3];		/* Reserved for future compatibility */
  10.115 -+};
  10.116 -+
  10.117 -+struct fb_cmap {
  10.118 -+	uint32_t start;			/* First entry	*/
  10.119 -+	uint32_t len;			/* Number of entries */
  10.120 -+	uint16_t *red;			/* Red values	*/
  10.121 -+	uint16_t *green;
  10.122 -+	uint16_t *blue;
  10.123 -+	uint16_t *transp;			/* transparency, can be NULL */
  10.124 -+};
  10.125 -+
  10.126 -+#define FB_VISUAL_TRUECOLOR		2	/* True color	*/
  10.127 -+
  10.128 -+#define COLORLEVELS   (1 << 8)
  10.129 -+
  10.130 -+struct scroll_data {
  10.131 -+	int size;
  10.132 -+	int srv_size;
  10.133 -+	int offset;
  10.134 -+	int pos;
  10.135 -+};
  10.136 -+
  10.137 -+struct globals {
  10.138 -+	struct termios term_orig;
  10.139 -+	struct pollfd ufds[3];
  10.140 -+#define kbd_fd		ufds[0].fd
  10.141 -+#define vnc_fd		ufds[1].fd
  10.142 -+#define rat_fd		ufds[2].fd
  10.143 -+	struct scroll_data scroll[2];
  10.144 -+#define cols		scroll[0].size
  10.145 -+#define srv_cols	scroll[0].srv_size
  10.146 -+#define oc		scroll[0].offset
  10.147 -+#define mc		scroll[0].pos
  10.148 -+#define rows		scroll[1].size
  10.149 -+#define srv_rows	scroll[1].srv_size
  10.150 -+#define or		scroll[1].offset
  10.151 -+#define mr		scroll[1].pos
  10.152 -+	char rat_buttons;
  10.153 -+	int fb_fd;
  10.154 -+	void *fb_ptr;
  10.155 -+	int bpp;
  10.156 -+	int nr, ng, nb;
  10.157 -+	struct fb_var_screeninfo vinfo;
  10.158 -+	struct fb_fix_screeninfo finfo;
  10.159 -+	unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS];
  10.160 -+};
  10.161 -+
  10.162 -+#define G (*ptr_to_globals)
  10.163 -+#define INIT_G() do { \
  10.164 -+	SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
  10.165 -+} while (0)
  10.166 -+
  10.167 -+static int fb_len(void)
  10.168 -+{
  10.169 -+	return G.finfo.line_length * G.vinfo.yres_virtual;
  10.170 -+}
  10.171 -+
  10.172 -+static void fb_ioctl_cmap(int fct, struct fb_cmap *cmap)
  10.173 -+{
  10.174 -+	if (G.finfo.visual == FB_VISUAL_TRUECOLOR)
  10.175 -+		return;
  10.176 -+	cmap->start = 0;
  10.177 -+	cmap->len = MAX(G.nr, MAX(G.ng, G.nb));
  10.178 -+	cmap->transp = NULL;
  10.179 -+	xioctl(G.fb_fd, fct, cmap);
  10.180 -+}
  10.181 -+
  10.182 -+static void fb_cmap_save(int save)
  10.183 -+{
  10.184 -+	struct fb_cmap cmap;
  10.185 -+	
  10.186 -+	cmap.red = G.red;
  10.187 -+	cmap.green = G.green;
  10.188 -+	cmap.blue = G.blue;
  10.189 -+	fb_ioctl_cmap(save ? FBIOGETCMAP : FBIOPUTCMAP, &cmap);
  10.190 -+}
  10.191 -+
  10.192 -+static void fb_build_cmap(unsigned short *color, int n)
  10.193 -+{
  10.194 -+	int i, inc = 65535 / (n - 1);
  10.195 -+	
  10.196 -+	for (i = 0; n--; i += inc)
  10.197 -+		*color++ = i;
  10.198 -+}
  10.199 -+
  10.200 -+static void fb_cmap(void)
  10.201 -+{
  10.202 -+	unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS];
  10.203 -+	struct fb_cmap cmap;
  10.204 -+
  10.205 -+	fb_build_cmap(cmap.red = red,     G.nr);
  10.206 -+	fb_build_cmap(cmap.green = green, G.ng);
  10.207 -+	fb_build_cmap(cmap.blue = blue,   G.nb);
  10.208 -+	fb_ioctl_cmap(FBIOPUTCMAP, &cmap);
  10.209 -+}
  10.210 -+
  10.211 -+static void fb_init(void)
  10.212 -+{
  10.213 -+	G.fb_fd = xopen(DEFAULTFBDEV, O_RDWR);
  10.214 -+	xioctl(G.fb_fd, FBIOGET_VSCREENINFO, &G.vinfo);
  10.215 -+	xioctl(G.fb_fd, FBIOGET_FSCREENINFO, &G.finfo);
  10.216 -+	close_on_exec_on(G.fb_fd);
  10.217 -+	G.fb_ptr = mmap(NULL, fb_len(), PROT_READ | PROT_WRITE, MAP_SHARED, G.fb_fd, 0);
  10.218 -+	if (G.fb_ptr == MAP_FAILED)
  10.219 -+		bb_perror_msg_and_die("mmap");
  10.220 -+	G.bpp = (G.vinfo.bits_per_pixel + 7) >> 3;
  10.221 -+	G.nr = 1 << G.vinfo.red.length;
  10.222 -+	G.nb = 1 << G.vinfo.blue.length;
  10.223 -+	G.ng = 1 << G.vinfo.green.length;
  10.224 -+	fb_cmap_save(1);
  10.225 -+	fb_cmap();
  10.226 -+}
  10.227 -+
  10.228 -+static void fb_free(void)
  10.229 -+{
  10.230 -+	fb_cmap_save(0);
  10.231 -+	munmap(G.fb_ptr, fb_len());
  10.232 -+	close(G.fb_fd);
  10.233 -+}
  10.234 -+
  10.235 -+#define fb_rows vinfo.yres
  10.236 -+#define fb_cols vinfo.xres
  10.237 -+
  10.238 -+static void fb_set(int r, int c, void *mem, int len)
  10.239 -+{
  10.240 -+	memcpy(G.fb_ptr + (r + G.vinfo.yoffset) * G.finfo.line_length + 
  10.241 -+		(c + G.vinfo.xoffset) * G.bpp, mem, len * G.bpp);
  10.242 -+}
  10.243 -+
  10.244 -+#define line_buffer	bb_common_bufsiz1
  10.245 -+#define MAXPIX		(COMMON_BUFSIZE/sizeof(uint32_t))
  10.246 -+
  10.247 -+static void skip(int len)
  10.248 -+{
  10.249 -+	int n;
  10.250 -+	while (len > 0 && (n = read(G.vnc_fd, line_buffer, 
  10.251 -+				    MIN(len, COMMON_BUFSIZE))) > 0)
  10.252 -+		len -= n;
  10.253 -+}
  10.254 -+
  10.255 -+static void vnc_init(void)
  10.256 -+{
  10.257 -+	struct vnc_client_init clientinit;
  10.258 -+	struct vnc_server_init serverinit;
  10.259 -+	struct vnc_client_pixelfmt pixfmt_cmd;
  10.260 -+	int connstat = VNC_CONN_FAILED;
  10.261 -+
  10.262 -+	write(G.vnc_fd, "RFB 003.003\n", 12);
  10.263 -+	skip(12);
  10.264 -+
  10.265 -+	xread(G.vnc_fd, &connstat, sizeof(connstat));
  10.266 -+
  10.267 -+	if (ntohl(connstat) != VNC_CONN_NOAUTH)
  10.268 -+		bb_perror_msg_and_die("vnc auth");
  10.269 -+
  10.270 -+	clientinit.shared = 1;
  10.271 -+	write(G.vnc_fd, &clientinit, sizeof(clientinit));
  10.272 -+	read(G.vnc_fd, &serverinit, sizeof(serverinit));
  10.273 -+
  10.274 -+	fb_init();
  10.275 -+	G.srv_cols = ntohs(serverinit.w);
  10.276 -+	G.srv_rows = ntohs(serverinit.h);
  10.277 -+	G.cols = MIN(G.srv_cols, G.fb_cols);
  10.278 -+	G.rows = MIN(G.srv_rows, G.fb_rows);
  10.279 -+	G.mr = G.rows / 2;
  10.280 -+	G.mc = G.cols / 2;
  10.281 -+
  10.282 -+	skip(ntohl(serverinit.len));
  10.283 -+	pixfmt_cmd.type = VNC_CLIENT_PIXFMT;
  10.284 -+	pixfmt_cmd.format.bigendian = 0;
  10.285 -+	pixfmt_cmd.format.truecolor = 1;
  10.286 -+	pixfmt_cmd.format.bpp =
  10.287 -+	pixfmt_cmd.format.depth = G.bpp << 3;
  10.288 -+	pixfmt_cmd.format.rmax = htons(G.nr - 1);
  10.289 -+	pixfmt_cmd.format.gmax = htons(G.ng - 1);
  10.290 -+	pixfmt_cmd.format.bmax = htons(G.nb - 1);
  10.291 -+	pixfmt_cmd.format.rshl = G.vinfo.red.offset;
  10.292 -+	pixfmt_cmd.format.gshl = G.vinfo.green.offset;
  10.293 -+	pixfmt_cmd.format.bshl = G.vinfo.blue.offset;
  10.294 -+	write(G.vnc_fd, &pixfmt_cmd, sizeof(pixfmt_cmd));
  10.295 -+}
  10.296 -+
  10.297 -+static void vnc_refresh(int inc)
  10.298 -+{
  10.299 -+	struct vnc_client_fbup fbup_req;
  10.300 -+	fbup_req.type = VNC_CLIENT_FBUP;
  10.301 -+	fbup_req.inc = inc;
  10.302 -+	fbup_req.x = htons(G.oc);
  10.303 -+	fbup_req.y = htons(G.or);
  10.304 -+	fbup_req.w = htons(G.oc + G.cols);
  10.305 -+	fbup_req.h = htons(G.or + G.rows);
  10.306 -+	write(G.vnc_fd, &fbup_req, sizeof(fbup_req));
  10.307 -+}
  10.308 -+
  10.309 -+static void cleanup(void)
  10.310 -+{
  10.311 -+#define RESETSTR "\x1b[?25h\x1b[2J\x1b[H"
  10.312 -+	fb_free();
  10.313 -+	tcsetattr_stdin_TCSANOW(&G.term_orig);
  10.314 -+	write(STDOUT_FILENO, RESETSTR, sizeof(RESETSTR));
  10.315 -+	if (ENABLE_FEATURE_CLEAN_UP) {
  10.316 -+		close(G.vnc_fd);
  10.317 -+		close(G.rat_fd);
  10.318 -+	}
  10.319 -+}
  10.320 -+
  10.321 -+static void killed(int code) NORETURN;
  10.322 -+static void killed(int code)
  10.323 -+{
  10.324 -+	cleanup();
  10.325 -+	if (code > EXIT_FAILURE)
  10.326 -+		kill_myself_with_sig(code);
  10.327 -+	exit(code);
  10.328 -+}
  10.329 -+
  10.330 -+static void vnc_event(void)
  10.331 -+{
  10.332 -+	struct vnc_rect uprect;
  10.333 -+	union {
  10.334 -+		struct vnc_server_fbup fbup;
  10.335 -+		struct vnc_server_cuttext cuttext;
  10.336 -+		struct vnc_server_colormap colormap;
  10.337 -+	} msg;
  10.338 -+	int n;
  10.339 -+
  10.340 -+	switch (xread_char(G.vnc_fd)) {
  10.341 -+	case VNC_SERVER_FBUP:
  10.342 -+		xread(G.vnc_fd, &msg.fbup.pad, sizeof(msg.fbup) - 1);
  10.343 -+		n = ntohs(msg.fbup.n);
  10.344 -+		while (n--) {
  10.345 -+			int x, y, w, h, l, i;
  10.346 -+			xread(G.vnc_fd, &uprect, sizeof(uprect));
  10.347 -+			if (uprect.enc != 0)
  10.348 -+				killed(1);
  10.349 -+			i = 0;
  10.350 -+			x = ntohs(uprect.x) - G.oc;
  10.351 -+			y = ntohs(uprect.y) - G.or;
  10.352 -+			w = ntohs(uprect.w);
  10.353 -+			h = ntohs(uprect.h);
  10.354 -+			l = MIN(w, G.cols - x);
  10.355 -+			if (x < 0) {
  10.356 -+				l = MIN(w + x, G.cols);
  10.357 -+				i = -x;
  10.358 -+				x = 0;
  10.359 -+			}
  10.360 -+			for (; h--; y++) {
  10.361 -+				int a, b, c = i;
  10.362 -+				for (a = b = 0; w > b; b += a, c = 0) {
  10.363 -+					int len;
  10.364 -+					a = MIN(w - b, MAXPIX);
  10.365 -+					len = MIN(a, l - b) - c;
  10.366 -+					xread(G.vnc_fd, line_buffer, a * G.bpp);
  10.367 -+					if (y >= 0 && y < G.rows && len > 0)
  10.368 -+						fb_set(y, x + b, 
  10.369 -+						       line_buffer + (c * G.bpp),
  10.370 -+						       len);
  10.371 -+				}
  10.372 -+			}
  10.373 -+		}
  10.374 -+		break;
  10.375 -+	case VNC_SERVER_BELL:
  10.376 -+		break;
  10.377 -+	case VNC_SERVER_CUTTEXT:
  10.378 -+		xread(G.vnc_fd, &msg.cuttext.pad1, sizeof(msg.cuttext) - 1);
  10.379 -+		skip(ntohl(msg.cuttext.len));
  10.380 -+		break;
  10.381 -+	case VNC_SERVER_COLORMAP:
  10.382 -+		xread(G.vnc_fd, &msg.colormap.pad, sizeof(msg.colormap) - 1);
  10.383 -+		skip(ntohs(msg.colormap.n) * 3 * 2);
  10.384 -+		break;
  10.385 -+	default:
  10.386 -+		killed(1);
  10.387 -+	}
  10.388 -+}
  10.389 -+
  10.390 -+static int update_scroll(struct scroll_data *s)
  10.391 -+{
  10.392 -+	int shift = s->size / 5;
  10.393 -+	int max = s->srv_size - s->size;
  10.394 -+	int status = 0;
  10.395 -+	if (s->pos < s->offset) {
  10.396 -+		if ((s->offset -= shift) < 0)
  10.397 -+			s->offset = 0;
  10.398 -+	}
  10.399 -+	else if (s->pos >= s->offset + s->size && s->offset < max) {
  10.400 -+		if ((s->offset += shift) > max)
  10.401 -+			s->offset = max;
  10.402 -+	}
  10.403 -+	else status++;
  10.404 -+	s->pos = MAX(s->offset, MIN(s->offset + s->size - 1, s->pos));
  10.405 -+	return status;
  10.406 -+}
  10.407 -+
  10.408 -+static void rat_event(void)
  10.409 -+{
  10.410 -+	static u8 btn2vnc[8] = {
  10.411 -+		0, VNC_BUTTON1_MASK, VNC_BUTTON3_MASK, 
  10.412 -+		VNC_BUTTON1_MASK + VNC_BUTTON3_MASK, VNC_BUTTON2_MASK, 
  10.413 -+		VNC_BUTTON1_MASK + VNC_BUTTON2_MASK,
  10.414 -+		VNC_BUTTON2_MASK + VNC_BUTTON3_MASK,
  10.415 -+		VNC_BUTTON1_MASK + VNC_BUTTON2_MASK + VNC_BUTTON3_MASK
  10.416 -+	};
  10.417 -+	signed char ie[4];
  10.418 -+	struct vnc_client_ratevent me = {VNC_CLIENT_RATEVENT};
  10.419 -+	int refresh;
  10.420 -+
  10.421 -+	xread(G.rat_fd, &ie, sizeof(ie));
  10.422 -+	G.mc += ie[1];
  10.423 -+	G.mr -= ie[2];
  10.424 -+	refresh = 2 - update_scroll(&G.scroll[0]) - update_scroll(&G.scroll[1]);
  10.425 -+	me.mask = btn2vnc[(int)(G.rat_buttons = ie[0] & 7)];
  10.426 -+	if (ie[3] > 0)		/* wheel up */
  10.427 -+		me.mask |= VNC_BUTTON4_MASK;
  10.428 -+	if (ie[3] < 0)		/* wheel down */
  10.429 -+		me.mask |= VNC_BUTTON5_MASK;
  10.430 -+	me.y = htons(G.mr);
  10.431 -+	me.x = htons(G.mc);
  10.432 -+	write(G.vnc_fd, &me, sizeof(me));
  10.433 -+	if (refresh)
  10.434 -+		vnc_refresh(0);
  10.435 -+}
  10.436 -+
  10.437 -+static int press(int key, int down)
  10.438 -+{
  10.439 -+	struct vnc_client_keyevent ke = {VNC_CLIENT_KEYEVENT};
  10.440 -+	ke.key = htonl(key);
  10.441 -+	ke.down = down;
  10.442 -+	return write(G.vnc_fd, &ke, sizeof(ke));
  10.443 -+}
  10.444 -+
  10.445 -+static void kbd_event(void)
  10.446 -+{
  10.447 -+	char key[1024];
  10.448 -+	int i, nr;
  10.449 -+
  10.450 -+	if ((nr = read(0, key, sizeof(key))) <= 0 )
  10.451 -+		killed(1);
  10.452 -+	for (i = 0; i < nr; i++) {
  10.453 -+		int j, k;
  10.454 -+		int mod[4];
  10.455 -+		int nmod;
  10.456 -+
  10.457 -+		k = nmod = 0;
  10.458 -+		switch (key[i]) {
  10.459 -+		case 0x08:
  10.460 -+		case 0x7f:
  10.461 -+			k = 0xff08;
  10.462 -+			break;
  10.463 -+		case 0x1b:
  10.464 -+			if (G.rat_buttons)
  10.465 -+				killed(0);
  10.466 -+			if (i + 2 < nr && key[i + 1] == '[') {
  10.467 -+				static const char arr2vnc[] = "HDACB";
  10.468 -+				char *p = strchr(arr2vnc, key[i + 2]);
  10.469 -+
  10.470 -+				if (p) {
  10.471 -+					k = p - arr2vnc + 0xff50;
  10.472 -+					i += 2;
  10.473 -+					break;
  10.474 -+				}
  10.475 -+			}
  10.476 -+			if (i + 1 < nr) {
  10.477 -+				mod[nmod++] = 0xffe9;
  10.478 -+				i++;
  10.479 -+			}
  10.480 -+		case 0x09:
  10.481 -+		case 0x0d:
  10.482 -+			k = 0xff00;
  10.483 -+			goto getkey;
  10.484 -+		case 0x0c:	/* Mouse button + ^L: redraw */
  10.485 -+			if (G.rat_buttons) {
  10.486 -+				vnc_refresh(0);
  10.487 -+				continue;
  10.488 -+			}
  10.489 -+		default:
  10.490 -+		getkey:
  10.491 -+			k += (unsigned char) key[i];
  10.492 -+		}
  10.493 -+		if ((k >= 'A' && k <= 'Z') || strchr(":\"<>?{}|+_()*&^%$#@!~", k))
  10.494 -+			mod[nmod++] = 0xffe1;
  10.495 -+		if (k >= 1 && k <= 26) {
  10.496 -+			k += 'a' - 1;
  10.497 -+			mod[nmod++] = 0xffe3;
  10.498 -+		}
  10.499 -+		mod[nmod] = k;
  10.500 -+		for (j = 0; j <= nmod; j++)
  10.501 -+			press(mod[j], 1);
  10.502 -+		press(k, 0);
  10.503 -+		for (j = 0; j < nmod; j++)
  10.504 -+			press(mod[j], 0);
  10.505 -+	}
  10.506 -+}
  10.507 -+
  10.508 -+static void term_setup(void)
  10.509 -+{
  10.510 -+	struct termios termios;
  10.511 -+#define INITSTR	"\x1b[?25l\x1b[2J\x1b[H** fbvnc **"
  10.512 -+
  10.513 -+	write(STDOUT_FILENO, INITSTR, sizeof(INITSTR));
  10.514 -+	tcgetattr (STDIN_FILENO, &termios);
  10.515 -+	G.term_orig = termios;
  10.516 -+	cfmakeraw(&termios);
  10.517 -+	tcsetattr_stdin_TCSANOW(&termios);
  10.518 -+}
  10.519 -+
  10.520 -+int fbvnc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  10.521 -+int fbvnc_main(int argc, char **argv)
  10.522 -+{
  10.523 -+	char *host = (char *) "127.0.0.1";
  10.524 -+	int port, pending = 0;
  10.525 -+	
  10.526 -+	INIT_G();
  10.527 -+	if (argc >= 2)
  10.528 -+		host = argv[1];
  10.529 -+	port = bb_lookup_port((argc >= 3) ?  argv[2] : "vnc", "tcp", 5900);
  10.530 -+	G.vnc_fd = create_and_connect_stream_or_die(host, port);
  10.531 -+	vnc_init();
  10.532 -+	G.rat_fd = open("/dev/input/mice", O_RDWR);
  10.533 -+	write(G.rat_fd, "\xf3\xc8\xf3\x64\xf3\x50", 6);	/* for using mouse wheel */
  10.534 -+	read(G.rat_fd, line_buffer, 1);
  10.535 -+	term_setup();
  10.536 -+	atexit(cleanup);
  10.537 -+	bb_signals(BB_FATAL_SIGS, killed);
  10.538 -+
  10.539 -+	G.ufds[0].events =
  10.540 -+	G.ufds[1].events =
  10.541 -+	G.ufds[2].events = POLLIN;
  10.542 -+	vnc_refresh(0);
  10.543 -+	while (1) {
  10.544 -+		int status = poll(G.ufds, 3, 500);
  10.545 -+		if (status == -1 && errno != EINTR)
  10.546 -+			killed(1);
  10.547 -+		if (!status)
  10.548 -+			continue;
  10.549 -+		if (G.ufds[0].revents & POLLIN)
  10.550 -+			kbd_event();
  10.551 -+		if (G.ufds[1].revents & POLLIN) {
  10.552 -+			vnc_event();
  10.553 -+			pending = 0;
  10.554 -+		}
  10.555 -+		if (G.ufds[2].revents & POLLIN)
  10.556 -+			rat_event();
  10.557 -+		if (!pending++)
  10.558 -+			vnc_refresh(1);
  10.559 -+	}
  10.560 -+}
  10.561 ---- /dev/null
  10.562 -+++ busybox/util-linux/vnc.h
  10.563 -@@ -0,0 +1,124 @@
  10.564 -+#define VNC_CONN_FAILED		0
  10.565 -+#define VNC_CONN_NOAUTH		1
  10.566 -+#define VNC_CONN_AUTH		2
  10.567 -+
  10.568 -+#define VNC_AUTH_OK		0
  10.569 -+#define VNC_AUTH_FAILED		1
  10.570 -+#define VNC_AUTH_TOOMANY	2
  10.571 -+
  10.572 -+#define VNC_SERVER_FBUP		0
  10.573 -+#define VNC_SERVER_COLORMAP	1
  10.574 -+#define VNC_SERVER_BELL		2
  10.575 -+#define VNC_SERVER_CUTTEXT	3
  10.576 -+
  10.577 -+#define VNC_CLIENT_PIXFMT	0
  10.578 -+#define VNC_CLIENT_COLORMAP	1
  10.579 -+#define VNC_CLIENT_SETENC	2
  10.580 -+#define VNC_CLIENT_FBUP		3
  10.581 -+#define VNC_CLIENT_KEYEVENT	4
  10.582 -+#define VNC_CLIENT_RATEVENT	5
  10.583 -+#define VNC_CLIENT_CUTTEXT	6
  10.584 -+
  10.585 -+#define VNC_ENC_RAW		0
  10.586 -+#define VNC_ENC_COPYRECT	1
  10.587 -+#define VNC_ENC_RRE		2
  10.588 -+#define VNC_ENC_CORRE		4
  10.589 -+#define VNC_ENC_HEXTILE		5
  10.590 -+
  10.591 -+#define VNC_BUTTON1_MASK	0x01
  10.592 -+#define VNC_BUTTON2_MASK	0x02
  10.593 -+#define VNC_BUTTON3_MASK	0x04
  10.594 -+#define VNC_BUTTON4_MASK	0x10
  10.595 -+#define VNC_BUTTON5_MASK	0x08
  10.596 -+
  10.597 -+typedef unsigned char u8;
  10.598 -+typedef unsigned short u16;
  10.599 -+typedef unsigned int u32;
  10.600 -+
  10.601 -+struct vnc_pixelfmt {
  10.602 -+	u8 bpp;
  10.603 -+	u8 depth;
  10.604 -+	u8 bigendian;
  10.605 -+	u8 truecolor;
  10.606 -+	u16 rmax;
  10.607 -+	u16 gmax;
  10.608 -+	u16 bmax;
  10.609 -+	u8 rshl;
  10.610 -+	u8 gshl;
  10.611 -+	u8 bshl;
  10.612 -+
  10.613 -+	u8 pad1;
  10.614 -+	u16 pad2;
  10.615 -+};
  10.616 -+
  10.617 -+struct vnc_client_init {
  10.618 -+	u8 shared;
  10.619 -+};
  10.620 -+
  10.621 -+struct vnc_server_init {
  10.622 -+    u16 w;
  10.623 -+    u16 h;
  10.624 -+    struct vnc_pixelfmt fmt;
  10.625 -+    u32 len;
  10.626 -+    /* char name[len]; */
  10.627 -+};
  10.628 -+
  10.629 -+struct vnc_rect {
  10.630 -+	u16 x, y;
  10.631 -+	u16 w, h;
  10.632 -+	u32 enc;
  10.633 -+	/* rect bytes */
  10.634 -+};
  10.635 -+
  10.636 -+struct vnc_server_fbup {
  10.637 -+    u8 type;
  10.638 -+    u8 pad;
  10.639 -+    u16 n;
  10.640 -+    /* struct vnc_rect rects[n]; */
  10.641 -+};
  10.642 -+
  10.643 -+struct vnc_server_cuttext {
  10.644 -+	u8 type;
  10.645 -+	u8 pad1;
  10.646 -+	u16 pad2;
  10.647 -+	u32 len;
  10.648 -+	/* char text[length] */
  10.649 -+};
  10.650 -+
  10.651 -+struct vnc_server_colormap {
  10.652 -+	u8 type;
  10.653 -+	u8 pad;
  10.654 -+	u16 first;
  10.655 -+	u16 n;
  10.656 -+	/* u8 colors[n * 3 * 2]; */
  10.657 -+};
  10.658 -+
  10.659 -+struct vnc_client_pixelfmt {
  10.660 -+	u8 type;
  10.661 -+	u8 pad1;
  10.662 -+	u16 pad2;
  10.663 -+	struct vnc_pixelfmt format;
  10.664 -+};
  10.665 -+
  10.666 -+struct vnc_client_fbup {
  10.667 -+	u8 type;
  10.668 -+	u8 inc;
  10.669 -+	u16 x;
  10.670 -+	u16 y;
  10.671 -+	u16 w;
  10.672 -+	u16 h;
  10.673 -+};
  10.674 -+
  10.675 -+struct vnc_client_keyevent {
  10.676 -+	u8 type;
  10.677 -+	u8 down;
  10.678 -+	u16 pad;
  10.679 -+	u32 key;
  10.680 -+};
  10.681 -+
  10.682 -+struct vnc_client_ratevent {
  10.683 -+	u8 type;
  10.684 -+	u8 mask;
  10.685 -+	u16 x;
  10.686 -+	u16 y;
  10.687 -+};
    11.1 --- a/busybox/stuff/busybox-1.26-ftpd.u	Sun Aug 20 09:49:39 2017 +0200
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,60 +0,0 @@
    11.4 -Keep anonynous default usage, need -a for authentication check
    11.5 ---- busybox-1.26/networking/ftpd.c
    11.6 -+++ busybox-1.26/networking/ftpd.c
    11.7 -@@ -47,7 +47,7 @@
    11.8 - //kbuild:lib-$(CONFIG_FTPD) += ftpd.o
    11.9 - 
   11.10 - //usage:#define ftpd_trivial_usage
   11.11 --//usage:       "[-wvS] [-t N] [-T N] [DIR]"
   11.12 -+//usage:       "[-wvSa] [-t N] [-T N] [DIR]"
   11.13 - //usage:#define ftpd_full_usage "\n\n"
   11.14 - //usage:       "Anonymous FTP server\n"
   11.15 - //usage:       "\n"
   11.16 -@@ -59,6 +59,7 @@
   11.17 - //usage:     "\n	-w	Allow upload"
   11.18 - //usage:     "\n	-v	Log errors to stderr. -vv: verbose log"
   11.19 - //usage:     "\n	-S	Log errors to syslog. -SS: verbose log"
   11.20 -+//usage:     "\n	-a	Authentication check"
   11.21 - //usage:     "\n	-t,-T	Idle and absolute timeouts"
   11.22 - //usage:     "\n	DIR	Change root to this directory"
   11.23 - 
   11.24 -@@ -1142,7 +1143,8 @@
   11.25 - #endif
   11.26 - 	OPT_v = (1 << ((!BB_MMU) * 3 + 0)),
   11.27 - 	OPT_S = (1 << ((!BB_MMU) * 3 + 1)),
   11.28 --	OPT_w = (1 << ((!BB_MMU) * 3 + 2)) * ENABLE_FEATURE_FTPD_WRITE,
   11.29 -+	OPT_a = (1 << ((!BB_MMU) * 3 + 2)),
   11.30 -+	OPT_w = (1 << ((!BB_MMU) * 3 + 3)) * ENABLE_FEATURE_FTPD_WRITE,
   11.31 - };
   11.32 - 
   11.33 - int ftpd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   11.34 -@@ -1166,9 +1168,9 @@
   11.35 - 	G.timeout = 2 * 60;
   11.36 - 	opt_complementary = "vv:SS";
   11.37 - #if BB_MMU
   11.38 --	opts = getopt32(argv,    "vS" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S);
   11.39 -+	opts = getopt32(argv,    "vSa" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S);
   11.40 - #else
   11.41 --	opts = getopt32(argv, "l1AvS" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S);
   11.42 -+	opts = getopt32(argv, "l1AvSa" IF_FEATURE_FTPD_WRITE("w") "t:+T:+", &G.timeout, &abs_timeout, &G.verbose, &verbose_S);
   11.43 - 	if (opts & (OPT_l|OPT_1)) {
   11.44 - 		/* Our secret backdoor to ls */
   11.45 - /* TODO: pass --group-directories-first? would be nice, but ls doesn't do that yet */
   11.46 -@@ -1232,7 +1234,7 @@
   11.47 - 	signal(SIGALRM, timeout_handler);
   11.48 - 
   11.49 - #if ENABLE_FEATURE_FTPD_AUTHENTICATION
   11.50 --	while (1) {
   11.51 -+	if (opts & OPT_a) while (1) {
   11.52 - 		uint32_t cmdval = cmdio_get_cmd_and_arg();
   11.53 - 			if (cmdval == const_USER) {
   11.54 - 			pw = getpwnam(G.ftp_arg);
   11.55 -@@ -1282,7 +1284,7 @@
   11.56 - 	}
   11.57 - 
   11.58 - #if ENABLE_FEATURE_FTPD_AUTHENTICATION
   11.59 --	change_identity(pw);
   11.60 -+	if (opts & OPT_a) change_identity(pw);
   11.61 - #endif
   11.62 - 
   11.63 - 	/* RFC-959 Section 5.1
    12.1 --- a/busybox/stuff/busybox-1.26-losetup.u	Sun Aug 20 09:49:39 2017 +0200
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,28 +0,0 @@
    12.4 -keep previous default behaviour and display cloop devices
    12.5 ---- busybox-1.26/util-linux/losetup.c
    12.6 -+++ busybox-1.26/util-linux/losetup.c
    12.7 -@@ -82,17 +82,21 @@
    12.8 - 	}
    12.9 - 
   12.10 - 	/* -a */
   12.11 --	if (opt == OPT_a) {
   12.12 --		int n;
   12.13 -+	if (opt == OPT_a || (!opt && !argv[0])) {
   12.14 -+		int i, n;
   12.15 -+		static const char *fmt[3] = { LOOP_FORMAT, "/dev/cloop", "/dev/cloop%u" };
   12.16 -+		
   12.17 -+		for (i = 0; i < 3; i++)
   12.18 - 		for (n = 0; n < MAX_LOOP_NUM; n++) {
   12.19 - 			char *s;
   12.20 - 
   12.21 --			sprintf(dev, LOOP_FORMAT, n);
   12.22 -+			sprintf(dev, fmt[i], n);
   12.23 - 			s = query_loop(dev);
   12.24 - 			if (s) {
   12.25 - 				printf("%s: %s\n", dev, s);
   12.26 - 				free(s);
   12.27 - 			}
   12.28 -+			if (i == 1) break; /* /dev/cloop */
   12.29 - 		}
   12.30 - 		return EXIT_SUCCESS;
   12.31 - 	}
    13.1 --- a/busybox/stuff/busybox-1.26-printable.u	Sun Aug 20 09:49:39 2017 +0200
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,24 +0,0 @@
    13.4 -fix the bug of 'ls cannot display utf-8 filenames'
    13.5 ---- busybox-1.25/libbb/printable_string.c
    13.6 -+++ busybox-1.25/libbb/printable_string.c
    13.7 -@@ -28,8 +28,8 @@
    13.8 - 		}
    13.9 - 		if (c < ' ')
   13.10 - 			break;
   13.11 --		if (c >= 0x7f)
   13.12 --			break;
   13.13 -+		/* if (c >= 0x7f) */
   13.14 -+			/* break; */
   13.15 - 		s++;
   13.16 - 	}
   13.17 - 
   13.18 -@@ -42,7 +42,8 @@
   13.19 - 			unsigned char c = *d;
   13.20 - 			if (c == '\0')
   13.21 - 				break;
   13.22 --			if (c < ' ' || c >= 0x7f)
   13.23 -+			/* if (c < ' ' || c >= 0x7f) */
   13.24 -+			if (c < ' ')
   13.25 - 				*d = '?';
   13.26 - 			d++;
   13.27 - 		}
    14.1 --- a/busybox/stuff/busybox-1.26-ris.u	Sun Aug 20 09:49:39 2017 +0200
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,90 +0,0 @@
    14.4 -Add support for the Windows Remote Installation Service
    14.5 ---- busybox-1.26/networking/tftp.c
    14.6 -+++ busybox-1.26/networking/tftp.c
    14.7 -@@ -39,6 +39,15 @@
    14.8 - //config:comment "Common options for tftp/tftpd"
    14.9 - //config:	depends on TFTP || TFTPD
   14.10 - //config:
   14.11 -+//config:config FEATURE_TFTPD_RIS
   14.12 -+//config:	bool "Enable \"RIS\" support"
   14.13 -+//config:	default y
   14.14 -+//config:	depends on TFTPD
   14.15 -+//config:	help
   14.16 -+//config:	  Add support for the Windows Remote Installation Service. This allows
   14.17 -+//config:	  a client to get files starting with \ without respecting case.
   14.18 -+//config:	  Each \ will be replaced by a /.
   14.19 -+//config:
   14.20 - //config:config FEATURE_TFTP_GET
   14.21 - //config:	bool "Enable 'tftp get' and/or tftpd upload code"
   14.22 - //config:	default y
   14.23 -@@ -745,6 +754,59 @@
   14.24 - #undef remote_file
   14.25 - }
   14.26 - 
   14.27 -+#if ENABLE_FEATURE_TFTPD_RIS
   14.28 -+#include <dirent.h>
   14.29 -+
   14.30 -+static int lookup_entry(const char *search, char *unixpath);
   14.31 -+static void unixfilename(char *filename);
   14.32 -+
   14.33 -+// lookup search and concat real filename to unixpath
   14.34 -+static int lookup_entry(const char *search, char *unixpath)
   14.35 -+{
   14.36 -+ 	int status = 0;
   14.37 -+	DIR *dirp = opendir(unixpath[0] ? unixpath : ".");
   14.38 -+ 
   14.39 -+ 	if (dirp != NULL) {
   14.40 -+		struct dirent *entry;
   14.41 -+
   14.42 -+		while ((entry = readdir(dirp))) {
   14.43 -+			if (!strcasecmp(entry->d_name, search)) {
   14.44 -+				if (unixpath[0]) strcat(unixpath, "/");
   14.45 -+				strcat(unixpath, entry->d_name);
   14.46 -+				status++;
   14.47 -+				break;
   14.48 -+			}
   14.49 -+		}
   14.50 -+		closedir(dirp);
   14.51 -+ 	}
   14.52 -+	return status;
   14.53 -+}
   14.54 -+
   14.55 -+// update filename with real file path found
   14.56 -+static void unixfilename(char *filename)
   14.57 -+{
   14.58 -+	char unixpath[PATH_MAX];
   14.59 -+	char *s = unixpath + 1;
   14.60 -+	char *check = filename + 1;
   14.61 -+	int len;
   14.62 -+
   14.63 -+	for (unixpath[0] = 0; *check; len++, s += len, check += len) {
   14.64 -+		char *seek = strchr(check, '\\');
   14.65 -+
   14.66 -+		if (!seek) { // basename of filename
   14.67 -+			if (lookup_entry(check, unixpath))
   14.68 -+				strcpy(filename, unixpath); // found
   14.69 -+			break;
   14.70 -+		}
   14.71 -+		len = seek - check;
   14.72 -+		memcpy(s, check, len);
   14.73 -+		s[len] = '\0';
   14.74 -+		if (!lookup_entry(s, unixpath))
   14.75 -+			break; // path mismatch
   14.76 -+	}
   14.77 -+}
   14.78 -+#endif
   14.79 -+
   14.80 - #if ENABLE_TFTP
   14.81 - 
   14.82 - int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   14.83 -@@ -893,6 +955,10 @@
   14.84 - 	G.block_buf_tail[0] = '\0';
   14.85 - 
   14.86 - 	local_file = G.block_buf + 2;
   14.87 -+#if ENABLE_FEATURE_TFTPD_RIS
   14.88 -+	if (local_file[0] == '\\')
   14.89 -+		unixfilename(local_file);
   14.90 -+#endif
   14.91 - 	if (local_file[0] == '.' || strstr(local_file, "/.")) {
   14.92 - 		error_msg = "dot in file name";
   14.93 - 		goto err;
    15.1 --- a/busybox/stuff/busybox-1.26-scriptreplay.u	Sun Aug 20 09:49:39 2017 +0200
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,56 +0,0 @@
    15.4 ---- busybox-1.26/util-linux/scriptreplay.c
    15.5 -+++ busybox-1.26/util-linux/scriptreplay.c
    15.6 -@@ -18,10 +18,20 @@
    15.7 - 
    15.8 - //kbuild:lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o
    15.9 - 
   15.10 -+//config:config SCRIPTREPLAY_HOTKEYS
   15.11 -+//config:	bool "speed control hotkeys"
   15.12 -+//config:	default n
   15.13 -+//config:	depends on SCRIPTREPLAY
   15.14 -+//config:	help
   15.15 -+//config:	  Tune replay speed with + - = space return hotkeys.
   15.16 -+
   15.17 - //usage:#define scriptreplay_trivial_usage
   15.18 - //usage:       "timingfile [typescript [divisor]]"
   15.19 - //usage:#define scriptreplay_full_usage "\n\n"
   15.20 - //usage:       "Play back typescripts, using timing information"
   15.21 -+//usage:	IF_SCRIPTREPLAY_HOTKEYS(
   15.22 -+//usage:       " and + - = space return hotkeys"
   15.23 -+//usage:	)
   15.24 - 
   15.25 - #include "libbb.h"
   15.26 - 
   15.27 -@@ -31,6 +41,10 @@
   15.28 - 	const char *script = "typescript";
   15.29 - 	double delay, factor = 1000000.0;
   15.30 - 	int fd;
   15.31 -+#if ENABLE_SCRIPTREPLAY_HOTKEYS
   15.32 -+	int timeout = -1;
   15.33 -+	char buffer[KEYCODE_BUFFER_SIZE];
   15.34 -+#endif
   15.35 - 	unsigned long count;
   15.36 - 	FILE *tfp;
   15.37 - 
   15.38 -@@ -48,6 +62,21 @@
   15.39 - 	while (fscanf(tfp, "%lf %lu\n", &delay, &count) == 2) {
   15.40 - 		usleep(delay * factor);
   15.41 - 		bb_copyfd_exact_size(fd, STDOUT_FILENO, count);
   15.42 -+#if ENABLE_SCRIPTREPLAY_HOTKEYS
   15.43 -+		switch (read_key(0, buffer, timeout)) {
   15.44 -+		case ' ':
   15.45 -+			timeout = INT_MAX;
   15.46 -+			break;
   15.47 -+		case '=':
   15.48 -+			factor = 1000000.0/2;
   15.49 -+		case '-':
   15.50 -+			factor *= 4;
   15.51 -+		case '+':
   15.52 -+			factor /= 2;
   15.53 -+		default :
   15.54 -+			timeout = -1;
   15.55 -+		}
   15.56 -+#endif
   15.57 - 	}
   15.58 - 	if (ENABLE_FEATURE_CLEAN_UP) {
   15.59 - 		close(fd);
    16.1 --- a/busybox/stuff/busybox-1.26-shutdown.u	Sun Aug 20 09:49:39 2017 +0200
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,62 +0,0 @@
    16.4 ---- busybox-1.26/init/halt.c
    16.5 -+++ busybox-1.26/init/halt.c
    16.6 -@@ -48,6 +48,7 @@
    16.7 - //applet:IF_HALT(APPLET(halt, BB_DIR_SBIN, BB_SUID_DROP))
    16.8 - //applet:IF_POWEROFF(APPLET_ODDNAME(poweroff, halt, BB_DIR_SBIN, BB_SUID_DROP, poweroff))
    16.9 - //applet:IF_REBOOT(APPLET_ODDNAME(reboot, halt, BB_DIR_SBIN, BB_SUID_DROP, reboot))
   16.10 -+//applet:IF_REBOOT(APPLET_ODDNAME(shutdown, halt, BB_DIR_SBIN, BB_SUID_DROP, shutdown))
   16.11 - 
   16.12 - //kbuild:lib-$(CONFIG_HALT) += halt.o
   16.13 - //kbuild:lib-$(CONFIG_POWEROFF) += halt.o
   16.14 -@@ -79,6 +80,15 @@
   16.15 - //usage:     "\n	-d SEC	Delay interval"
   16.16 - //usage:     "\n	-n	Do not sync"
   16.17 - //usage:     "\n	-f	Force (don't go through init)"
   16.18 -+//usage:
   16.19 -+//usage:#define shutdown_trivial_usage
   16.20 -+//usage:       "[-rhHP]"
   16.21 -+//usage:#define shutdown_full_usage "\n\n"
   16.22 -+//usage:       "Bring the system down\n"
   16.23 -+//usage:     "\n	-r	Do reboot"
   16.24 -+//usage:     "\n	-h	Do poweroff"
   16.25 -+//usage:     "\n	-H	Do halt"
   16.26 -+//usage:     "\n	-P	Do poweroff"
   16.27 - 
   16.28 - #include "libbb.h"
   16.29 - #include "reboot.h"
   16.30 -@@ -112,6 +122,7 @@
   16.31 - int halt_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   16.32 - int halt_main(int argc UNUSED_PARAM, char **argv)
   16.33 - {
   16.34 -+	enum { HALT=0, POWEROFF=1, REBOOT=2, SHUTDOWN=3 };
   16.35 - 	static const int magic[] = {
   16.36 - 		RB_HALT_SYSTEM,
   16.37 - 		RB_POWER_OFF,
   16.38 -@@ -132,15 +143,26 @@
   16.39 - 	if (!ENABLE_HALT && !ENABLE_POWEROFF && ENABLE_REBOOT)
   16.40 - 		which = 2;
   16.41 - 	else
   16.42 --	for (which = 0; "hpr"[which] != applet_name[0]; which++)
   16.43 -+	for (which = 0; "hprs"[which] != applet_name[0]; which++)
   16.44 - 		continue;
   16.45 - 
   16.46 -+	if (which == SHUTDOWN) {
   16.47 -+		which = REBOOT;
   16.48 -+		switch (getopt32(argv, "rhPH")) {
   16.49 -+			case 2:
   16.50 -+			case 4: which = POWEROFF; break;
   16.51 -+			case 8: which = HALT;
   16.52 -+		}
   16.53 -+		flags = 0;
   16.54 -+	}
   16.55 -+	else {
   16.56 - 	/* Parse and handle arguments */
   16.57 - 	/* We support -w even if !ENABLE_FEATURE_WTMP,
   16.58 - 	 * in order to not break scripts.
   16.59 - 	 * -i (shut down network interfaces) is ignored.
   16.60 - 	 */
   16.61 - 	flags = getopt32(argv, "d:+nfwi", &delay);
   16.62 -+	}
   16.63 - 
   16.64 - 	sleep(delay);
   16.65 - 
    17.1 --- a/busybox/stuff/busybox-1.26-stat.u	Sun Aug 20 09:49:39 2017 +0200
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,76 +0,0 @@
    17.4 -Add non standard stat -m support to display file block list
    17.5 -Useful to patch read-only filesystems such as ISO9660, for defragmentation
    17.6 -tools or boot loaders
    17.7 ---- busybox-1.26/coreutils/stat.c
    17.8 -+++ busybox-1.26/coreutils/stat.c
    17.9 -@@ -54,6 +54,7 @@
   17.10 - //usage:	)
   17.11 - //usage:     "\n	-L	Follow links"
   17.12 - //usage:     "\n	-t	Terse display"
   17.13 -+//usage:     "\n	-m	Display block list"
   17.14 - //usage:	IF_SELINUX(
   17.15 - //usage:     "\n	-Z	Print security context"
   17.16 - //usage:	)
   17.17 -@@ -106,13 +107,15 @@
   17.18 - //usage:	)
   17.19 - 
   17.20 - #include "libbb.h"
   17.21 -+#include <linux/fs.h>
   17.22 - #include "common_bufsiz.h"
   17.23 - 
   17.24 - enum {
   17.25 - 	OPT_TERSE       = (1 << 0),
   17.26 - 	OPT_DEREFERENCE = (1 << 1),
   17.27 --	OPT_FILESYS     = (1 << 2) * ENABLE_FEATURE_STAT_FILESYSTEM,
   17.28 --	OPT_SELINUX     = (1 << (2+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX,
   17.29 -+	OPT_MAP         = (1 << 2),
   17.30 -+	OPT_FILESYS     = (1 << 3) * ENABLE_FEATURE_STAT_FILESYSTEM,
   17.31 -+	OPT_SELINUX     = (1 << (3+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX,
   17.32 - };
   17.33 - 
   17.34 - #if ENABLE_FEATURE_STAT_FORMAT
   17.35 -@@ -463,6 +466,25 @@
   17.36 - }
   17.37 - #endif  /* FEATURE_STAT_FORMAT */
   17.38 - 
   17.39 -+#if !ENABLE_FEATURE_STAT_FORMAT
   17.40 -+#define do_mapfile(filename, format) do_mapfile(filename)
   17.41 -+#endif
   17.42 -+static bool do_mapfile(const char *filename, const char *format)
   17.43 -+{
   17.44 -+	int i = 0;
   17.45 -+	int fd = xopen(filename, O_RDONLY);
   17.46 -+
   17.47 -+#if ENABLE_FEATURE_STAT_FORMAT
   17.48 -+	(void) format;
   17.49 -+#endif
   17.50 -+	while (1) {
   17.51 -+		int blk = i++;
   17.52 -+		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   17.53 -+		printf("%u\n",blk);
   17.54 -+	}	
   17.55 -+	return 1;
   17.56 -+}
   17.57 -+
   17.58 - #if ENABLE_FEATURE_STAT_FILESYSTEM
   17.59 - /* Stat the file system and print what we find.  */
   17.60 - #if !ENABLE_FEATURE_STAT_FORMAT
   17.61 -@@ -763,7 +785,7 @@
   17.62 - 	statfunc_ptr statfunc = do_stat;
   17.63 - 
   17.64 - 	opt_complementary = "-1"; /* min one arg */
   17.65 --	opts = getopt32(argv, "tL"
   17.66 -+	opts = getopt32(argv, "tLm"
   17.67 - 		IF_FEATURE_STAT_FILESYSTEM("f")
   17.68 - 		IF_SELINUX("Z")
   17.69 - 		IF_FEATURE_STAT_FORMAT("c:", &format)
   17.70 -@@ -777,6 +799,9 @@
   17.71 - 		selinux_or_die();
   17.72 - 	}
   17.73 - #endif
   17.74 -+ 	if (opts & OPT_MAP) { /* -m */
   17.75 -+ 		statfunc = do_mapfile;
   17.76 -+	}
   17.77 - 	ok = 1;
   17.78 - 	argv += optind;
   17.79 - 	for (i = 0; argv[i]; ++i)
    18.1 --- a/busybox/stuff/busybox-1.26-tar.u	Sun Aug 20 09:49:39 2017 +0200
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,11 +0,0 @@
    18.4 -Accept and ignore --wildcards argument
    18.5 ---- busybox-1.25/archival/tar.c
    18.6 -+++ busybox-1.25/archival/tar.c
    18.7 -@@ -935,6 +935,7 @@
    18.8 - # if ENABLE_FEATURE_TAR_NOPRESERVE_TIME
    18.9 - 	"touch\0"               No_argument       "m"
   18.10 - # endif
   18.11 -+	"wildcards\0"           No_argument       "\xf8"
   18.12 - 	"strip-components\0"	Required_argument "\xf9"
   18.13 - 	"no-recursion\0"	No_argument       "\xfa"
   18.14 - # if ENABLE_FEATURE_TAR_TO_COMMAND
    19.1 --- a/busybox/stuff/busybox-1.26-zmodules.u	Sun Aug 20 09:49:39 2017 +0200
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,27 +0,0 @@
    19.4 -Add LZMA_DEFAULT_MAGIC support
    19.5 ---- busybox-1.25/archival/libarchive/open_transformer.c
    19.6 -+++ busybox-1.25/archival/libarchive/open_transformer.c
    19.7 -@@ -174,6 +174,23 @@
    19.8 - 	/* .gz and .bz2 both have 2-byte signature, and their
    19.9 - 	 * unpack_XXX_stream wants this header skipped. */
   19.10 - 	xread(fd, magic.b16, sizeof(magic.b16[0]));
   19.11 -+#if 1
   19.12 -+// SliTaz may use .gz suffix for lzma'd kernel modules
   19.13 -+#if BB_BIG_ENDIAN
   19.14 -+#define LZMA_DEFAULT_MAGIC 0x5d00
   19.15 -+#else
   19.16 -+#define LZMA_DEFAULT_MAGIC 0x5d
   19.17 -+#endif
   19.18 -+	if (ENABLE_FEATURE_SEAMLESS_LZMA
   19.19 -+	 && magic.b16[0] == LZMA_DEFAULT_MAGIC
   19.20 -+	) {
   19.21 -+		xlseek(fd, -xstate->signature_skipped, SEEK_CUR);
   19.22 -+		xstate->signature_skipped = 0;
   19.23 -+		xstate->xformer = unpack_lzma_stream;
   19.24 -+		USE_FOR_NOMMU(xstate->xformer_prog = "unlzma";)
   19.25 -+		goto found_magic;
   19.26 -+	}
   19.27 -+#endif
   19.28 - 	if (ENABLE_FEATURE_SEAMLESS_GZ
   19.29 - 	 && magic.b16[0] == GZIP_MAGIC
   19.30 - 	) {
    20.1 --- a/busybox/stuff/busybox-1.26.config	Sun Aug 20 09:49:39 2017 +0200
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,1092 +0,0 @@
    20.4 -#
    20.5 -# Automatically generated make config: don't edit
    20.6 -# Busybox version: 1.26.1
    20.7 -# Thu Jan  5 16:41:45 2017
    20.8 -#
    20.9 -CONFIG_HAVE_DOT_CONFIG=y
   20.10 -
   20.11 -#
   20.12 -# Busybox Settings
   20.13 -#
   20.14 -# CONFIG_DESKTOP is not set
   20.15 -# CONFIG_EXTRA_COMPAT is not set
   20.16 -# CONFIG_INCLUDE_SUSv2 is not set
   20.17 -# CONFIG_USE_PORTABLE_CODE is not set
   20.18 -CONFIG_PLATFORM_LINUX=y
   20.19 -CONFIG_SHOW_USAGE=y
   20.20 -# CONFIG_FEATURE_VERBOSE_USAGE is not set
   20.21 -CONFIG_FEATURE_COMPRESS_USAGE=y
   20.22 -CONFIG_BUSYBOX=y
   20.23 -# CONFIG_FEATURE_INSTALLER is not set
   20.24 -# CONFIG_INSTALL_NO_USR is not set
   20.25 -# CONFIG_PAM is not set
   20.26 -CONFIG_LONG_OPTS=y
   20.27 -CONFIG_FEATURE_DEVPTS=y
   20.28 -# CONFIG_FEATURE_CLEAN_UP is not set
   20.29 -CONFIG_FEATURE_UTMP=y
   20.30 -CONFIG_FEATURE_WTMP=y
   20.31 -CONFIG_FEATURE_PIDFILE=y
   20.32 -CONFIG_PID_FILE_PATH="/var/run"
   20.33 -CONFIG_FEATURE_SUID=y
   20.34 -# CONFIG_FEATURE_SUID_CONFIG is not set
   20.35 -# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   20.36 -# CONFIG_SELINUX is not set
   20.37 -CONFIG_FEATURE_PREFER_APPLETS=y
   20.38 -CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
   20.39 -CONFIG_FEATURE_SYSLOG=y
   20.40 -# CONFIG_FEATURE_HAVE_RPC is not set
   20.41 -
   20.42 -#
   20.43 -# Build Options
   20.44 -#
   20.45 -# CONFIG_STATIC is not set
   20.46 -# CONFIG_PIE is not set
   20.47 -# CONFIG_NOMMU is not set
   20.48 -# CONFIG_BUILD_LIBBUSYBOX is not set
   20.49 -# CONFIG_FEATURE_INDIVIDUAL is not set
   20.50 -# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   20.51 -# CONFIG_LFS is not set
   20.52 -CONFIG_CROSS_COMPILER_PREFIX="uclibc-i486-"
   20.53 -CONFIG_SYSROOT=""
   20.54 -CONFIG_EXTRA_CFLAGS=""
   20.55 -CONFIG_EXTRA_LDFLAGS=""
   20.56 -CONFIG_EXTRA_LDLIBS=""
   20.57 -
   20.58 -#
   20.59 -# Installation Options ("make install" behavior)
   20.60 -#
   20.61 -# CONFIG_INSTALL_APPLET_SYMLINKS is not set
   20.62 -CONFIG_INSTALL_APPLET_HARDLINKS=y
   20.63 -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   20.64 -# CONFIG_INSTALL_APPLET_DONT is not set
   20.65 -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   20.66 -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   20.67 -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   20.68 -CONFIG_PREFIX="./_install"
   20.69 -
   20.70 -#
   20.71 -# Debugging Options
   20.72 -#
   20.73 -# CONFIG_DEBUG is not set
   20.74 -# CONFIG_DEBUG_PESSIMIZE is not set
   20.75 -# CONFIG_DEBUG_SANITIZE is not set
   20.76 -# CONFIG_UNIT_TEST is not set
   20.77 -# CONFIG_WERROR is not set
   20.78 -CONFIG_NO_DEBUG_LIB=y
   20.79 -# CONFIG_DMALLOC is not set
   20.80 -# CONFIG_EFENCE is not set
   20.81 -
   20.82 -#
   20.83 -# Busybox Library Tuning
   20.84 -#
   20.85 -# CONFIG_FEATURE_USE_BSS_TAIL is not set
   20.86 -# CONFIG_FEATURE_RTMINMAX is not set
   20.87 -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
   20.88 -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   20.89 -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   20.90 -CONFIG_PASSWORD_MINLEN=6
   20.91 -CONFIG_MD5_SMALL=3
   20.92 -CONFIG_SHA3_SMALL=1
   20.93 -# CONFIG_FEATURE_FAST_TOP is not set
   20.94 -# CONFIG_FEATURE_ETC_NETWORKS is not set
   20.95 -CONFIG_FEATURE_USE_TERMIOS=y
   20.96 -CONFIG_FEATURE_EDITING=y
   20.97 -CONFIG_FEATURE_EDITING_MAX_LEN=1024
   20.98 -# CONFIG_FEATURE_EDITING_VI is not set
   20.99 -CONFIG_FEATURE_EDITING_HISTORY=32
  20.100 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
  20.101 -# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
  20.102 -# CONFIG_FEATURE_REVERSE_SEARCH is not set
  20.103 -CONFIG_FEATURE_TAB_COMPLETION=y
  20.104 -# CONFIG_FEATURE_USERNAME_COMPLETION is not set
  20.105 -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
  20.106 -# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
  20.107 -# CONFIG_LOCALE_SUPPORT is not set
  20.108 -# CONFIG_UNICODE_SUPPORT is not set
  20.109 -# CONFIG_UNICODE_USING_LOCALE is not set
  20.110 -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
  20.111 -CONFIG_SUBST_WCHAR=0
  20.112 -CONFIG_LAST_SUPPORTED_WCHAR=0
  20.113 -# CONFIG_UNICODE_COMBINING_WCHARS is not set
  20.114 -# CONFIG_UNICODE_WIDE_WCHARS is not set
  20.115 -# CONFIG_UNICODE_BIDI_SUPPORT is not set
  20.116 -# CONFIG_UNICODE_NEUTRAL_TABLE is not set
  20.117 -# CONFIG_UNICODE_PRESERVE_BROKEN is not set
  20.118 -CONFIG_FEATURE_NON_POSIX_CP=y
  20.119 -# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
  20.120 -CONFIG_FEATURE_USE_SENDFILE=y
  20.121 -CONFIG_FEATURE_COPYBUF_KB=4
  20.122 -CONFIG_FEATURE_SKIP_ROOTFS=y
  20.123 -CONFIG_MONOTONIC_SYSCALL=y
  20.124 -# CONFIG_IOCTL_HEX2STR_ERROR is not set
  20.125 -# CONFIG_FEATURE_HWIB is not set
  20.126 -
  20.127 -#
  20.128 -# Applets
  20.129 -#
  20.130 -
  20.131 -#
  20.132 -# Archival Utilities
  20.133 -#
  20.134 -# CONFIG_FEATURE_SEAMLESS_XZ is not set
  20.135 -# CONFIG_FEATURE_SEAMLESS_LZMA is not set
  20.136 -# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
  20.137 -# CONFIG_FEATURE_SEAMLESS_GZ is not set
  20.138 -# CONFIG_FEATURE_SEAMLESS_Z is not set
  20.139 -# CONFIG_AR is not set
  20.140 -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  20.141 -# CONFIG_FEATURE_AR_CREATE is not set
  20.142 -# CONFIG_UNCOMPRESS is not set
  20.143 -CONFIG_GUNZIP=y
  20.144 -CONFIG_ZCAT=y
  20.145 -# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set
  20.146 -CONFIG_BUNZIP2=y
  20.147 -# CONFIG_BZCAT is not set
  20.148 -CONFIG_UNLZMA=y
  20.149 -# CONFIG_LZCAT is not set
  20.150 -# CONFIG_LZMA is not set
  20.151 -# CONFIG_FEATURE_LZMA_FAST is not set
  20.152 -# CONFIG_UNXZ is not set
  20.153 -# CONFIG_XZCAT is not set
  20.154 -# CONFIG_XZ is not set
  20.155 -# CONFIG_BZIP2 is not set
  20.156 -CONFIG_CPIO=y
  20.157 -CONFIG_FEATURE_CPIO_O=y
  20.158 -# CONFIG_FEATURE_CPIO_P is not set
  20.159 -# CONFIG_DPKG is not set
  20.160 -# CONFIG_DPKG_DEB is not set
  20.161 -CONFIG_GZIP=y
  20.162 -# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
  20.163 -CONFIG_GZIP_FAST=0
  20.164 -# CONFIG_FEATURE_GZIP_LEVELS is not set
  20.165 -# CONFIG_LZOP is not set
  20.166 -# CONFIG_UNLZOP is not set
  20.167 -# CONFIG_LZOPCAT is not set
  20.168 -# CONFIG_LZOP_COMPR_HIGH is not set
  20.169 -# CONFIG_RPM is not set
  20.170 -# CONFIG_RPM2CPIO is not set
  20.171 -CONFIG_TAR=y
  20.172 -CONFIG_FEATURE_TAR_CREATE=y
  20.173 -# CONFIG_FEATURE_TAR_AUTODETECT is not set
  20.174 -# CONFIG_FEATURE_TAR_FROM is not set
  20.175 -# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
  20.176 -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  20.177 -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  20.178 -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
  20.179 -# CONFIG_FEATURE_TAR_TO_COMMAND is not set
  20.180 -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
  20.181 -# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
  20.182 -# CONFIG_FEATURE_TAR_SELINUX is not set
  20.183 -# CONFIG_UNZIP is not set
  20.184 -
  20.185 -#
  20.186 -# Coreutils
  20.187 -#
  20.188 -CONFIG_BASENAME=y
  20.189 -CONFIG_CAL=y
  20.190 -CONFIG_CAT=y
  20.191 -# CONFIG_CATV is not set
  20.192 -CONFIG_CHGRP=y
  20.193 -CONFIG_CHMOD=y
  20.194 -CONFIG_CHOWN=y
  20.195 -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
  20.196 -CONFIG_CHROOT=y
  20.197 -# CONFIG_CKSUM is not set
  20.198 -# CONFIG_COMM is not set
  20.199 -CONFIG_CP=y
  20.200 -# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
  20.201 -CONFIG_CUT=y
  20.202 -CONFIG_DATE=y
  20.203 -# CONFIG_FEATURE_DATE_ISOFMT is not set
  20.204 -# CONFIG_FEATURE_DATE_NANO is not set
  20.205 -# CONFIG_FEATURE_DATE_COMPAT is not set
  20.206 -CONFIG_DD=y
  20.207 -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  20.208 -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
  20.209 -CONFIG_FEATURE_DD_IBS_OBS=y
  20.210 -# CONFIG_FEATURE_DD_STATUS is not set
  20.211 -CONFIG_DF=y
  20.212 -# CONFIG_FEATURE_DF_FANCY is not set
  20.213 -CONFIG_DIRNAME=y
  20.214 -# CONFIG_DOS2UNIX is not set
  20.215 -# CONFIG_UNIX2DOS is not set
  20.216 -CONFIG_DU=y
  20.217 -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  20.218 -CONFIG_ECHO=y
  20.219 -CONFIG_FEATURE_FANCY_ECHO=y
  20.220 -# CONFIG_ENV is not set
  20.221 -# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
  20.222 -# CONFIG_EXPAND is not set
  20.223 -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
  20.224 -# CONFIG_UNEXPAND is not set
  20.225 -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
  20.226 -CONFIG_EXPR=y
  20.227 -# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  20.228 -CONFIG_FALSE=y
  20.229 -# CONFIG_FOLD is not set
  20.230 -# CONFIG_FSYNC is not set
  20.231 -CONFIG_HEAD=y
  20.232 -# CONFIG_FEATURE_FANCY_HEAD is not set
  20.233 -# CONFIG_HOSTID is not set
  20.234 -CONFIG_ID=y
  20.235 -# CONFIG_GROUPS is not set
  20.236 -# CONFIG_INSTALL is not set
  20.237 -# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
  20.238 -CONFIG_LN=y
  20.239 -# CONFIG_LOGNAME is not set
  20.240 -CONFIG_LS=y
  20.241 -CONFIG_FEATURE_LS_FILETYPES=y
  20.242 -CONFIG_FEATURE_LS_FOLLOWLINKS=y
  20.243 -CONFIG_FEATURE_LS_RECURSIVE=y
  20.244 -CONFIG_FEATURE_LS_SORTFILES=y
  20.245 -CONFIG_FEATURE_LS_TIMESTAMPS=y
  20.246 -CONFIG_FEATURE_LS_USERNAME=y
  20.247 -CONFIG_FEATURE_LS_COLOR=y
  20.248 -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  20.249 -CONFIG_MD5SUM=y
  20.250 -# CONFIG_SHA1SUM is not set
  20.251 -# CONFIG_SHA256SUM is not set
  20.252 -# CONFIG_SHA512SUM is not set
  20.253 -# CONFIG_SHA3SUM is not set
  20.254 -
  20.255 -#
  20.256 -# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
  20.257 -#
  20.258 -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  20.259 -CONFIG_MKDIR=y
  20.260 -# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
  20.261 -CONFIG_MKFIFO=y
  20.262 -CONFIG_MKNOD=y
  20.263 -CONFIG_MV=y
  20.264 -# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
  20.265 -# CONFIG_NICE is not set
  20.266 -# CONFIG_NOHUP is not set
  20.267 -CONFIG_OD=y
  20.268 -# CONFIG_PRINTENV is not set
  20.269 -CONFIG_PRINTF=y
  20.270 -CONFIG_PWD=y
  20.271 -CONFIG_READLINK=y
  20.272 -# CONFIG_FEATURE_READLINK_FOLLOW is not set
  20.273 -# CONFIG_REALPATH is not set
  20.274 -CONFIG_RM=y
  20.275 -CONFIG_RMDIR=y
  20.276 -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
  20.277 -CONFIG_SEQ=y
  20.278 -# CONFIG_SHUF is not set
  20.279 -CONFIG_SLEEP=y
  20.280 -# CONFIG_FEATURE_FANCY_SLEEP is not set
  20.281 -# CONFIG_FEATURE_FLOAT_SLEEP is not set
  20.282 -CONFIG_SORT=y
  20.283 -# CONFIG_FEATURE_SORT_BIG is not set
  20.284 -CONFIG_SPLIT=y
  20.285 -# CONFIG_FEATURE_SPLIT_FANCY is not set
  20.286 -CONFIG_STAT=y
  20.287 -CONFIG_FEATURE_STAT_FORMAT=y
  20.288 -# CONFIG_FEATURE_STAT_FILESYSTEM is not set
  20.289 -CONFIG_STTY=y
  20.290 -# CONFIG_SUM is not set
  20.291 -CONFIG_SYNC=y
  20.292 -# CONFIG_FEATURE_SYNC_FANCY is not set
  20.293 -# CONFIG_TAC is not set
  20.294 -CONFIG_TAIL=y
  20.295 -# CONFIG_FEATURE_FANCY_TAIL is not set
  20.296 -CONFIG_TEE=y
  20.297 -# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
  20.298 -CONFIG_TEST=y
  20.299 -CONFIG_TEST1=y
  20.300 -CONFIG_TEST2=y
  20.301 -# CONFIG_FEATURE_TEST_64 is not set
  20.302 -CONFIG_TOUCH=y
  20.303 -# CONFIG_FEATURE_TOUCH_NODEREF is not set
  20.304 -# CONFIG_FEATURE_TOUCH_SUSV3 is not set
  20.305 -# CONFIG_TR is not set
  20.306 -# CONFIG_FEATURE_TR_CLASSES is not set
  20.307 -# CONFIG_FEATURE_TR_EQUIV is not set
  20.308 -CONFIG_TRUE=y
  20.309 -# CONFIG_TRUNCATE is not set
  20.310 -CONFIG_TTY=y
  20.311 -CONFIG_UNAME=y
  20.312 -CONFIG_UNAME_OSNAME="SliTaz"
  20.313 -CONFIG_UNIQ=y
  20.314 -# CONFIG_UNLINK is not set
  20.315 -# CONFIG_USLEEP is not set
  20.316 -CONFIG_UUDECODE=y
  20.317 -# CONFIG_BASE64 is not set
  20.318 -CONFIG_UUENCODE=y
  20.319 -CONFIG_WC=y
  20.320 -# CONFIG_FEATURE_WC_LARGE is not set
  20.321 -# CONFIG_WHO is not set
  20.322 -# CONFIG_USERS is not set
  20.323 -# CONFIG_WHOAMI is not set
  20.324 -CONFIG_YES=y
  20.325 -
  20.326 -#
  20.327 -# Common options
  20.328 -#
  20.329 -# CONFIG_FEATURE_VERBOSE is not set
  20.330 -
  20.331 -#
  20.332 -# Common options for cp and mv
  20.333 -#
  20.334 -CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  20.335 -
  20.336 -#
  20.337 -# Common options for ls, more and telnet
  20.338 -#
  20.339 -CONFIG_FEATURE_AUTOWIDTH=y
  20.340 -
  20.341 -#
  20.342 -# Common options for df, du, ls
  20.343 -#
  20.344 -CONFIG_FEATURE_HUMAN_READABLE=y
  20.345 -
  20.346 -#
  20.347 -# Console Utilities
  20.348 -#
  20.349 -CONFIG_CHVT=y
  20.350 -CONFIG_CLEAR=y
  20.351 -# CONFIG_DEALLOCVT is not set
  20.352 -# CONFIG_DUMPKMAP is not set
  20.353 -# CONFIG_FGCONSOLE is not set
  20.354 -# CONFIG_KBD_MODE is not set
  20.355 -# CONFIG_LOADFONT is not set
  20.356 -# CONFIG_SETFONT is not set
  20.357 -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
  20.358 -CONFIG_DEFAULT_SETFONT_DIR=""
  20.359 -# CONFIG_FEATURE_LOADFONT_PSF2 is not set
  20.360 -# CONFIG_FEATURE_LOADFONT_RAW is not set
  20.361 -CONFIG_LOADKMAP=y
  20.362 -# CONFIG_OPENVT is not set
  20.363 -CONFIG_RESET=y
  20.364 -# CONFIG_RESIZE is not set
  20.365 -# CONFIG_FEATURE_RESIZE_PRINT is not set
  20.366 -# CONFIG_SETCONSOLE is not set
  20.367 -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  20.368 -# CONFIG_SETKEYCODES is not set
  20.369 -# CONFIG_SETLOGCONS is not set
  20.370 -# CONFIG_SHOWKEY is not set
  20.371 -
  20.372 -#
  20.373 -# Debian Utilities
  20.374 -#
  20.375 -CONFIG_MKTEMP=y
  20.376 -# CONFIG_PIPE_PROGRESS is not set
  20.377 -# CONFIG_RUN_PARTS is not set
  20.378 -# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  20.379 -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  20.380 -# CONFIG_START_STOP_DAEMON is not set
  20.381 -# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  20.382 -# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  20.383 -CONFIG_WHICH=y
  20.384 -
  20.385 -#
  20.386 -# Editors
  20.387 -#
  20.388 -CONFIG_AWK=y
  20.389 -# CONFIG_FEATURE_AWK_LIBM is not set
  20.390 -# CONFIG_FEATURE_AWK_GNU_EXTENSIONS is not set
  20.391 -# CONFIG_CMP is not set
  20.392 -# CONFIG_DIFF is not set
  20.393 -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
  20.394 -# CONFIG_FEATURE_DIFF_DIR is not set
  20.395 -# CONFIG_ED is not set
  20.396 -# CONFIG_PATCH is not set
  20.397 -CONFIG_SED=y
  20.398 -CONFIG_VI=y
  20.399 -CONFIG_FEATURE_VI_MAX_LEN=1024
  20.400 -# CONFIG_FEATURE_VI_8BIT is not set
  20.401 -CONFIG_FEATURE_VI_COLON=y
  20.402 -CONFIG_FEATURE_VI_YANKMARK=y
  20.403 -CONFIG_FEATURE_VI_SEARCH=y
  20.404 -# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
  20.405 -CONFIG_FEATURE_VI_USE_SIGNALS=y
  20.406 -CONFIG_FEATURE_VI_DOT_CMD=y
  20.407 -CONFIG_FEATURE_VI_READONLY=y
  20.408 -CONFIG_FEATURE_VI_SETOPTS=y
  20.409 -CONFIG_FEATURE_VI_SET=y
  20.410 -# CONFIG_FEATURE_VI_WIN_RESIZE is not set
  20.411 -CONFIG_FEATURE_VI_ASK_TERMINAL=y
  20.412 -# CONFIG_FEATURE_VI_UNDO is not set
  20.413 -# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
  20.414 -CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
  20.415 -CONFIG_FEATURE_ALLOW_EXEC=y
  20.416 -
  20.417 -#
  20.418 -# Finding Utilities
  20.419 -#
  20.420 -CONFIG_FIND=y
  20.421 -CONFIG_FEATURE_FIND_PRINT0=y
  20.422 -CONFIG_FEATURE_FIND_MTIME=y
  20.423 -CONFIG_FEATURE_FIND_MMIN=y
  20.424 -CONFIG_FEATURE_FIND_PERM=y
  20.425 -CONFIG_FEATURE_FIND_TYPE=y
  20.426 -CONFIG_FEATURE_FIND_XDEV=y
  20.427 -CONFIG_FEATURE_FIND_MAXDEPTH=y
  20.428 -CONFIG_FEATURE_FIND_NEWER=y
  20.429 -CONFIG_FEATURE_FIND_INUM=y
  20.430 -CONFIG_FEATURE_FIND_EXEC=y
  20.431 -# CONFIG_FEATURE_FIND_EXEC_PLUS is not set
  20.432 -CONFIG_FEATURE_FIND_USER=y
  20.433 -CONFIG_FEATURE_FIND_GROUP=y
  20.434 -CONFIG_FEATURE_FIND_NOT=y
  20.435 -CONFIG_FEATURE_FIND_DEPTH=y
  20.436 -CONFIG_FEATURE_FIND_PAREN=y
  20.437 -CONFIG_FEATURE_FIND_SIZE=y
  20.438 -CONFIG_FEATURE_FIND_PRUNE=y
  20.439 -CONFIG_FEATURE_FIND_DELETE=y
  20.440 -CONFIG_FEATURE_FIND_PATH=y
  20.441 -CONFIG_FEATURE_FIND_REGEX=y
  20.442 -# CONFIG_FEATURE_FIND_CONTEXT is not set
  20.443 -CONFIG_FEATURE_FIND_LINKS=y
  20.444 -CONFIG_GREP=y
  20.445 -CONFIG_EGREP=y
  20.446 -CONFIG_FGREP=y
  20.447 -CONFIG_FEATURE_GREP_CONTEXT=y
  20.448 -CONFIG_XARGS=y
  20.449 -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  20.450 -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  20.451 -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  20.452 -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  20.453 -# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set
  20.454 -
  20.455 -#
  20.456 -# Init Utilities
  20.457 -#
  20.458 -# CONFIG_BOOTCHARTD is not set
  20.459 -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
  20.460 -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
  20.461 -CONFIG_HALT=y
  20.462 -CONFIG_POWEROFF=y
  20.463 -CONFIG_REBOOT=y
  20.464 -# CONFIG_FEATURE_CALL_TELINIT is not set
  20.465 -CONFIG_TELINIT_PATH=""
  20.466 -CONFIG_INIT=y
  20.467 -# CONFIG_LINUXRC is not set
  20.468 -CONFIG_FEATURE_USE_INITTAB=y
  20.469 -CONFIG_FEATURE_KILL_REMOVED=y
  20.470 -CONFIG_FEATURE_KILL_DELAY=0
  20.471 -CONFIG_FEATURE_INIT_SCTTY=y
  20.472 -# CONFIG_FEATURE_INIT_SYSLOG is not set
  20.473 -CONFIG_FEATURE_EXTRA_QUIET=y
  20.474 -# CONFIG_FEATURE_INIT_COREDUMPS is not set
  20.475 -CONFIG_INIT_TERMINAL_TYPE=""
  20.476 -# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
  20.477 -# CONFIG_MESG is not set
  20.478 -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
  20.479 -
  20.480 -#
  20.481 -# Login/Password Management Utilities
  20.482 -#
  20.483 -# CONFIG_FEATURE_SHADOWPASSWDS is not set
  20.484 -# CONFIG_USE_BB_PWD_GRP is not set
  20.485 -# CONFIG_USE_BB_SHADOW is not set
  20.486 -# CONFIG_USE_BB_CRYPT is not set
  20.487 -# CONFIG_USE_BB_CRYPT_SHA is not set
  20.488 -# CONFIG_ADD_SHELL is not set
  20.489 -# CONFIG_REMOVE_SHELL is not set
  20.490 -CONFIG_ADDGROUP=y
  20.491 -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
  20.492 -CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  20.493 -CONFIG_ADDUSER=y
  20.494 -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
  20.495 -# CONFIG_FEATURE_CHECK_NAMES is not set
  20.496 -CONFIG_LAST_ID=60000
  20.497 -CONFIG_FIRST_SYSTEM_ID=100
  20.498 -CONFIG_LAST_SYSTEM_ID=999
  20.499 -CONFIG_CHPASSWD=y
  20.500 -CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
  20.501 -# CONFIG_CRYPTPW is not set
  20.502 -# CONFIG_MKPASSWD is not set
  20.503 -CONFIG_DELUSER=y
  20.504 -CONFIG_DELGROUP=y
  20.505 -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  20.506 -CONFIG_GETTY=y
  20.507 -CONFIG_LOGIN=y
  20.508 -# CONFIG_LOGIN_SESSION_AS_CHILD is not set
  20.509 -# CONFIG_LOGIN_SCRIPTS is not set
  20.510 -# CONFIG_FEATURE_NOLOGIN is not set
  20.511 -# CONFIG_FEATURE_SECURETTY is not set
  20.512 -CONFIG_PASSWD=y
  20.513 -# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
  20.514 -CONFIG_SU=y
  20.515 -# CONFIG_FEATURE_SU_SYSLOG is not set
  20.516 -# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
  20.517 -# CONFIG_SULOGIN is not set
  20.518 -# CONFIG_VLOCK is not set
  20.519 -
  20.520 -#
  20.521 -# Linux Ext2 FS Progs
  20.522 -#
  20.523 -# CONFIG_CHATTR is not set
  20.524 -# CONFIG_FSCK is not set
  20.525 -# CONFIG_LSATTR is not set
  20.526 -# CONFIG_TUNE2FS is not set
  20.527 -
  20.528 -#
  20.529 -# Linux Module Utilities
  20.530 -#
  20.531 -CONFIG_MODPROBE_SMALL=y
  20.532 -# CONFIG_DEPMOD is not set
  20.533 -# CONFIG_INSMOD is not set
  20.534 -# CONFIG_LSMOD is not set
  20.535 -# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
  20.536 -# CONFIG_MODINFO is not set
  20.537 -CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y
  20.538 -CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
  20.539 -# CONFIG_MODPROBE is not set
  20.540 -# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
  20.541 -# CONFIG_RMMOD is not set
  20.542 -
  20.543 -#
  20.544 -# Options common to multiple modutils
  20.545 -#
  20.546 -# CONFIG_FEATURE_2_4_MODULES is not set
  20.547 -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
  20.548 -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  20.549 -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  20.550 -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  20.551 -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  20.552 -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  20.553 -# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
  20.554 -# CONFIG_FEATURE_MODUTILS_ALIAS is not set
  20.555 -# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
  20.556 -CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
  20.557 -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
  20.558 -
  20.559 -#
  20.560 -# Linux System Utilities
  20.561 -#
  20.562 -# CONFIG_ACPID is not set
  20.563 -# CONFIG_FEATURE_ACPID_COMPAT is not set
  20.564 -# CONFIG_BLKDISCARD is not set
  20.565 -CONFIG_BLKID=y
  20.566 -# CONFIG_FEATURE_BLKID_TYPE is not set
  20.567 -# CONFIG_BLOCKDEV is not set
  20.568 -CONFIG_DMESG=y
  20.569 -CONFIG_FEATURE_DMESG_PRETTY=y
  20.570 -# CONFIG_FATATTR is not set
  20.571 -CONFIG_FBSET=y
  20.572 -CONFIG_FEATURE_FBSET_FANCY=y
  20.573 -CONFIG_FEATURE_FBSET_READMODE=y
  20.574 -CONFIG_FBVNC=y
  20.575 -CONFIG_FDFORMAT=y
  20.576 -CONFIG_FDISK=y
  20.577 -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  20.578 -CONFIG_FEATURE_FDISK_WRITABLE=y
  20.579 -# CONFIG_FEATURE_AIX_LABEL is not set
  20.580 -# CONFIG_FEATURE_SGI_LABEL is not set
  20.581 -# CONFIG_FEATURE_SUN_LABEL is not set
  20.582 -# CONFIG_FEATURE_OSF_LABEL is not set
  20.583 -CONFIG_FEATURE_GPT_LABEL=y
  20.584 -# CONFIG_FEATURE_FDISK_ADVANCED is not set
  20.585 -# CONFIG_FINDFS is not set
  20.586 -# CONFIG_FLOCK is not set
  20.587 -# CONFIG_FDFLUSH is not set
  20.588 -# CONFIG_FREERAMDISK is not set
  20.589 -# CONFIG_FSCK_MINIX is not set
  20.590 -# CONFIG_FSTRIM is not set
  20.591 -# CONFIG_GETOPT is not set
  20.592 -# CONFIG_FEATURE_GETOPT_LONG is not set
  20.593 -CONFIG_HEXDUMP=y
  20.594 -CONFIG_FEATURE_HEXDUMP_REVERSE=y
  20.595 -CONFIG_HD=y
  20.596 -CONFIG_HWCLOCK=y
  20.597 -# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
  20.598 -# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
  20.599 -# CONFIG_IPCRM is not set
  20.600 -# CONFIG_IPCS is not set
  20.601 -CONFIG_LOSETUP=y
  20.602 -CONFIG_LSPCI=y
  20.603 -CONFIG_LSUSB=y
  20.604 -CONFIG_MDEV=y
  20.605 -# CONFIG_FEATURE_MDEV_CONF is not set
  20.606 -# CONFIG_FEATURE_MDEV_RENAME is not set
  20.607 -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
  20.608 -# CONFIG_FEATURE_MDEV_EXEC is not set
  20.609 -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  20.610 -# CONFIG_MKE2FS is not set
  20.611 -# CONFIG_MKFS_EXT2 is not set
  20.612 -# CONFIG_MKFS_MINIX is not set
  20.613 -# CONFIG_FEATURE_MINIX2 is not set
  20.614 -# CONFIG_MKFS_REISER is not set
  20.615 -# CONFIG_MKDOSFS is not set
  20.616 -# CONFIG_MKFS_VFAT is not set
  20.617 -CONFIG_MKSWAP=y
  20.618 -# CONFIG_FEATURE_MKSWAP_UUID is not set
  20.619 -CONFIG_MORE=y
  20.620 -CONFIG_MOUNT=y
  20.621 -# CONFIG_FEATURE_MOUNT_FAKE is not set
  20.622 -# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  20.623 -# CONFIG_FEATURE_MOUNT_HELPERS is not set
  20.624 -CONFIG_FEATURE_MOUNT_LABEL=y
  20.625 -# CONFIG_FEATURE_MOUNT_NFS is not set
  20.626 -# CONFIG_FEATURE_MOUNT_CIFS is not set
  20.627 -CONFIG_FEATURE_MOUNT_FLAGS=y
  20.628 -CONFIG_FEATURE_MOUNT_FSTAB=y
  20.629 -# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
  20.630 -# CONFIG_NSENTER is not set
  20.631 -# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
  20.632 -# CONFIG_PIVOT_ROOT is not set
  20.633 -# CONFIG_RDATE is not set
  20.634 -# CONFIG_RDEV is not set
  20.635 -# CONFIG_READPROFILE is not set
  20.636 -# CONFIG_REV is not set
  20.637 -# CONFIG_RTCWAKE is not set
  20.638 -CONFIG_SCRIPT=y
  20.639 -# CONFIG_SCRIPTREPLAY is not set
  20.640 -# CONFIG_SCRIPTREPLAY_HOTKEYS is not set
  20.641 -# CONFIG_SETARCH is not set
  20.642 -# CONFIG_LINUX32 is not set
  20.643 -# CONFIG_LINUX64 is not set
  20.644 -CONFIG_SWAPON=y
  20.645 -# CONFIG_FEATURE_SWAPON_DISCARD is not set
  20.646 -# CONFIG_FEATURE_SWAPON_PRI is not set
  20.647 -CONFIG_SWAPOFF=y
  20.648 -CONFIG_SWITCH_ROOT=y
  20.649 -# CONFIG_UEVENT is not set
  20.650 -CONFIG_UMOUNT=y
  20.651 -CONFIG_FEATURE_UMOUNT_ALL=y
  20.652 -# CONFIG_UNSHARE is not set
  20.653 -
  20.654 -#
  20.655 -# Common options for mount/umount
  20.656 -#
  20.657 -CONFIG_FEATURE_MOUNT_LOOP=y
  20.658 -# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
  20.659 -# CONFIG_FEATURE_MTAB_SUPPORT is not set
  20.660 -CONFIG_VOLUMEID=y
  20.661 -
  20.662 -#
  20.663 -# Filesystem/Volume identification
  20.664 -#
  20.665 -# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
  20.666 -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
  20.667 -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  20.668 -# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
  20.669 -CONFIG_FEATURE_VOLUMEID_EXT=y
  20.670 -# CONFIG_FEATURE_VOLUMEID_F2FS is not set
  20.671 -CONFIG_FEATURE_VOLUMEID_FAT=y
  20.672 -# CONFIG_FEATURE_VOLUMEID_HFS is not set
  20.673 -CONFIG_FEATURE_VOLUMEID_ISO9660=y
  20.674 -# CONFIG_FEATURE_VOLUMEID_JFS is not set
  20.675 -# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
  20.676 -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  20.677 -# CONFIG_FEATURE_VOLUMEID_LUKS is not set
  20.678 -# CONFIG_FEATURE_VOLUMEID_NILFS is not set
  20.679 -# CONFIG_FEATURE_VOLUMEID_NTFS is not set
  20.680 -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  20.681 -# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
  20.682 -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  20.683 -# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
  20.684 -# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  20.685 -# CONFIG_FEATURE_VOLUMEID_UBIFS is not set
  20.686 -# CONFIG_FEATURE_VOLUMEID_UDF is not set
  20.687 -# CONFIG_FEATURE_VOLUMEID_XFS is not set
  20.688 -
  20.689 -#
  20.690 -# Miscellaneous Utilities
  20.691 -#
  20.692 -# CONFIG_ADJTIMEX is not set
  20.693 -# CONFIG_BBCONFIG is not set
  20.694 -# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
  20.695 -CONFIG_BEEP=y
  20.696 -CONFIG_FEATURE_BEEP_FREQ=4000
  20.697 -CONFIG_FEATURE_BEEP_LENGTH_MS=30
  20.698 -# CONFIG_CHAT is not set
  20.699 -# CONFIG_FEATURE_CHAT_NOFAIL is not set
  20.700 -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  20.701 -# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
  20.702 -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  20.703 -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  20.704 -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  20.705 -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  20.706 -# CONFIG_CHRT is not set
  20.707 -CONFIG_CONSPY=y
  20.708 -CONFIG_CROND=y
  20.709 -# CONFIG_FEATURE_CROND_D is not set
  20.710 -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  20.711 -CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
  20.712 -# CONFIG_CRONTAB is not set
  20.713 -# CONFIG_DC is not set
  20.714 -# CONFIG_FEATURE_DC_LIBM is not set
  20.715 -# CONFIG_DEVFSD is not set
  20.716 -# CONFIG_DEVFSD_MODLOAD is not set
  20.717 -# CONFIG_DEVFSD_FG_NP is not set
  20.718 -# CONFIG_DEVFSD_VERBOSE is not set
  20.719 -# CONFIG_FEATURE_DEVFS is not set
  20.720 -# CONFIG_DEVMEM is not set
  20.721 -# CONFIG_EJECT is not set
  20.722 -# CONFIG_FEATURE_EJECT_SCSI is not set
  20.723 -# CONFIG_FBSPLASH is not set
  20.724 -# CONFIG_FLASH_ERASEALL is not set
  20.725 -# CONFIG_FLASH_LOCK is not set
  20.726 -# CONFIG_FLASH_UNLOCK is not set
  20.727 -# CONFIG_FLASHCP is not set
  20.728 -CONFIG_HDPARM=y
  20.729 -# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
  20.730 -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  20.731 -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  20.732 -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  20.733 -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  20.734 -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  20.735 -# CONFIG_I2CGET is not set
  20.736 -# CONFIG_I2CSET is not set
  20.737 -# CONFIG_I2CDUMP is not set
  20.738 -# CONFIG_I2CDETECT is not set
  20.739 -# CONFIG_INOTIFYD is not set
  20.740 -# CONFIG_IONICE is not set
  20.741 -# CONFIG_LAST is not set
  20.742 -# CONFIG_FEATURE_LAST_FANCY is not set
  20.743 -CONFIG_LESS=y
  20.744 -CONFIG_FEATURE_LESS_MAXLINES=9999999
  20.745 -CONFIG_FEATURE_LESS_BRACKETS=y
  20.746 -# CONFIG_FEATURE_LESS_FLAGS is not set
  20.747 -# CONFIG_FEATURE_LESS_TRUNCATE is not set
  20.748 -# CONFIG_FEATURE_LESS_MARKS is not set
  20.749 -CONFIG_FEATURE_LESS_REGEXP=y
  20.750 -# CONFIG_FEATURE_LESS_WINCH is not set
  20.751 -# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
  20.752 -# CONFIG_FEATURE_LESS_DASHCMD is not set
  20.753 -# CONFIG_FEATURE_LESS_LINENUMS is not set
  20.754 -# CONFIG_MAKEDEVS is not set
  20.755 -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  20.756 -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  20.757 -# CONFIG_MAN is not set
  20.758 -# CONFIG_MICROCOM is not set
  20.759 -# CONFIG_MOUNTPOINT is not set
  20.760 -# CONFIG_MT is not set
  20.761 -# CONFIG_NANDWRITE is not set
  20.762 -# CONFIG_NANDDUMP is not set
  20.763 -# CONFIG_RAIDAUTORUN is not set
  20.764 -# CONFIG_READAHEAD is not set
  20.765 -# CONFIG_RFKILL is not set
  20.766 -# CONFIG_RUNLEVEL is not set
  20.767 -# CONFIG_RX is not set
  20.768 -# CONFIG_SETSERIAL is not set
  20.769 -# CONFIG_SETSID is not set
  20.770 -# CONFIG_STRINGS is not set
  20.771 -# CONFIG_TASKSET is not set
  20.772 -# CONFIG_FEATURE_TASKSET_FANCY is not set
  20.773 -# CONFIG_TIME is not set
  20.774 -# CONFIG_TIMEOUT is not set
  20.775 -# CONFIG_TTYSIZE is not set
  20.776 -# CONFIG_UBIATTACH is not set
  20.777 -# CONFIG_UBIDETACH is not set
  20.778 -# CONFIG_UBIMKVOL is not set
  20.779 -# CONFIG_UBIRMVOL is not set
  20.780 -# CONFIG_UBIRSVOL is not set
  20.781 -# CONFIG_UBIUPDATEVOL is not set
  20.782 -# CONFIG_UBIRENAME is not set
  20.783 -# CONFIG_VOLNAME is not set
  20.784 -# CONFIG_WALL is not set
  20.785 -# CONFIG_WATCHDOG is not set
  20.786 -
  20.787 -#
  20.788 -# Networking Utilities
  20.789 -#
  20.790 -# CONFIG_FEATURE_IPV6 is not set
  20.791 -# CONFIG_FEATURE_UNIX_LOCAL is not set
  20.792 -# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
  20.793 -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  20.794 -CONFIG_ARP=y
  20.795 -# CONFIG_ARPING is not set
  20.796 -# CONFIG_BRCTL is not set
  20.797 -# CONFIG_FEATURE_BRCTL_FANCY is not set
  20.798 -# CONFIG_FEATURE_BRCTL_SHOW is not set
  20.799 -# CONFIG_DNSD is not set
  20.800 -CONFIG_ETHER_WAKE=y
  20.801 -CONFIG_FTPD=y
  20.802 -CONFIG_FEATURE_FTPD_WRITE=y
  20.803 -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
  20.804 -# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set
  20.805 -CONFIG_FTPGET=y
  20.806 -CONFIG_FTPPUT=y
  20.807 -# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
  20.808 -CONFIG_HOSTNAME=y
  20.809 -# CONFIG_DNSDOMAINNAME is not set
  20.810 -CONFIG_HTTPD=y
  20.811 -CONFIG_FEATURE_HTTPD_RANGES=y
  20.812 -CONFIG_FEATURE_HTTPD_SETUID=y
  20.813 -CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
  20.814 -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  20.815 -CONFIG_FEATURE_HTTPD_CGI=y
  20.816 -CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
  20.817 -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  20.818 -CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
  20.819 -CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
  20.820 -CONFIG_FEATURE_HTTPD_PROXY=y
  20.821 -# CONFIG_FEATURE_HTTPD_GZIP is not set
  20.822 -CONFIG_IFCONFIG=y
  20.823 -CONFIG_FEATURE_IFCONFIG_STATUS=y
  20.824 -# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  20.825 -# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
  20.826 -CONFIG_FEATURE_IFCONFIG_HW=y
  20.827 -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  20.828 -# CONFIG_IFENSLAVE is not set
  20.829 -# CONFIG_IFPLUGD is not set
  20.830 -# CONFIG_IFUP is not set
  20.831 -# CONFIG_IFDOWN is not set
  20.832 -CONFIG_IFUPDOWN_IFSTATE_PATH=""
  20.833 -# CONFIG_FEATURE_IFUPDOWN_IP is not set
  20.834 -# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  20.835 -# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  20.836 -# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  20.837 -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  20.838 -CONFIG_INETD=y
  20.839 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  20.840 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  20.841 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  20.842 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  20.843 -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  20.844 -# CONFIG_FEATURE_INETD_RPC is not set
  20.845 -# CONFIG_IP is not set
  20.846 -# CONFIG_IPADDR is not set
  20.847 -# CONFIG_IPLINK is not set
  20.848 -# CONFIG_IPROUTE is not set
  20.849 -# CONFIG_IPTUNNEL is not set
  20.850 -# CONFIG_IPRULE is not set
  20.851 -# CONFIG_IPNEIGH is not set
  20.852 -# CONFIG_FEATURE_IP_ADDRESS is not set
  20.853 -# CONFIG_FEATURE_IP_LINK is not set
  20.854 -# CONFIG_FEATURE_IP_ROUTE is not set
  20.855 -CONFIG_FEATURE_IP_ROUTE_DIR=""
  20.856 -# CONFIG_FEATURE_IP_TUNNEL is not set
  20.857 -# CONFIG_FEATURE_IP_RULE is not set
  20.858 -# CONFIG_FEATURE_IP_NEIGH is not set
  20.859 -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  20.860 -# CONFIG_IPCALC is not set
  20.861 -# CONFIG_FEATURE_IPCALC_FANCY is not set
  20.862 -# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
  20.863 -# CONFIG_FAKEIDENTD is not set
  20.864 -# CONFIG_NAMEIF is not set
  20.865 -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  20.866 -# CONFIG_NBDCLIENT is not set
  20.867 -CONFIG_NC=y
  20.868 -CONFIG_NC_SERVER=y
  20.869 -CONFIG_NC_EXTRA=y
  20.870 -# CONFIG_NC_110_COMPAT is not set
  20.871 -CONFIG_NETSTAT=y
  20.872 -CONFIG_FEATURE_NETSTAT_WIDE=y
  20.873 -CONFIG_FEATURE_NETSTAT_PRG=y
  20.874 -CONFIG_NSLOOKUP=y
  20.875 -CONFIG_NTPD=y
  20.876 -CONFIG_FEATURE_NTPD_SERVER=y
  20.877 -# CONFIG_FEATURE_NTPD_CONF is not set
  20.878 -CONFIG_PING=y
  20.879 -# CONFIG_PING6 is not set
  20.880 -CONFIG_FEATURE_FANCY_PING=y
  20.881 -# CONFIG_PSCAN is not set
  20.882 -CONFIG_ROUTE=y
  20.883 -# CONFIG_SLATTACH is not set
  20.884 -# CONFIG_TCPSVD is not set
  20.885 -# CONFIG_UDPSVD is not set
  20.886 -CONFIG_TELNET=y
  20.887 -CONFIG_FEATURE_TELNET_TTYPE=y
  20.888 -CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  20.889 -CONFIG_TELNETD=y
  20.890 -CONFIG_FEATURE_TELNETD_STANDALONE=y
  20.891 -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
  20.892 -CONFIG_TFTP=y
  20.893 -CONFIG_TFTPD=y
  20.894 -
  20.895 -#
  20.896 -# Common options for tftp/tftpd
  20.897 -#
  20.898 -CONFIG_FEATURE_TFTPD_RIS=y
  20.899 -CONFIG_FEATURE_TFTP_GET=y
  20.900 -CONFIG_FEATURE_TFTP_PUT=y
  20.901 -CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  20.902 -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
  20.903 -# CONFIG_TFTP_DEBUG is not set
  20.904 -# CONFIG_TRACEROUTE is not set
  20.905 -# CONFIG_TRACEROUTE6 is not set
  20.906 -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
  20.907 -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  20.908 -CONFIG_TUNCTL=y
  20.909 -# CONFIG_FEATURE_TUNCTL_UG is not set
  20.910 -# CONFIG_VCONFIG is not set
  20.911 -CONFIG_WGET=y
  20.912 -# CONFIG_FEATURE_WGET_STATUSBAR is not set
  20.913 -# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
  20.914 -# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
  20.915 -# CONFIG_FEATURE_WGET_TIMEOUT is not set
  20.916 -# CONFIG_FEATURE_WGET_OPENSSL is not set
  20.917 -# CONFIG_FEATURE_WGET_SSL_HELPER is not set
  20.918 -# CONFIG_WHOIS is not set
  20.919 -# CONFIG_ZCIP is not set
  20.920 -# CONFIG_UDHCPC6 is not set
  20.921 -CONFIG_UDHCPD=y
  20.922 -# CONFIG_DHCPRELAY is not set
  20.923 -CONFIG_DUMPLEASES=y
  20.924 -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  20.925 -# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
  20.926 -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
  20.927 -CONFIG_UDHCPC=y
  20.928 -CONFIG_FEATURE_UDHCPC_ARPING=y
  20.929 -# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
  20.930 -# CONFIG_FEATURE_UDHCP_PORT is not set
  20.931 -CONFIG_UDHCP_DEBUG=0
  20.932 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set
  20.933 -# CONFIG_FEATURE_UDHCP_8021Q is not set
  20.934 -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  20.935 -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  20.936 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
  20.937 -
  20.938 -#
  20.939 -# Print Utilities
  20.940 -#
  20.941 -# CONFIG_LPD is not set
  20.942 -# CONFIG_LPR is not set
  20.943 -# CONFIG_LPQ is not set
  20.944 -
  20.945 -#
  20.946 -# Mail Utilities
  20.947 -#
  20.948 -# CONFIG_MAKEMIME is not set
  20.949 -# CONFIG_POPMAILDIR is not set
  20.950 -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
  20.951 -# CONFIG_REFORMIME is not set
  20.952 -# CONFIG_FEATURE_REFORMIME_COMPAT is not set
  20.953 -# CONFIG_SENDMAIL is not set
  20.954 -CONFIG_FEATURE_MIME_CHARSET=""
  20.955 -
  20.956 -#
  20.957 -# Process Utilities
  20.958 -#
  20.959 -CONFIG_FREE=y
  20.960 -# CONFIG_FUSER is not set
  20.961 -# CONFIG_IOSTAT is not set
  20.962 -CONFIG_KILL=y
  20.963 -CONFIG_KILLALL=y
  20.964 -CONFIG_KILLALL5=y
  20.965 -# CONFIG_LSOF is not set
  20.966 -# CONFIG_MPSTAT is not set
  20.967 -# CONFIG_NMETER is not set
  20.968 -# CONFIG_PGREP is not set
  20.969 -# CONFIG_PKILL is not set
  20.970 -CONFIG_PIDOF=y
  20.971 -CONFIG_FEATURE_PIDOF_SINGLE=y
  20.972 -CONFIG_FEATURE_PIDOF_OMIT=y
  20.973 -# CONFIG_PMAP is not set
  20.974 -# CONFIG_POWERTOP is not set
  20.975 -CONFIG_PS=y
  20.976 -CONFIG_FEATURE_PS_WIDE=y
  20.977 -# CONFIG_FEATURE_PS_LONG is not set
  20.978 -# CONFIG_FEATURE_PS_TIME is not set
  20.979 -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
  20.980 -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
  20.981 -# CONFIG_PSTREE is not set
  20.982 -# CONFIG_PWDX is not set
  20.983 -# CONFIG_RENICE is not set
  20.984 -# CONFIG_SMEMCAP is not set
  20.985 -# CONFIG_BB_SYSCTL is not set
  20.986 -CONFIG_TOP=y
  20.987 -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
  20.988 -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
  20.989 -# CONFIG_FEATURE_TOP_SMP_CPU is not set
  20.990 -# CONFIG_FEATURE_TOP_DECIMALS is not set
  20.991 -# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
  20.992 -CONFIG_FEATURE_TOPMEM=y
  20.993 -CONFIG_UPTIME=y
  20.994 -# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
  20.995 -# CONFIG_WATCH is not set
  20.996 -# CONFIG_FEATURE_SHOW_THREADS is not set
  20.997 -
  20.998 -#
  20.999 -# Runit Utilities
 20.1000 -#
 20.1001 -# CONFIG_CHPST is not set
 20.1002 -# CONFIG_SETUIDGID is not set
 20.1003 -# CONFIG_ENVUIDGID is not set
 20.1004 -# CONFIG_ENVDIR is not set
 20.1005 -# CONFIG_SOFTLIMIT is not set
 20.1006 -# CONFIG_RUNSV is not set
 20.1007 -# CONFIG_RUNSVDIR is not set
 20.1008 -# CONFIG_FEATURE_RUNSVDIR_LOG is not set
 20.1009 -# CONFIG_SV is not set
 20.1010 -CONFIG_SV_DEFAULT_SERVICE_DIR=""
 20.1011 -# CONFIG_SVC is not set
 20.1012 -# CONFIG_SVLOGD is not set
 20.1013 -# CONFIG_CHCON is not set
 20.1014 -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
 20.1015 -# CONFIG_GETENFORCE is not set
 20.1016 -# CONFIG_GETSEBOOL is not set
 20.1017 -# CONFIG_LOAD_POLICY is not set
 20.1018 -# CONFIG_MATCHPATHCON is not set
 20.1019 -# CONFIG_RUNCON is not set
 20.1020 -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
 20.1021 -# CONFIG_SELINUXENABLED is not set
 20.1022 -# CONFIG_SESTATUS is not set
 20.1023 -# CONFIG_SETENFORCE is not set
 20.1024 -# CONFIG_SETFILES is not set
 20.1025 -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
 20.1026 -# CONFIG_RESTORECON is not set
 20.1027 -# CONFIG_SETSEBOOL is not set
 20.1028 -
 20.1029 -#
 20.1030 -# Shells
 20.1031 -#
 20.1032 -CONFIG_SH_IS_ASH=y
 20.1033 -# CONFIG_SH_IS_HUSH is not set
 20.1034 -# CONFIG_SH_IS_NONE is not set
 20.1035 -# CONFIG_BASH_IS_ASH is not set
 20.1036 -# CONFIG_BASH_IS_HUSH is not set
 20.1037 -CONFIG_BASH_IS_NONE=y
 20.1038 -CONFIG_ASH=y
 20.1039 -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
 20.1040 -CONFIG_ASH_INTERNAL_GLOB=y
 20.1041 -CONFIG_ASH_RANDOM_SUPPORT=y
 20.1042 -CONFIG_ASH_EXPAND_PRMT=y
 20.1043 -CONFIG_ASH_BASH_COMPAT=y
 20.1044 -# CONFIG_ASH_IDLE_TIMEOUT is not set
 20.1045 -CONFIG_ASH_JOB_CONTROL=y
 20.1046 -CONFIG_ASH_ALIAS=y
 20.1047 -CONFIG_ASH_GETOPTS=y
 20.1048 -CONFIG_ASH_BUILTIN_ECHO=y
 20.1049 -CONFIG_ASH_BUILTIN_PRINTF=y
 20.1050 -CONFIG_ASH_BUILTIN_TEST=y
 20.1051 -# CONFIG_ASH_HELP is not set
 20.1052 -CONFIG_ASH_CMDCMD=y
 20.1053 -# CONFIG_ASH_MAIL is not set
 20.1054 -# CONFIG_CTTYHACK is not set
 20.1055 -# CONFIG_HUSH is not set
 20.1056 -# CONFIG_HUSH_BASH_COMPAT is not set
 20.1057 -# CONFIG_HUSH_BRACE_EXPANSION is not set
 20.1058 -# CONFIG_HUSH_HELP is not set
 20.1059 -# CONFIG_HUSH_INTERACTIVE is not set
 20.1060 -# CONFIG_HUSH_SAVEHISTORY is not set
 20.1061 -# CONFIG_HUSH_JOB is not set
 20.1062 -# CONFIG_HUSH_TICK is not set
 20.1063 -# CONFIG_HUSH_IF is not set
 20.1064 -# CONFIG_HUSH_LOOPS is not set
 20.1065 -# CONFIG_HUSH_CASE is not set
 20.1066 -# CONFIG_HUSH_FUNCTIONS is not set
 20.1067 -# CONFIG_HUSH_LOCAL is not set
 20.1068 -# CONFIG_HUSH_RANDOM_SUPPORT is not set
 20.1069 -# CONFIG_HUSH_EXPORT_N is not set
 20.1070 -# CONFIG_HUSH_MODE_X is not set
 20.1071 -# CONFIG_MSH is not set
 20.1072 -CONFIG_FEATURE_SH_MATH=y
 20.1073 -# CONFIG_FEATURE_SH_MATH_64 is not set
 20.1074 -CONFIG_FEATURE_SH_EXTRA_QUIET=y
 20.1075 -CONFIG_FEATURE_SH_STANDALONE=y
 20.1076 -# CONFIG_FEATURE_SH_NOFORK is not set
 20.1077 -# CONFIG_FEATURE_SH_HISTFILESIZE is not set
 20.1078 -
 20.1079 -#
 20.1080 -# System Logging Utilities
 20.1081 -#
 20.1082 -CONFIG_KLOGD=y
 20.1083 -# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
 20.1084 -CONFIG_LOGGER=y
 20.1085 -# CONFIG_LOGREAD is not set
 20.1086 -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
 20.1087 -CONFIG_SYSLOGD=y
 20.1088 -CONFIG_FEATURE_ROTATE_LOGFILE=y
 20.1089 -CONFIG_FEATURE_REMOTE_LOG=y
 20.1090 -CONFIG_FEATURE_SYSLOGD_DUP=y
 20.1091 -# CONFIG_FEATURE_SYSLOGD_CFG is not set
 20.1092 -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
 20.1093 -# CONFIG_FEATURE_IPC_SYSLOG is not set
 20.1094 -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
 20.1095 -# CONFIG_FEATURE_KMSG_SYSLOG is not set
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/busybox/stuff/busybox-git-ash.u	Tue Aug 22 13:28:07 2017 +0200
    21.3 @@ -0,0 +1,17 @@
    21.4 +Some SliTaz scripts (cook) need that... 
    21.5 +--- busybox-git/shell/ash.c
    21.6 ++++ busybox-git/shell/ash.c
    21.7 +@@ -12632,7 +12632,13 @@
    21.8 + 	if (strchr(name, '/'))
    21.9 + 		return name;
   21.10 + 
   21.11 ++	/* IIRC standards do not say whether . is to be searched. Bash do it. */
   21.12 ++	if (ENABLE_ASH_BASH_COMPAT) {
   21.13 ++		fullname = name;
   21.14 ++		goto try_cur_dir;
   21.15 ++	}
   21.16 +	while ((fullname = path_advance(&path, name)) != NULL) {
   21.17 ++ try_cur_dir:
   21.18 + 		if ((stat(fullname, &statb) == 0) && S_ISREG(statb.st_mode)) {
   21.19 + 			/*
   21.20 + 			 * Don't bother freeing here, since it will
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/busybox/stuff/busybox-git-cmdline.u	Tue Aug 22 13:28:07 2017 +0200
    22.3 @@ -0,0 +1,37 @@
    22.4 +Display command line in usage output. Useful to debug scripts with variables.
    22.5 +--- busybox-git/libbb/appletlib.c
    22.6 ++++ busybox-git/libbb/appletlib.c
    22.7 +@@ -128,9 +128,16 @@
    22.8 + 
    22.9 + #endif /* FEATURE_COMPRESS_USAGE */
   22.10 + 
   22.11 +-
   22.12 ++static char **bb_argv;
   22.13 + void FAST_FUNC bb_show_usage(void)
   22.14 + {
   22.15 ++	full_write2_str("\nCommand line: ");
   22.16 ++	while (*bb_argv) {
   22.17 ++		full_write2_str(*bb_argv++);
   22.18 ++		full_write2_str(" ");
   22.19 ++	}
   22.20 ++	full_write2_str("\n\n");
   22.21 ++
   22.22 + 	if (ENABLE_SHOW_USAGE) {
   22.23 + #ifdef SINGLE_APPLET_STR
   22.24 + 		/* Imagine that this applet is "true". Dont suck in printf! */
   22.25 +@@ -780,6 +787,7 @@
   22.26 + #  endif
   22.27 + int busybox_main(int argc UNUSED_PARAM, char **argv)
   22.28 + {
   22.29 ++	bb_argv = argv;
   22.30 + 	if (!argv[1]) {
   22.31 + 		/* Called without arguments */
   22.32 + 		const char *a;
   22.33 +@@ -977,6 +985,7 @@
   22.34 + int main(int argc UNUSED_PARAM, char **argv)
   22.35 + #endif
   22.36 + {
   22.37 ++	bb_argv = argv;
   22.38 + #if 0
   22.39 + 	/* TODO: find a use for a block of memory between end of .bss
   22.40 + 	 * and end of page. For example, I'm getting "_end:0x812e698 2408 bytes"
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/busybox/stuff/busybox-git-cpio.u	Tue Aug 22 13:28:07 2017 +0200
    23.3 @@ -0,0 +1,12 @@
    23.4 +--- busybox-1.25/archival/cpio.c
    23.5 ++++ busybox-1.25/archival/cpio.c
    23.6 +@@ -244,6 +244,9 @@
    23.7 + 			if (!(S_ISLNK(st.st_mode) || S_ISREG(st.st_mode)))
    23.8 + 				st.st_size = 0; /* paranoia */
    23.9 + 
   23.10 ++			if (S_ISLNK(st.st_mode))
   23.11 ++				st.st_nlink = 1; /* like GNU cpio */
   23.12 ++
   23.13 + 			/* Store hardlinks for later processing, dont output them */
   23.14 + 			if (!S_ISDIR(st.st_mode) && st.st_nlink > 1) {
   23.15 + 				struct name_s *n;
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/busybox/stuff/busybox-git-fbvnc.u	Tue Aug 22 13:28:07 2017 +0200
    24.3 @@ -0,0 +1,684 @@
    24.4 +   text	   data	    bss	    dec	    hex	filename
    24.5 +   3179	      0	      0	   3179	    c6b	util-linux/fbvnc.o
    24.6 +--- /dev/null
    24.7 ++++ busybox/util-linux/fbvnc.c
    24.8 +@@ -0,0 +1,552 @@
    24.9 ++/* vi: set sw=4 ts=4: */
   24.10 ++/*
   24.11 ++ * A small linux framebuffer VNC viewer
   24.12 ++ *
   24.13 ++ * pascal.bellard@ads-lu.com
   24.14 ++ *
   24.15 ++ * Based on Ali Gholami Rudi's fbvnc.c
   24.16 ++ *   http://repo.or.cz/w/fbvnc.git
   24.17 ++ *
   24.18 ++ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
   24.19 ++ */
   24.20 ++
   24.21 ++//applet:IF_FBVNC(APPLET(fbvnc, BB_DIR_BIN, BB_SUID_DROP))
   24.22 ++
   24.23 ++//kbuild:lib-$(CONFIG_FBVNC) += fbvnc.o
   24.24 ++
   24.25 ++//config:config FBVNC
   24.26 ++//config:	bool "fbvnc"
   24.27 ++//config:	default n
   24.28 ++//config:	depends on PLATFORM_LINUX
   24.29 ++//config:	help
   24.30 ++//config:	  A linux framebuffer VNC viewer.
   24.31 ++
   24.32 ++//usage:#define fbvnc_trivial_usage
   24.33 ++//usage:	"[VNC_SERVER] [PORT]"
   24.34 ++//usage:#define fbvnc_full_usage "\n\n"
   24.35 ++//usage:     "A linux framebuffer VNC viewer."
   24.36 ++//usage:     "\nTo exit, press any mouse button and press ESC."
   24.37 ++
   24.38 ++#include "libbb.h"
   24.39 ++#include "vnc.h"
   24.40 ++#include "common_bufsiz.h"
   24.41 ++
   24.42 ++/* Stuff stolen from the kernel's fb.h */
   24.43 ++#define FB_ACTIVATE_ALL 64
   24.44 ++enum {
   24.45 ++	FBIOGET_VSCREENINFO = 0x4600,
   24.46 ++	FBIOPUT_VSCREENINFO = 0x4601,
   24.47 ++	FBIOGET_FSCREENINFO = 0x4602,
   24.48 ++	FBIOGETCMAP = 0x4604,
   24.49 ++	FBIOPUTCMAP = 0x4605
   24.50 ++};
   24.51 ++
   24.52 ++struct fb_bitfield {
   24.53 ++	uint32_t offset;                /* beginning of bitfield */
   24.54 ++	uint32_t length;                /* length of bitfield */
   24.55 ++	uint32_t msb_right;             /* !=0: Most significant bit is right */
   24.56 ++};
   24.57 ++struct fb_var_screeninfo {
   24.58 ++	uint32_t xres;                  /* visible resolution */
   24.59 ++	uint32_t yres;
   24.60 ++	uint32_t xres_virtual;          /* virtual resolution */
   24.61 ++	uint32_t yres_virtual;
   24.62 ++	uint32_t xoffset;               /* offset from virtual to visible */
   24.63 ++	uint32_t yoffset;               /* resolution */
   24.64 ++
   24.65 ++	uint32_t bits_per_pixel;
   24.66 ++	uint32_t grayscale;             /* !=0 Graylevels instead of colors */
   24.67 ++
   24.68 ++	struct fb_bitfield red;         /* bitfield in fb mem if true color, */
   24.69 ++	struct fb_bitfield green;       /* else only length is significant */
   24.70 ++	struct fb_bitfield blue;
   24.71 ++	struct fb_bitfield transp;      /* transparency */
   24.72 ++
   24.73 ++	uint32_t nonstd;                /* !=0 Non standard pixel format */
   24.74 ++
   24.75 ++	uint32_t activate;              /* see FB_ACTIVATE_x */
   24.76 ++
   24.77 ++	uint32_t height;                /* height of picture in mm */
   24.78 ++	uint32_t width;                 /* width of picture in mm */
   24.79 ++
   24.80 ++	uint32_t accel_flags;           /* acceleration flags (hints) */
   24.81 ++
   24.82 ++	/* Timing: All values in pixclocks, except pixclock (of course) */
   24.83 ++	uint32_t pixclock;              /* pixel clock in ps (pico seconds) */
   24.84 ++	uint32_t left_margin;           /* time from sync to picture */
   24.85 ++	uint32_t right_margin;          /* time from picture to sync */
   24.86 ++	uint32_t upper_margin;          /* time from sync to picture */
   24.87 ++	uint32_t lower_margin;
   24.88 ++	uint32_t hsync_len;             /* length of horizontal sync */
   24.89 ++	uint32_t vsync_len;             /* length of vertical sync */
   24.90 ++	uint32_t sync;                  /* see FB_SYNC_x */
   24.91 ++	uint32_t vmode;                 /* see FB_VMODE_x */
   24.92 ++	uint32_t reserved[6];           /* Reserved for future compatibility */
   24.93 ++};
   24.94 ++
   24.95 ++#define DEFAULTFBDEV  FB_0
   24.96 ++
   24.97 ++struct fb_fix_screeninfo {
   24.98 ++	char id[16];			/* identification string eg "TT Builtin" */
   24.99 ++	unsigned long smem_start;	/* Start of frame buffer mem */
  24.100 ++					/* (physical address) */
  24.101 ++	uint32_t smem_len;		/* Length of frame buffer mem */
  24.102 ++	uint32_t type;			/* see FB_TYPE_*		*/
  24.103 ++	uint32_t type_aux;		/* Interleave for interleaved Planes */
  24.104 ++	uint32_t visual;		/* see FB_VISUAL_*		*/ 
  24.105 ++	uint16_t xpanstep;		/* zero if no hardware panning  */
  24.106 ++	uint16_t ypanstep;		/* zero if no hardware panning  */
  24.107 ++	uint16_t ywrapstep;		/* zero if no hardware ywrap    */
  24.108 ++	uint32_t line_length;		/* length of a line in bytes    */
  24.109 ++	unsigned long mmio_start;	/* Start of Memory Mapped I/O   */
  24.110 ++					/* (physical address) */
  24.111 ++	uint32_t mmio_len;		/* Length of Memory Mapped I/O  */
  24.112 ++	uint32_t accel;			/* Indicate to driver which	*/
  24.113 ++					/*  specific chip/card we have	*/
  24.114 ++	uint16_t reserved[3];		/* Reserved for future compatibility */
  24.115 ++};
  24.116 ++
  24.117 ++struct fb_cmap {
  24.118 ++	uint32_t start;			/* First entry	*/
  24.119 ++	uint32_t len;			/* Number of entries */
  24.120 ++	uint16_t *red;			/* Red values	*/
  24.121 ++	uint16_t *green;
  24.122 ++	uint16_t *blue;
  24.123 ++	uint16_t *transp;			/* transparency, can be NULL */
  24.124 ++};
  24.125 ++
  24.126 ++#define FB_VISUAL_TRUECOLOR		2	/* True color	*/
  24.127 ++
  24.128 ++#define COLORLEVELS   (1 << 8)
  24.129 ++
  24.130 ++struct scroll_data {
  24.131 ++	int size;
  24.132 ++	int srv_size;
  24.133 ++	int offset;
  24.134 ++	int pos;
  24.135 ++};
  24.136 ++
  24.137 ++struct globals {
  24.138 ++	struct termios term_orig;
  24.139 ++	struct pollfd ufds[3];
  24.140 ++#define kbd_fd		ufds[0].fd
  24.141 ++#define vnc_fd		ufds[1].fd
  24.142 ++#define rat_fd		ufds[2].fd
  24.143 ++	struct scroll_data scroll[2];
  24.144 ++#define cols		scroll[0].size
  24.145 ++#define srv_cols	scroll[0].srv_size
  24.146 ++#define oc		scroll[0].offset
  24.147 ++#define mc		scroll[0].pos
  24.148 ++#define rows		scroll[1].size
  24.149 ++#define srv_rows	scroll[1].srv_size
  24.150 ++#define or		scroll[1].offset
  24.151 ++#define mr		scroll[1].pos
  24.152 ++	char rat_buttons;
  24.153 ++	int fb_fd;
  24.154 ++	void *fb_ptr;
  24.155 ++	int bpp;
  24.156 ++	int nr, ng, nb;
  24.157 ++	struct fb_var_screeninfo vinfo;
  24.158 ++	struct fb_fix_screeninfo finfo;
  24.159 ++	unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS];
  24.160 ++};
  24.161 ++
  24.162 ++#define G (*ptr_to_globals)
  24.163 ++#define INIT_G() do { \
  24.164 ++	SET_PTR_TO_GLOBALS(xzalloc(sizeof(G))); \
  24.165 ++} while (0)
  24.166 ++
  24.167 ++static int fb_len(void)
  24.168 ++{
  24.169 ++	return G.finfo.line_length * G.vinfo.yres_virtual;
  24.170 ++}
  24.171 ++
  24.172 ++static void fb_ioctl_cmap(int fct, struct fb_cmap *cmap)
  24.173 ++{
  24.174 ++	if (G.finfo.visual == FB_VISUAL_TRUECOLOR)
  24.175 ++		return;
  24.176 ++	cmap->start = 0;
  24.177 ++	cmap->len = MAX(G.nr, MAX(G.ng, G.nb));
  24.178 ++	cmap->transp = NULL;
  24.179 ++	xioctl(G.fb_fd, fct, cmap);
  24.180 ++}
  24.181 ++
  24.182 ++static void fb_cmap_save(int save)
  24.183 ++{
  24.184 ++	struct fb_cmap cmap;
  24.185 ++	
  24.186 ++	cmap.red = G.red;
  24.187 ++	cmap.green = G.green;
  24.188 ++	cmap.blue = G.blue;
  24.189 ++	fb_ioctl_cmap(save ? FBIOGETCMAP : FBIOPUTCMAP, &cmap);
  24.190 ++}
  24.191 ++
  24.192 ++static void fb_build_cmap(unsigned short *color, int n)
  24.193 ++{
  24.194 ++	int i, inc = 65535 / (n - 1);
  24.195 ++	
  24.196 ++	for (i = 0; n--; i += inc)
  24.197 ++		*color++ = i;
  24.198 ++}
  24.199 ++
  24.200 ++static void fb_cmap(void)
  24.201 ++{
  24.202 ++	unsigned short red[COLORLEVELS], green[COLORLEVELS], blue[COLORLEVELS];
  24.203 ++	struct fb_cmap cmap;
  24.204 ++
  24.205 ++	fb_build_cmap(cmap.red = red,     G.nr);
  24.206 ++	fb_build_cmap(cmap.green = green, G.ng);
  24.207 ++	fb_build_cmap(cmap.blue = blue,   G.nb);
  24.208 ++	fb_ioctl_cmap(FBIOPUTCMAP, &cmap);
  24.209 ++}
  24.210 ++
  24.211 ++static void fb_init(void)
  24.212 ++{
  24.213 ++	G.fb_fd = xopen(DEFAULTFBDEV, O_RDWR);
  24.214 ++	xioctl(G.fb_fd, FBIOGET_VSCREENINFO, &G.vinfo);
  24.215 ++	xioctl(G.fb_fd, FBIOGET_FSCREENINFO, &G.finfo);
  24.216 ++	close_on_exec_on(G.fb_fd);
  24.217 ++	G.fb_ptr = mmap(NULL, fb_len(), PROT_READ | PROT_WRITE, MAP_SHARED, G.fb_fd, 0);
  24.218 ++	if (G.fb_ptr == MAP_FAILED)
  24.219 ++		bb_perror_msg_and_die("mmap");
  24.220 ++	G.bpp = (G.vinfo.bits_per_pixel + 7) >> 3;
  24.221 ++	G.nr = 1 << G.vinfo.red.length;
  24.222 ++	G.nb = 1 << G.vinfo.blue.length;
  24.223 ++	G.ng = 1 << G.vinfo.green.length;
  24.224 ++	fb_cmap_save(1);
  24.225 ++	fb_cmap();
  24.226 ++}
  24.227 ++
  24.228 ++static void fb_free(void)
  24.229 ++{
  24.230 ++	fb_cmap_save(0);
  24.231 ++	munmap(G.fb_ptr, fb_len());
  24.232 ++	close(G.fb_fd);
  24.233 ++}
  24.234 ++
  24.235 ++#define fb_rows vinfo.yres
  24.236 ++#define fb_cols vinfo.xres
  24.237 ++
  24.238 ++static void fb_set(int r, int c, void *mem, int len)
  24.239 ++{
  24.240 ++	memcpy(G.fb_ptr + (r + G.vinfo.yoffset) * G.finfo.line_length + 
  24.241 ++		(c + G.vinfo.xoffset) * G.bpp, mem, len * G.bpp);
  24.242 ++}
  24.243 ++
  24.244 ++#define line_buffer	bb_common_bufsiz1
  24.245 ++#define MAXPIX		(COMMON_BUFSIZE/sizeof(uint32_t))
  24.246 ++
  24.247 ++static void skip(int len)
  24.248 ++{
  24.249 ++	int n;
  24.250 ++	while (len > 0 && (n = read(G.vnc_fd, line_buffer, 
  24.251 ++				    MIN(len, COMMON_BUFSIZE))) > 0)
  24.252 ++		len -= n;
  24.253 ++}
  24.254 ++
  24.255 ++static void vnc_init(void)
  24.256 ++{
  24.257 ++	struct vnc_client_init clientinit;
  24.258 ++	struct vnc_server_init serverinit;
  24.259 ++	struct vnc_client_pixelfmt pixfmt_cmd;
  24.260 ++	int connstat = VNC_CONN_FAILED;
  24.261 ++
  24.262 ++	write(G.vnc_fd, "RFB 003.003\n", 12);
  24.263 ++	skip(12);
  24.264 ++
  24.265 ++	xread(G.vnc_fd, &connstat, sizeof(connstat));
  24.266 ++
  24.267 ++	if (ntohl(connstat) != VNC_CONN_NOAUTH)
  24.268 ++		bb_perror_msg_and_die("vnc auth");
  24.269 ++
  24.270 ++	clientinit.shared = 1;
  24.271 ++	write(G.vnc_fd, &clientinit, sizeof(clientinit));
  24.272 ++	read(G.vnc_fd, &serverinit, sizeof(serverinit));
  24.273 ++
  24.274 ++	fb_init();
  24.275 ++	G.srv_cols = ntohs(serverinit.w);
  24.276 ++	G.srv_rows = ntohs(serverinit.h);
  24.277 ++	G.cols = MIN(G.srv_cols, G.fb_cols);
  24.278 ++	G.rows = MIN(G.srv_rows, G.fb_rows);
  24.279 ++	G.mr = G.rows / 2;
  24.280 ++	G.mc = G.cols / 2;
  24.281 ++
  24.282 ++	skip(ntohl(serverinit.len));
  24.283 ++	pixfmt_cmd.type = VNC_CLIENT_PIXFMT;
  24.284 ++	pixfmt_cmd.format.bigendian = 0;
  24.285 ++	pixfmt_cmd.format.truecolor = 1;
  24.286 ++	pixfmt_cmd.format.bpp =
  24.287 ++	pixfmt_cmd.format.depth = G.bpp << 3;
  24.288 ++	pixfmt_cmd.format.rmax = htons(G.nr - 1);
  24.289 ++	pixfmt_cmd.format.gmax = htons(G.ng - 1);
  24.290 ++	pixfmt_cmd.format.bmax = htons(G.nb - 1);
  24.291 ++	pixfmt_cmd.format.rshl = G.vinfo.red.offset;
  24.292 ++	pixfmt_cmd.format.gshl = G.vinfo.green.offset;
  24.293 ++	pixfmt_cmd.format.bshl = G.vinfo.blue.offset;
  24.294 ++	write(G.vnc_fd, &pixfmt_cmd, sizeof(pixfmt_cmd));
  24.295 ++}
  24.296 ++
  24.297 ++static void vnc_refresh(int inc)
  24.298 ++{
  24.299 ++	struct vnc_client_fbup fbup_req;
  24.300 ++	fbup_req.type = VNC_CLIENT_FBUP;
  24.301 ++	fbup_req.inc = inc;
  24.302 ++	fbup_req.x = htons(G.oc);
  24.303 ++	fbup_req.y = htons(G.or);
  24.304 ++	fbup_req.w = htons(G.oc + G.cols);
  24.305 ++	fbup_req.h = htons(G.or + G.rows);
  24.306 ++	write(G.vnc_fd, &fbup_req, sizeof(fbup_req));
  24.307 ++}
  24.308 ++
  24.309 ++static void cleanup(void)
  24.310 ++{
  24.311 ++#define RESETSTR "\x1b[?25h\x1b[2J\x1b[H"
  24.312 ++	fb_free();
  24.313 ++	tcsetattr_stdin_TCSANOW(&G.term_orig);
  24.314 ++	write(STDOUT_FILENO, RESETSTR, sizeof(RESETSTR));
  24.315 ++	if (ENABLE_FEATURE_CLEAN_UP) {
  24.316 ++		close(G.vnc_fd);
  24.317 ++		close(G.rat_fd);
  24.318 ++	}
  24.319 ++}
  24.320 ++
  24.321 ++static void killed(int code) NORETURN;
  24.322 ++static void killed(int code)
  24.323 ++{
  24.324 ++	cleanup();
  24.325 ++	if (code > EXIT_FAILURE)
  24.326 ++		kill_myself_with_sig(code);
  24.327 ++	exit(code);
  24.328 ++}
  24.329 ++
  24.330 ++static void vnc_event(void)
  24.331 ++{
  24.332 ++	struct vnc_rect uprect;
  24.333 ++	union {
  24.334 ++		struct vnc_server_fbup fbup;
  24.335 ++		struct vnc_server_cuttext cuttext;
  24.336 ++		struct vnc_server_colormap colormap;
  24.337 ++	} msg;
  24.338 ++	int n;
  24.339 ++
  24.340 ++	switch (xread_char(G.vnc_fd)) {
  24.341 ++	case VNC_SERVER_FBUP:
  24.342 ++		xread(G.vnc_fd, &msg.fbup.pad, sizeof(msg.fbup) - 1);
  24.343 ++		n = ntohs(msg.fbup.n);
  24.344 ++		while (n--) {
  24.345 ++			int x, y, w, h, l, i;
  24.346 ++			xread(G.vnc_fd, &uprect, sizeof(uprect));
  24.347 ++			if (uprect.enc != 0)
  24.348 ++				killed(1);
  24.349 ++			i = 0;
  24.350 ++			x = ntohs(uprect.x) - G.oc;
  24.351 ++			y = ntohs(uprect.y) - G.or;
  24.352 ++			w = ntohs(uprect.w);
  24.353 ++			h = ntohs(uprect.h);
  24.354 ++			l = MIN(w, G.cols - x);
  24.355 ++			if (x < 0) {
  24.356 ++				l = MIN(w + x, G.cols);
  24.357 ++				i = -x;
  24.358 ++				x = 0;
  24.359 ++			}
  24.360 ++			for (; h--; y++) {
  24.361 ++				int a, b, c = i;
  24.362 ++				for (a = b = 0; w > b; b += a, c = 0) {
  24.363 ++					int len;
  24.364 ++					a = MIN(w - b, MAXPIX);
  24.365 ++					len = MIN(a, l - b) - c;
  24.366 ++					xread(G.vnc_fd, line_buffer, a * G.bpp);
  24.367 ++					if (y >= 0 && y < G.rows && len > 0)
  24.368 ++						fb_set(y, x + b, 
  24.369 ++						       line_buffer + (c * G.bpp),
  24.370 ++						       len);
  24.371 ++				}
  24.372 ++			}
  24.373 ++		}
  24.374 ++		break;
  24.375 ++	case VNC_SERVER_BELL:
  24.376 ++		break;
  24.377 ++	case VNC_SERVER_CUTTEXT:
  24.378 ++		xread(G.vnc_fd, &msg.cuttext.pad1, sizeof(msg.cuttext) - 1);
  24.379 ++		skip(ntohl(msg.cuttext.len));
  24.380 ++		break;
  24.381 ++	case VNC_SERVER_COLORMAP:
  24.382 ++		xread(G.vnc_fd, &msg.colormap.pad, sizeof(msg.colormap) - 1);
  24.383 ++		skip(ntohs(msg.colormap.n) * 3 * 2);
  24.384 ++		break;
  24.385 ++	default:
  24.386 ++		killed(1);
  24.387 ++	}
  24.388 ++}
  24.389 ++
  24.390 ++static int update_scroll(struct scroll_data *s)
  24.391 ++{
  24.392 ++	int shift = s->size / 5;
  24.393 ++	int max = s->srv_size - s->size;
  24.394 ++	int status = 0;
  24.395 ++	if (s->pos < s->offset) {
  24.396 ++		if ((s->offset -= shift) < 0)
  24.397 ++			s->offset = 0;
  24.398 ++	}
  24.399 ++	else if (s->pos >= s->offset + s->size && s->offset < max) {
  24.400 ++		if ((s->offset += shift) > max)
  24.401 ++			s->offset = max;
  24.402 ++	}
  24.403 ++	else status++;
  24.404 ++	s->pos = MAX(s->offset, MIN(s->offset + s->size - 1, s->pos));
  24.405 ++	return status;
  24.406 ++}
  24.407 ++
  24.408 ++static void rat_event(void)
  24.409 ++{
  24.410 ++	static u8 btn2vnc[8] = {
  24.411 ++		0, VNC_BUTTON1_MASK, VNC_BUTTON3_MASK, 
  24.412 ++		VNC_BUTTON1_MASK + VNC_BUTTON3_MASK, VNC_BUTTON2_MASK, 
  24.413 ++		VNC_BUTTON1_MASK + VNC_BUTTON2_MASK,
  24.414 ++		VNC_BUTTON2_MASK + VNC_BUTTON3_MASK,
  24.415 ++		VNC_BUTTON1_MASK + VNC_BUTTON2_MASK + VNC_BUTTON3_MASK
  24.416 ++	};
  24.417 ++	signed char ie[4];
  24.418 ++	struct vnc_client_ratevent me = {VNC_CLIENT_RATEVENT};
  24.419 ++	int refresh;
  24.420 ++
  24.421 ++	xread(G.rat_fd, &ie, sizeof(ie));
  24.422 ++	G.mc += ie[1];
  24.423 ++	G.mr -= ie[2];
  24.424 ++	refresh = 2 - update_scroll(&G.scroll[0]) - update_scroll(&G.scroll[1]);
  24.425 ++	me.mask = btn2vnc[(int)(G.rat_buttons = ie[0] & 7)];
  24.426 ++	if (ie[3] > 0)		/* wheel up */
  24.427 ++		me.mask |= VNC_BUTTON4_MASK;
  24.428 ++	if (ie[3] < 0)		/* wheel down */
  24.429 ++		me.mask |= VNC_BUTTON5_MASK;
  24.430 ++	me.y = htons(G.mr);
  24.431 ++	me.x = htons(G.mc);
  24.432 ++	write(G.vnc_fd, &me, sizeof(me));
  24.433 ++	if (refresh)
  24.434 ++		vnc_refresh(0);
  24.435 ++}
  24.436 ++
  24.437 ++static int press(int key, int down)
  24.438 ++{
  24.439 ++	struct vnc_client_keyevent ke = {VNC_CLIENT_KEYEVENT};
  24.440 ++	ke.key = htonl(key);
  24.441 ++	ke.down = down;
  24.442 ++	return write(G.vnc_fd, &ke, sizeof(ke));
  24.443 ++}
  24.444 ++
  24.445 ++static void kbd_event(void)
  24.446 ++{
  24.447 ++	char key[1024];
  24.448 ++	int i, nr;
  24.449 ++
  24.450 ++	if ((nr = read(0, key, sizeof(key))) <= 0 )
  24.451 ++		killed(1);
  24.452 ++	for (i = 0; i < nr; i++) {
  24.453 ++		int j, k;
  24.454 ++		int mod[4];
  24.455 ++		int nmod;
  24.456 ++
  24.457 ++		k = nmod = 0;
  24.458 ++		switch (key[i]) {
  24.459 ++		case 0x08:
  24.460 ++		case 0x7f:
  24.461 ++			k = 0xff08;
  24.462 ++			break;
  24.463 ++		case 0x1b:
  24.464 ++			if (G.rat_buttons)
  24.465 ++				killed(0);
  24.466 ++			if (i + 2 < nr && key[i + 1] == '[') {
  24.467 ++				static const char arr2vnc[] = "HDACB";
  24.468 ++				char *p = strchr(arr2vnc, key[i + 2]);
  24.469 ++
  24.470 ++				if (p) {
  24.471 ++					k = p - arr2vnc + 0xff50;
  24.472 ++					i += 2;
  24.473 ++					break;
  24.474 ++				}
  24.475 ++			}
  24.476 ++			if (i + 1 < nr) {
  24.477 ++				mod[nmod++] = 0xffe9;
  24.478 ++				i++;
  24.479 ++			}
  24.480 ++		case 0x09:
  24.481 ++		case 0x0d:
  24.482 ++			k = 0xff00;
  24.483 ++			goto getkey;
  24.484 ++		case 0x0c:	/* Mouse button + ^L: redraw */
  24.485 ++			if (G.rat_buttons) {
  24.486 ++				vnc_refresh(0);
  24.487 ++				continue;
  24.488 ++			}
  24.489 ++		default:
  24.490 ++		getkey:
  24.491 ++			k += (unsigned char) key[i];
  24.492 ++		}
  24.493 ++		if ((k >= 'A' && k <= 'Z') || strchr(":\"<>?{}|+_()*&^%$#@!~", k))
  24.494 ++			mod[nmod++] = 0xffe1;
  24.495 ++		if (k >= 1 && k <= 26) {
  24.496 ++			k += 'a' - 1;
  24.497 ++			mod[nmod++] = 0xffe3;
  24.498 ++		}
  24.499 ++		mod[nmod] = k;
  24.500 ++		for (j = 0; j <= nmod; j++)
  24.501 ++			press(mod[j], 1);
  24.502 ++		press(k, 0);
  24.503 ++		for (j = 0; j < nmod; j++)
  24.504 ++			press(mod[j], 0);
  24.505 ++	}
  24.506 ++}
  24.507 ++
  24.508 ++static void term_setup(void)
  24.509 ++{
  24.510 ++	struct termios termios;
  24.511 ++#define INITSTR	"\x1b[?25l\x1b[2J\x1b[H** fbvnc **"
  24.512 ++
  24.513 ++	write(STDOUT_FILENO, INITSTR, sizeof(INITSTR));
  24.514 ++	tcgetattr (STDIN_FILENO, &termios);
  24.515 ++	G.term_orig = termios;
  24.516 ++	cfmakeraw(&termios);
  24.517 ++	tcsetattr_stdin_TCSANOW(&termios);
  24.518 ++}
  24.519 ++
  24.520 ++int fbvnc_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
  24.521 ++int fbvnc_main(int argc, char **argv)
  24.522 ++{
  24.523 ++	char *host = (char *) "127.0.0.1";
  24.524 ++	int port, pending = 0;
  24.525 ++	
  24.526 ++	INIT_G();
  24.527 ++	if (argc >= 2)
  24.528 ++		host = argv[1];
  24.529 ++	port = bb_lookup_port((argc >= 3) ?  argv[2] : "vnc", "tcp", 5900);
  24.530 ++	G.vnc_fd = create_and_connect_stream_or_die(host, port);
  24.531 ++	vnc_init();
  24.532 ++	G.rat_fd = open("/dev/input/mice", O_RDWR);
  24.533 ++	write(G.rat_fd, "\xf3\xc8\xf3\x64\xf3\x50", 6);	/* for using mouse wheel */
  24.534 ++	read(G.rat_fd, line_buffer, 1);
  24.535 ++	term_setup();
  24.536 ++	atexit(cleanup);
  24.537 ++	bb_signals(BB_FATAL_SIGS, killed);
  24.538 ++
  24.539 ++	G.ufds[0].events =
  24.540 ++	G.ufds[1].events =
  24.541 ++	G.ufds[2].events = POLLIN;
  24.542 ++	vnc_refresh(0);
  24.543 ++	while (1) {
  24.544 ++		int status = poll(G.ufds, 3, 500);
  24.545 ++		if (status == -1 && errno != EINTR)
  24.546 ++			killed(1);
  24.547 ++		if (!status)
  24.548 ++			continue;
  24.549 ++		if (G.ufds[0].revents & POLLIN)
  24.550 ++			kbd_event();
  24.551 ++		if (G.ufds[1].revents & POLLIN) {
  24.552 ++			vnc_event();
  24.553 ++			pending = 0;
  24.554 ++		}
  24.555 ++		if (G.ufds[2].revents & POLLIN)
  24.556 ++			rat_event();
  24.557 ++		if (!pending++)
  24.558 ++			vnc_refresh(1);
  24.559 ++	}
  24.560 ++}
  24.561 +--- /dev/null
  24.562 ++++ busybox/util-linux/vnc.h
  24.563 +@@ -0,0 +1,124 @@
  24.564 ++#define VNC_CONN_FAILED		0
  24.565 ++#define VNC_CONN_NOAUTH		1
  24.566 ++#define VNC_CONN_AUTH		2
  24.567 ++
  24.568 ++#define VNC_AUTH_OK		0
  24.569 ++#define VNC_AUTH_FAILED		1
  24.570 ++#define VNC_AUTH_TOOMANY	2
  24.571 ++
  24.572 ++#define VNC_SERVER_FBUP		0
  24.573 ++#define VNC_SERVER_COLORMAP	1
  24.574 ++#define VNC_SERVER_BELL		2
  24.575 ++#define VNC_SERVER_CUTTEXT	3
  24.576 ++
  24.577 ++#define VNC_CLIENT_PIXFMT	0
  24.578 ++#define VNC_CLIENT_COLORMAP	1
  24.579 ++#define VNC_CLIENT_SETENC	2
  24.580 ++#define VNC_CLIENT_FBUP		3
  24.581 ++#define VNC_CLIENT_KEYEVENT	4
  24.582 ++#define VNC_CLIENT_RATEVENT	5
  24.583 ++#define VNC_CLIENT_CUTTEXT	6
  24.584 ++
  24.585 ++#define VNC_ENC_RAW		0
  24.586 ++#define VNC_ENC_COPYRECT	1
  24.587 ++#define VNC_ENC_RRE		2
  24.588 ++#define VNC_ENC_CORRE		4
  24.589 ++#define VNC_ENC_HEXTILE		5
  24.590 ++
  24.591 ++#define VNC_BUTTON1_MASK	0x01
  24.592 ++#define VNC_BUTTON2_MASK	0x02
  24.593 ++#define VNC_BUTTON3_MASK	0x04
  24.594 ++#define VNC_BUTTON4_MASK	0x10
  24.595 ++#define VNC_BUTTON5_MASK	0x08
  24.596 ++
  24.597 ++typedef unsigned char u8;
  24.598 ++typedef unsigned short u16;
  24.599 ++typedef unsigned int u32;
  24.600 ++
  24.601 ++struct vnc_pixelfmt {
  24.602 ++	u8 bpp;
  24.603 ++	u8 depth;
  24.604 ++	u8 bigendian;
  24.605 ++	u8 truecolor;
  24.606 ++	u16 rmax;
  24.607 ++	u16 gmax;
  24.608 ++	u16 bmax;
  24.609 ++	u8 rshl;
  24.610 ++	u8 gshl;
  24.611 ++	u8 bshl;
  24.612 ++
  24.613 ++	u8 pad1;
  24.614 ++	u16 pad2;
  24.615 ++};
  24.616 ++
  24.617 ++struct vnc_client_init {
  24.618 ++	u8 shared;
  24.619 ++};
  24.620 ++
  24.621 ++struct vnc_server_init {
  24.622 ++    u16 w;
  24.623 ++    u16 h;
  24.624 ++    struct vnc_pixelfmt fmt;
  24.625 ++    u32 len;
  24.626 ++    /* char name[len]; */
  24.627 ++};
  24.628 ++
  24.629 ++struct vnc_rect {
  24.630 ++	u16 x, y;
  24.631 ++	u16 w, h;
  24.632 ++	u32 enc;
  24.633 ++	/* rect bytes */
  24.634 ++};
  24.635 ++
  24.636 ++struct vnc_server_fbup {
  24.637 ++    u8 type;
  24.638 ++    u8 pad;
  24.639 ++    u16 n;
  24.640 ++    /* struct vnc_rect rects[n]; */
  24.641 ++};
  24.642 ++
  24.643 ++struct vnc_server_cuttext {
  24.644 ++	u8 type;
  24.645 ++	u8 pad1;
  24.646 ++	u16 pad2;
  24.647 ++	u32 len;
  24.648 ++	/* char text[length] */
  24.649 ++};
  24.650 ++
  24.651 ++struct vnc_server_colormap {
  24.652 ++	u8 type;
  24.653 ++	u8 pad;
  24.654 ++	u16 first;
  24.655 ++	u16 n;
  24.656 ++	/* u8 colors[n * 3 * 2]; */
  24.657 ++};
  24.658 ++
  24.659 ++struct vnc_client_pixelfmt {
  24.660 ++	u8 type;
  24.661 ++	u8 pad1;
  24.662 ++	u16 pad2;
  24.663 ++	struct vnc_pixelfmt format;
  24.664 ++};
  24.665 ++
  24.666 ++struct vnc_client_fbup {
  24.667 ++	u8 type;
  24.668 ++	u8 inc;
  24.669 ++	u16 x;
  24.670 ++	u16 y;
  24.671 ++	u16 w;
  24.672 ++	u16 h;
  24.673 ++};
  24.674 ++
  24.675 ++struct vnc_client_keyevent {
  24.676 ++	u8 type;
  24.677 ++	u8 down;
  24.678 ++	u16 pad;
  24.679 ++	u32 key;
  24.680 ++};
  24.681 ++
  24.682 ++struct vnc_client_ratevent {
  24.683 ++	u8 type;
  24.684 ++	u8 mask;
  24.685 ++	u16 x;
  24.686 ++	u16 y;
  24.687 ++};
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/busybox/stuff/busybox-git-ris.u	Tue Aug 22 13:28:07 2017 +0200
    25.3 @@ -0,0 +1,90 @@
    25.4 +Add support for the Windows Remote Installation Service
    25.5 +--- busybox-git/networking/tftp.c
    25.6 ++++ busybox-git/networking/tftp.c
    25.7 +@@ -44,6 +44,15 @@
    25.8 + //config:comment "Common options for tftp/tftpd"
    25.9 + //config:	depends on TFTP || TFTPD
   25.10 + //config:
   25.11 ++//config:config FEATURE_TFTPD_RIS
   25.12 ++//config:	bool "Enable \"RIS\" support"
   25.13 ++//config:	default y
   25.14 ++//config:	depends on TFTPD
   25.15 ++//config:	help
   25.16 ++//config:	  Add support for the Windows Remote Installation Service. This allows
   25.17 ++//config:	  a client to get files starting with \ without respecting case.
   25.18 ++//config:	  Each \ will be replaced by a /.
   25.19 ++//config:
   25.20 + //config:config FEATURE_TFTP_GET
   25.21 + //config:	bool "Enable 'tftp get' and/or tftpd upload code"
   25.22 + //config:	default y
   25.23 +@@ -743,6 +752,59 @@
   25.24 + #undef remote_file
   25.25 + }
   25.26 + 
   25.27 ++#if ENABLE_FEATURE_TFTPD_RIS
   25.28 ++#include <dirent.h>
   25.29 ++
   25.30 ++static int lookup_entry(const char *search, char *unixpath);
   25.31 ++static void unixfilename(char *filename);
   25.32 ++
   25.33 ++// lookup search and concat real filename to unixpath
   25.34 ++static int lookup_entry(const char *search, char *unixpath)
   25.35 ++{
   25.36 ++ 	int status = 0;
   25.37 ++	DIR *dirp = opendir(unixpath[0] ? unixpath : ".");
   25.38 ++ 
   25.39 ++ 	if (dirp != NULL) {
   25.40 ++		struct dirent *entry;
   25.41 ++
   25.42 ++		while ((entry = readdir(dirp))) {
   25.43 ++			if (!strcasecmp(entry->d_name, search)) {
   25.44 ++				if (unixpath[0]) strcat(unixpath, "/");
   25.45 ++				strcat(unixpath, entry->d_name);
   25.46 ++				status++;
   25.47 ++				break;
   25.48 ++			}
   25.49 ++		}
   25.50 ++		closedir(dirp);
   25.51 ++ 	}
   25.52 ++	return status;
   25.53 ++}
   25.54 ++
   25.55 ++// update filename with real file path found
   25.56 ++static void unixfilename(char *filename)
   25.57 ++{
   25.58 ++	char unixpath[PATH_MAX];
   25.59 ++	char *s = unixpath + 1;
   25.60 ++	char *check = filename + 1;
   25.61 ++	int len;
   25.62 ++
   25.63 ++	for (unixpath[0] = 0; *check; len++, s += len, check += len) {
   25.64 ++		char *seek = strchr(check, '\\');
   25.65 ++
   25.66 ++		if (!seek) { // basename of filename
   25.67 ++			if (lookup_entry(check, unixpath))
   25.68 ++				strcpy(filename, unixpath); // found
   25.69 ++			break;
   25.70 ++		}
   25.71 ++		len = seek - check;
   25.72 ++		memcpy(s, check, len);
   25.73 ++		s[len] = '\0';
   25.74 ++		if (!lookup_entry(s, unixpath))
   25.75 ++			break; // path mismatch
   25.76 ++	}
   25.77 ++}
   25.78 ++#endif
   25.79 ++
   25.80 + #if ENABLE_TFTP
   25.81 + 
   25.82 + int tftp_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
   25.83 +@@ -892,6 +954,10 @@
   25.84 + 	G.block_buf_tail[0] = '\0';
   25.85 + 
   25.86 + 	local_file = G.block_buf + 2;
   25.87 ++#if ENABLE_FEATURE_TFTPD_RIS
   25.88 ++	if (local_file[0] == '\\')
   25.89 ++		unixfilename(local_file);
   25.90 ++#endif
   25.91 + 	if (local_file[0] == '.' || strstr(local_file, "/.")) {
   25.92 + 		error_msg = "dot in file name";
   25.93 + 		goto err;
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/busybox/stuff/busybox-git-scriptreplay.u	Tue Aug 22 13:28:07 2017 +0200
    26.3 @@ -0,0 +1,56 @@
    26.4 +--- busybox-git/util-linux/scriptreplay.c
    26.5 ++++ busybox-git/util-linux/scriptreplay.c
    26.6 +@@ -17,10 +17,20 @@
    26.7 + 
    26.8 + //kbuild:lib-$(CONFIG_SCRIPTREPLAY) += scriptreplay.o
    26.9 + 
   26.10 ++//config:config SCRIPTREPLAY_HOTKEYS
   26.11 ++//config:	bool "speed control hotkeys"
   26.12 ++//config:	default n
   26.13 ++//config:	depends on SCRIPTREPLAY
   26.14 ++//config:	help
   26.15 ++//config:	  Tune replay speed with + - = space return hotkeys.
   26.16 ++
   26.17 + //usage:#define scriptreplay_trivial_usage
   26.18 + //usage:       "TIMINGFILE [TYPESCRIPT [DIVISOR]]"
   26.19 + //usage:#define scriptreplay_full_usage "\n\n"
   26.20 + //usage:       "Play back typescripts, using timing information"
   26.21 ++//usage:	IF_SCRIPTREPLAY_HOTKEYS(
   26.22 ++//usage:       " and + - = space return hotkeys"
   26.23 ++//usage:	)
   26.24 + 
   26.25 + #include "libbb.h"
   26.26 + 
   26.27 +@@ -30,6 +40,10 @@
   26.28 + 	const char *script = "typescript";
   26.29 + 	double delay, factor = 1000000.0;
   26.30 + 	int fd;
   26.31 ++#if ENABLE_SCRIPTREPLAY_HOTKEYS
   26.32 ++	int timeout = -1;
   26.33 ++	char buffer[KEYCODE_BUFFER_SIZE];
   26.34 ++#endif
   26.35 + 	unsigned long count;
   26.36 + 	FILE *tfp;
   26.37 + 
   26.38 +@@ -47,6 +61,21 @@
   26.39 + 	while (fscanf(tfp, "%lf %lu\n", &delay, &count) == 2) {
   26.40 + 		usleep(delay * factor);
   26.41 + 		bb_copyfd_exact_size(fd, STDOUT_FILENO, count);
   26.42 ++#if ENABLE_SCRIPTREPLAY_HOTKEYS
   26.43 ++		switch (read_key(0, buffer, timeout)) {
   26.44 ++		case ' ':
   26.45 ++			timeout = INT_MAX;
   26.46 ++			break;
   26.47 ++		case '=':
   26.48 ++			factor = 1000000.0/2;
   26.49 ++		case '-':
   26.50 ++			factor *= 4;
   26.51 ++		case '+':
   26.52 ++			factor /= 2;
   26.53 ++		default :
   26.54 ++			timeout = -1;
   26.55 ++		}
   26.56 ++#endif
   26.57 + 	}
   26.58 + 	if (ENABLE_FEATURE_CLEAN_UP) {
   26.59 + 		close(fd);
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/busybox/stuff/busybox-git-stat.u	Tue Aug 22 13:28:07 2017 +0200
    27.3 @@ -0,0 +1,76 @@
    27.4 +Add non standard stat -m support to display file block list
    27.5 +Useful to patch read-only filesystems such as ISO9660, for defragmentation
    27.6 +tools or boot loaders
    27.7 +--- busybox-git/coreutils/stat.c
    27.8 ++++ busybox-git/coreutils/stat.c
    27.9 +@@ -54,6 +54,7 @@
   27.10 + //usage:	)
   27.11 + //usage:     "\n	-L	Follow links"
   27.12 + //usage:     "\n	-t	Terse display"
   27.13 ++//usage:     "\n	-m	Display block list"
   27.14 + //usage:	IF_SELINUX(
   27.15 + //usage:     "\n	-Z	Print security context"
   27.16 + //usage:	)
   27.17 +@@ -106,13 +107,15 @@
   27.18 + //usage:	)
   27.19 + 
   27.20 + #include "libbb.h"
   27.21 ++#include <linux/fs.h>
   27.22 + #include "common_bufsiz.h"
   27.23 + 
   27.24 + enum {
   27.25 + 	OPT_TERSE       = (1 << 0),
   27.26 + 	OPT_DEREFERENCE = (1 << 1),
   27.27 +-	OPT_FILESYS     = (1 << 2) * ENABLE_FEATURE_STAT_FILESYSTEM,
   27.28 +-	OPT_SELINUX     = (1 << (2+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX,
   27.29 ++	OPT_MAP         = (1 << 2),
   27.30 ++	OPT_FILESYS     = (1 << 3) * ENABLE_FEATURE_STAT_FILESYSTEM,
   27.31 ++	OPT_SELINUX     = (1 << (3+ENABLE_FEATURE_STAT_FILESYSTEM)) * ENABLE_SELINUX,
   27.32 + };
   27.33 + 
   27.34 + #if ENABLE_FEATURE_STAT_FORMAT
   27.35 +@@ -463,6 +466,25 @@
   27.36 + }
   27.37 + #endif  /* FEATURE_STAT_FORMAT */
   27.38 + 
   27.39 ++#if !ENABLE_FEATURE_STAT_FORMAT
   27.40 ++#define do_mapfile(filename, format) do_mapfile(filename)
   27.41 ++#endif
   27.42 ++static bool do_mapfile(const char *filename, const char *format)
   27.43 ++{
   27.44 ++	int i = 0;
   27.45 ++	int fd = xopen(filename, O_RDONLY);
   27.46 ++
   27.47 ++#if ENABLE_FEATURE_STAT_FORMAT
   27.48 ++	(void) format;
   27.49 ++#endif
   27.50 ++	while (1) {
   27.51 ++		int blk = i++;
   27.52 ++		if (ioctl(fd,FIBMAP,&blk) < 0 || blk == 0) break;
   27.53 ++		printf("%u\n",blk);
   27.54 ++	}	
   27.55 ++	return 1;
   27.56 ++}
   27.57 ++
   27.58 + #if ENABLE_FEATURE_STAT_FILESYSTEM
   27.59 + /* Stat the file system and print what we find.  */
   27.60 + #if !ENABLE_FEATURE_STAT_FORMAT
   27.61 +@@ -763,7 +785,7 @@
   27.62 + 	statfunc_ptr statfunc = do_stat;
   27.63 + 
   27.64 + 	opts = getopt32(argv, "^"
   27.65 +-		"tL"
   27.66 ++		"tLm"
   27.67 + 		IF_FEATURE_STAT_FILESYSTEM("f")
   27.68 + 		IF_SELINUX("Z")
   27.69 + 		IF_FEATURE_STAT_FORMAT("c:")
   27.70 +@@ -779,6 +801,9 @@
   27.71 + 		selinux_or_die();
   27.72 + 	}
   27.73 + #endif
   27.74 ++ 	if (opts & OPT_MAP) { /* -m */
   27.75 ++ 		statfunc = do_mapfile;
   27.76 ++	}
   27.77 + 	ok = 1;
   27.78 + 	argv += optind;
   27.79 + 	for (i = 0; argv[i]; ++i)
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/busybox/stuff/busybox-git-zmodules.u	Tue Aug 22 13:28:07 2017 +0200
    28.3 @@ -0,0 +1,27 @@
    28.4 +Add LZMA_DEFAULT_MAGIC support
    28.5 +--- busybox-1.25/archival/libarchive/open_transformer.c
    28.6 ++++ busybox-1.25/archival/libarchive/open_transformer.c
    28.7 +@@ -174,6 +174,23 @@
    28.8 + 	/* .gz and .bz2 both have 2-byte signature, and their
    28.9 + 	 * unpack_XXX_stream wants this header skipped. */
   28.10 + 	xread(fd, magic.b16, sizeof(magic.b16[0]));
   28.11 ++#if 1
   28.12 ++// SliTaz may use .gz suffix for lzma'd kernel modules
   28.13 ++#if BB_BIG_ENDIAN
   28.14 ++#define LZMA_DEFAULT_MAGIC 0x5d00
   28.15 ++#else
   28.16 ++#define LZMA_DEFAULT_MAGIC 0x5d
   28.17 ++#endif
   28.18 ++	if (ENABLE_FEATURE_SEAMLESS_LZMA
   28.19 ++	 && magic.b16[0] == LZMA_DEFAULT_MAGIC
   28.20 ++	) {
   28.21 ++		xlseek(fd, -xstate->signature_skipped, SEEK_CUR);
   28.22 ++		xstate->signature_skipped = 0;
   28.23 ++		xstate->xformer = unpack_lzma_stream;
   28.24 ++		USE_FOR_NOMMU(xstate->xformer_prog = "unlzma";)
   28.25 ++		goto found_magic;
   28.26 ++	}
   28.27 ++#endif
   28.28 + 	if (ENABLE_FEATURE_SEAMLESS_GZ
   28.29 + 	 && magic.b16[0] == GZIP_MAGIC
   28.30 + 	) {
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/busybox/stuff/busybox-git.config	Tue Aug 22 13:28:07 2017 +0200
    29.3 @@ -0,0 +1,1145 @@
    29.4 +#
    29.5 +# Automatically generated make config: don't edit
    29.6 +# Busybox version: 1.28.0.git
    29.7 +# Tue Aug 22 12:23:10 2017
    29.8 +#
    29.9 +CONFIG_HAVE_DOT_CONFIG=y
   29.10 +
   29.11 +#
   29.12 +# Settings
   29.13 +#
   29.14 +# CONFIG_DESKTOP is not set
   29.15 +# CONFIG_EXTRA_COMPAT is not set
   29.16 +# CONFIG_FEDORA_COMPAT is not set
   29.17 +# CONFIG_INCLUDE_SUSv2 is not set
   29.18 +CONFIG_LONG_OPTS=y
   29.19 +CONFIG_SHOW_USAGE=y
   29.20 +# CONFIG_FEATURE_VERBOSE_USAGE is not set
   29.21 +CONFIG_FEATURE_COMPRESS_USAGE=y
   29.22 +# CONFIG_LFS is not set
   29.23 +# CONFIG_PAM is not set
   29.24 +CONFIG_FEATURE_DEVPTS=y
   29.25 +CONFIG_FEATURE_UTMP=y
   29.26 +CONFIG_FEATURE_WTMP=y
   29.27 +CONFIG_FEATURE_PIDFILE=y
   29.28 +CONFIG_PID_FILE_PATH="/var/run"
   29.29 +CONFIG_BUSYBOX=y
   29.30 +# CONFIG_FEATURE_INSTALLER is not set
   29.31 +# CONFIG_INSTALL_NO_USR is not set
   29.32 +CONFIG_FEATURE_SUID=y
   29.33 +# CONFIG_FEATURE_SUID_CONFIG is not set
   29.34 +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
   29.35 +CONFIG_FEATURE_PREFER_APPLETS=y
   29.36 +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox"
   29.37 +# CONFIG_SELINUX is not set
   29.38 +# CONFIG_FEATURE_CLEAN_UP is not set
   29.39 +CONFIG_FEATURE_SYSLOG=y
   29.40 +CONFIG_PLATFORM_LINUX=y
   29.41 +
   29.42 +#
   29.43 +# Build Options
   29.44 +#
   29.45 +# CONFIG_STATIC is not set
   29.46 +# CONFIG_PIE is not set
   29.47 +# CONFIG_NOMMU is not set
   29.48 +# CONFIG_BUILD_LIBBUSYBOX is not set
   29.49 +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
   29.50 +# CONFIG_FEATURE_INDIVIDUAL is not set
   29.51 +# CONFIG_FEATURE_SHARED_BUSYBOX is not set
   29.52 +CONFIG_CROSS_COMPILER_PREFIX="uclibc-i486-"
   29.53 +CONFIG_SYSROOT=""
   29.54 +CONFIG_EXTRA_CFLAGS=""
   29.55 +CONFIG_EXTRA_LDFLAGS=""
   29.56 +CONFIG_EXTRA_LDLIBS=""
   29.57 +# CONFIG_USE_PORTABLE_CODE is not set
   29.58 +
   29.59 +#
   29.60 +# Installation Options ("make install" behavior)
   29.61 +#
   29.62 +# CONFIG_INSTALL_APPLET_SYMLINKS is not set
   29.63 +CONFIG_INSTALL_APPLET_HARDLINKS=y
   29.64 +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
   29.65 +# CONFIG_INSTALL_APPLET_DONT is not set
   29.66 +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
   29.67 +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
   29.68 +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
   29.69 +CONFIG_PREFIX="./_install"
   29.70 +
   29.71 +#
   29.72 +# Debugging Options
   29.73 +#
   29.74 +# CONFIG_DEBUG is not set
   29.75 +# CONFIG_DEBUG_PESSIMIZE is not set
   29.76 +# CONFIG_DEBUG_SANITIZE is not set
   29.77 +# CONFIG_UNIT_TEST is not set
   29.78 +# CONFIG_WERROR is not set
   29.79 +CONFIG_NO_DEBUG_LIB=y
   29.80 +# CONFIG_DMALLOC is not set
   29.81 +# CONFIG_EFENCE is not set
   29.82 +
   29.83 +#
   29.84 +# Library Tuning
   29.85 +#
   29.86 +# CONFIG_FEATURE_USE_BSS_TAIL is not set
   29.87 +# CONFIG_FEATURE_RTMINMAX is not set
   29.88 +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
   29.89 +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
   29.90 +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
   29.91 +CONFIG_PASSWORD_MINLEN=6
   29.92 +CONFIG_MD5_SMALL=3
   29.93 +CONFIG_SHA3_SMALL=1
   29.94 +# CONFIG_FEATURE_FAST_TOP is not set
   29.95 +# CONFIG_FEATURE_ETC_NETWORKS is not set
   29.96 +CONFIG_FEATURE_EDITING=y
   29.97 +CONFIG_FEATURE_EDITING_MAX_LEN=1024
   29.98 +# CONFIG_FEATURE_EDITING_VI is not set
   29.99 +CONFIG_FEATURE_EDITING_HISTORY=32
  29.100 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
  29.101 +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
  29.102 +# CONFIG_FEATURE_REVERSE_SEARCH is not set
  29.103 +CONFIG_FEATURE_TAB_COMPLETION=y
  29.104 +# CONFIG_FEATURE_USERNAME_COMPLETION is not set
  29.105 +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
  29.106 +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
  29.107 +# CONFIG_LOCALE_SUPPORT is not set
  29.108 +# CONFIG_UNICODE_SUPPORT is not set
  29.109 +# CONFIG_UNICODE_USING_LOCALE is not set
  29.110 +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
  29.111 +CONFIG_SUBST_WCHAR=0
  29.112 +CONFIG_LAST_SUPPORTED_WCHAR=0
  29.113 +# CONFIG_UNICODE_COMBINING_WCHARS is not set
  29.114 +# CONFIG_UNICODE_WIDE_WCHARS is not set
  29.115 +# CONFIG_UNICODE_BIDI_SUPPORT is not set
  29.116 +# CONFIG_UNICODE_NEUTRAL_TABLE is not set
  29.117 +# CONFIG_UNICODE_PRESERVE_BROKEN is not set
  29.118 +CONFIG_FEATURE_NON_POSIX_CP=y
  29.119 +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
  29.120 +CONFIG_FEATURE_USE_SENDFILE=y
  29.121 +CONFIG_FEATURE_COPYBUF_KB=4
  29.122 +CONFIG_FEATURE_SKIP_ROOTFS=y
  29.123 +CONFIG_MONOTONIC_SYSCALL=y
  29.124 +# CONFIG_IOCTL_HEX2STR_ERROR is not set
  29.125 +# CONFIG_FEATURE_HWIB is not set
  29.126 +
  29.127 +#
  29.128 +# Applets
  29.129 +#
  29.130 +
  29.131 +#
  29.132 +# Archival Utilities
  29.133 +#
  29.134 +# CONFIG_FEATURE_SEAMLESS_XZ is not set
  29.135 +# CONFIG_FEATURE_SEAMLESS_LZMA is not set
  29.136 +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
  29.137 +# CONFIG_FEATURE_SEAMLESS_GZ is not set
  29.138 +# CONFIG_FEATURE_SEAMLESS_Z is not set
  29.139 +# CONFIG_AR is not set
  29.140 +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
  29.141 +# CONFIG_FEATURE_AR_CREATE is not set
  29.142 +# CONFIG_UNCOMPRESS is not set
  29.143 +CONFIG_GUNZIP=y
  29.144 +CONFIG_ZCAT=y
  29.145 +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set
  29.146 +CONFIG_BUNZIP2=y
  29.147 +# CONFIG_BZCAT is not set
  29.148 +CONFIG_UNLZMA=y
  29.149 +# CONFIG_LZCAT is not set
  29.150 +# CONFIG_LZMA is not set
  29.151 +# CONFIG_UNXZ is not set
  29.152 +# CONFIG_XZCAT is not set
  29.153 +# CONFIG_XZ is not set
  29.154 +# CONFIG_BZIP2 is not set
  29.155 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y
  29.156 +CONFIG_CPIO=y
  29.157 +CONFIG_FEATURE_CPIO_O=y
  29.158 +# CONFIG_FEATURE_CPIO_P is not set
  29.159 +# CONFIG_DPKG is not set
  29.160 +# CONFIG_DPKG_DEB is not set
  29.161 +CONFIG_GZIP=y
  29.162 +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
  29.163 +CONFIG_GZIP_FAST=0
  29.164 +# CONFIG_FEATURE_GZIP_LEVELS is not set
  29.165 +CONFIG_FEATURE_GZIP_DECOMPRESS=y
  29.166 +# CONFIG_LZOP is not set
  29.167 +# CONFIG_UNLZOP is not set
  29.168 +# CONFIG_LZOPCAT is not set
  29.169 +# CONFIG_LZOP_COMPR_HIGH is not set
  29.170 +# CONFIG_RPM is not set
  29.171 +# CONFIG_RPM2CPIO is not set
  29.172 +CONFIG_TAR=y
  29.173 +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
  29.174 +CONFIG_FEATURE_TAR_CREATE=y
  29.175 +# CONFIG_FEATURE_TAR_AUTODETECT is not set
  29.176 +# CONFIG_FEATURE_TAR_FROM is not set
  29.177 +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
  29.178 +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
  29.179 +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
  29.180 +# CONFIG_FEATURE_TAR_TO_COMMAND is not set
  29.181 +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
  29.182 +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
  29.183 +# CONFIG_FEATURE_TAR_SELINUX is not set
  29.184 +# CONFIG_UNZIP is not set
  29.185 +# CONFIG_FEATURE_UNZIP_CDF is not set
  29.186 +# CONFIG_FEATURE_UNZIP_BZIP2 is not set
  29.187 +# CONFIG_FEATURE_UNZIP_LZMA is not set
  29.188 +# CONFIG_FEATURE_UNZIP_XZ is not set
  29.189 +# CONFIG_FEATURE_LZMA_FAST is not set
  29.190 +
  29.191 +#
  29.192 +# Coreutils
  29.193 +#
  29.194 +CONFIG_BASENAME=y
  29.195 +CONFIG_CAT=y
  29.196 +# CONFIG_FEATURE_CATN is not set
  29.197 +# CONFIG_FEATURE_CATV is not set
  29.198 +CONFIG_CHGRP=y
  29.199 +CONFIG_CHMOD=y
  29.200 +CONFIG_CHOWN=y
  29.201 +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
  29.202 +CONFIG_CHROOT=y
  29.203 +# CONFIG_CKSUM is not set
  29.204 +# CONFIG_COMM is not set
  29.205 +CONFIG_CP=y
  29.206 +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
  29.207 +CONFIG_CUT=y
  29.208 +CONFIG_DATE=y
  29.209 +# CONFIG_FEATURE_DATE_ISOFMT is not set
  29.210 +# CONFIG_FEATURE_DATE_NANO is not set
  29.211 +# CONFIG_FEATURE_DATE_COMPAT is not set
  29.212 +CONFIG_DD=y
  29.213 +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
  29.214 +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
  29.215 +CONFIG_FEATURE_DD_IBS_OBS=y
  29.216 +# CONFIG_FEATURE_DD_STATUS is not set
  29.217 +CONFIG_DF=y
  29.218 +# CONFIG_FEATURE_DF_FANCY is not set
  29.219 +CONFIG_DIRNAME=y
  29.220 +# CONFIG_DOS2UNIX is not set
  29.221 +# CONFIG_UNIX2DOS is not set
  29.222 +CONFIG_DU=y
  29.223 +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
  29.224 +CONFIG_ECHO=y
  29.225 +CONFIG_FEATURE_FANCY_ECHO=y
  29.226 +# CONFIG_ENV is not set
  29.227 +# CONFIG_EXPAND is not set
  29.228 +# CONFIG_UNEXPAND is not set
  29.229 +CONFIG_EXPR=y
  29.230 +# CONFIG_EXPR_MATH_SUPPORT_64 is not set
  29.231 +# CONFIG_FACTOR is not set
  29.232 +CONFIG_FALSE=y
  29.233 +# CONFIG_FOLD is not set
  29.234 +# CONFIG_FSYNC is not set
  29.235 +CONFIG_HEAD=y
  29.236 +# CONFIG_FEATURE_FANCY_HEAD is not set
  29.237 +# CONFIG_HOSTID is not set
  29.238 +CONFIG_ID=y
  29.239 +# CONFIG_GROUPS is not set
  29.240 +# CONFIG_INSTALL is not set
  29.241 +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
  29.242 +# CONFIG_LINK is not set
  29.243 +CONFIG_LN=y
  29.244 +# CONFIG_LOGNAME is not set
  29.245 +CONFIG_LS=y
  29.246 +CONFIG_FEATURE_LS_FILETYPES=y
  29.247 +CONFIG_FEATURE_LS_FOLLOWLINKS=y
  29.248 +CONFIG_FEATURE_LS_RECURSIVE=y
  29.249 +# CONFIG_FEATURE_LS_WIDTH is not set
  29.250 +CONFIG_FEATURE_LS_SORTFILES=y
  29.251 +CONFIG_FEATURE_LS_TIMESTAMPS=y
  29.252 +CONFIG_FEATURE_LS_USERNAME=y
  29.253 +CONFIG_FEATURE_LS_COLOR=y
  29.254 +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
  29.255 +CONFIG_MD5SUM=y
  29.256 +# CONFIG_SHA1SUM is not set
  29.257 +# CONFIG_SHA256SUM is not set
  29.258 +# CONFIG_SHA512SUM is not set
  29.259 +# CONFIG_SHA3SUM is not set
  29.260 +
  29.261 +#
  29.262 +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
  29.263 +#
  29.264 +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
  29.265 +CONFIG_MKDIR=y
  29.266 +CONFIG_MKFIFO=y
  29.267 +CONFIG_MKNOD=y
  29.268 +CONFIG_MKTEMP=y
  29.269 +CONFIG_MV=y
  29.270 +# CONFIG_NICE is not set
  29.271 +# CONFIG_NL is not set
  29.272 +# CONFIG_NOHUP is not set
  29.273 +# CONFIG_NPROC is not set
  29.274 +CONFIG_OD=y
  29.275 +# CONFIG_PASTE is not set
  29.276 +# CONFIG_PRINTENV is not set
  29.277 +CONFIG_PRINTF=y
  29.278 +CONFIG_PWD=y
  29.279 +CONFIG_READLINK=y
  29.280 +# CONFIG_FEATURE_READLINK_FOLLOW is not set
  29.281 +# CONFIG_REALPATH is not set
  29.282 +CONFIG_RM=y
  29.283 +CONFIG_RMDIR=y
  29.284 +CONFIG_SEQ=y
  29.285 +# CONFIG_SHRED is not set
  29.286 +# CONFIG_SHUF is not set
  29.287 +CONFIG_SLEEP=y
  29.288 +# CONFIG_FEATURE_FANCY_SLEEP is not set
  29.289 +# CONFIG_FEATURE_FLOAT_SLEEP is not set
  29.290 +CONFIG_SORT=y
  29.291 +# CONFIG_FEATURE_SORT_BIG is not set
  29.292 +CONFIG_SPLIT=y
  29.293 +# CONFIG_FEATURE_SPLIT_FANCY is not set
  29.294 +CONFIG_STAT=y
  29.295 +CONFIG_FEATURE_STAT_FORMAT=y
  29.296 +# CONFIG_FEATURE_STAT_FILESYSTEM is not set
  29.297 +CONFIG_STTY=y
  29.298 +# CONFIG_SUM is not set
  29.299 +CONFIG_SYNC=y
  29.300 +# CONFIG_FEATURE_SYNC_FANCY is not set
  29.301 +# CONFIG_TAC is not set
  29.302 +CONFIG_TAIL=y
  29.303 +# CONFIG_FEATURE_FANCY_TAIL is not set
  29.304 +CONFIG_TEE=y
  29.305 +# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
  29.306 +CONFIG_TEST=y
  29.307 +CONFIG_TEST1=y
  29.308 +CONFIG_TEST2=y
  29.309 +# CONFIG_FEATURE_TEST_64 is not set
  29.310 +# CONFIG_TIMEOUT is not set
  29.311 +CONFIG_TOUCH=y
  29.312 +# CONFIG_FEATURE_TOUCH_NODEREF is not set
  29.313 +# CONFIG_FEATURE_TOUCH_SUSV3 is not set
  29.314 +# CONFIG_TR is not set
  29.315 +# CONFIG_FEATURE_TR_CLASSES is not set
  29.316 +# CONFIG_FEATURE_TR_EQUIV is not set
  29.317 +CONFIG_TRUE=y
  29.318 +# CONFIG_TRUNCATE is not set
  29.319 +CONFIG_TTY=y
  29.320 +CONFIG_UNAME=y
  29.321 +CONFIG_UNAME_OSNAME="SliTaz"
  29.322 +# CONFIG_BB_ARCH is not set
  29.323 +CONFIG_UNIQ=y
  29.324 +# CONFIG_UNLINK is not set
  29.325 +# CONFIG_USLEEP is not set
  29.326 +CONFIG_UUDECODE=y
  29.327 +# CONFIG_BASE64 is not set
  29.328 +CONFIG_UUENCODE=y
  29.329 +CONFIG_WC=y
  29.330 +# CONFIG_FEATURE_WC_LARGE is not set
  29.331 +# CONFIG_WHO is not set
  29.332 +# CONFIG_W is not set
  29.333 +# CONFIG_USERS is not set
  29.334 +# CONFIG_WHOAMI is not set
  29.335 +CONFIG_YES=y
  29.336 +
  29.337 +#
  29.338 +# Common options
  29.339 +#
  29.340 +# CONFIG_FEATURE_VERBOSE is not set
  29.341 +
  29.342 +#
  29.343 +# Common options for cp and mv
  29.344 +#
  29.345 +CONFIG_FEATURE_PRESERVE_HARDLINKS=y
  29.346 +
  29.347 +#
  29.348 +# Common options for df, du, ls
  29.349 +#
  29.350 +CONFIG_FEATURE_HUMAN_READABLE=y
  29.351 +
  29.352 +#
  29.353 +# Console Utilities
  29.354 +#
  29.355 +CONFIG_CHVT=y
  29.356 +CONFIG_CLEAR=y
  29.357 +# CONFIG_DEALLOCVT is not set
  29.358 +# CONFIG_DUMPKMAP is not set
  29.359 +# CONFIG_FGCONSOLE is not set
  29.360 +# CONFIG_KBD_MODE is not set
  29.361 +# CONFIG_LOADFONT is not set
  29.362 +# CONFIG_SETFONT is not set
  29.363 +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
  29.364 +CONFIG_DEFAULT_SETFONT_DIR=""
  29.365 +# CONFIG_FEATURE_LOADFONT_PSF2 is not set
  29.366 +# CONFIG_FEATURE_LOADFONT_RAW is not set
  29.367 +CONFIG_LOADKMAP=y
  29.368 +# CONFIG_OPENVT is not set
  29.369 +CONFIG_RESET=y
  29.370 +# CONFIG_RESIZE is not set
  29.371 +# CONFIG_FEATURE_RESIZE_PRINT is not set
  29.372 +# CONFIG_SETCONSOLE is not set
  29.373 +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
  29.374 +# CONFIG_SETKEYCODES is not set
  29.375 +# CONFIG_SETLOGCONS is not set
  29.376 +# CONFIG_SHOWKEY is not set
  29.377 +
  29.378 +#
  29.379 +# Debian Utilities
  29.380 +#
  29.381 +# CONFIG_PIPE_PROGRESS is not set
  29.382 +# CONFIG_RUN_PARTS is not set
  29.383 +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
  29.384 +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
  29.385 +# CONFIG_START_STOP_DAEMON is not set
  29.386 +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
  29.387 +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
  29.388 +CONFIG_WHICH=y
  29.389 +
  29.390 +#
  29.391 +# klibc-utils
  29.392 +#
  29.393 +# CONFIG_MINIPS is not set
  29.394 +# CONFIG_NUKE is not set
  29.395 +# CONFIG_RESUME is not set
  29.396 +# CONFIG_RUN_INIT is not set
  29.397 +
  29.398 +#
  29.399 +# Editors
  29.400 +#
  29.401 +CONFIG_AWK=y
  29.402 +# CONFIG_FEATURE_AWK_LIBM is not set
  29.403 +# CONFIG_FEATURE_AWK_GNU_EXTENSIONS is not set
  29.404 +# CONFIG_CMP is not set
  29.405 +# CONFIG_DIFF is not set
  29.406 +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
  29.407 +# CONFIG_FEATURE_DIFF_DIR is not set
  29.408 +# CONFIG_ED is not set
  29.409 +# CONFIG_PATCH is not set
  29.410 +CONFIG_SED=y
  29.411 +CONFIG_VI=y
  29.412 +CONFIG_FEATURE_VI_MAX_LEN=1024
  29.413 +# CONFIG_FEATURE_VI_8BIT is not set
  29.414 +CONFIG_FEATURE_VI_COLON=y
  29.415 +CONFIG_FEATURE_VI_YANKMARK=y
  29.416 +CONFIG_FEATURE_VI_SEARCH=y
  29.417 +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
  29.418 +CONFIG_FEATURE_VI_USE_SIGNALS=y
  29.419 +CONFIG_FEATURE_VI_DOT_CMD=y
  29.420 +CONFIG_FEATURE_VI_READONLY=y
  29.421 +CONFIG_FEATURE_VI_SETOPTS=y
  29.422 +CONFIG_FEATURE_VI_SET=y
  29.423 +# CONFIG_FEATURE_VI_WIN_RESIZE is not set
  29.424 +CONFIG_FEATURE_VI_ASK_TERMINAL=y
  29.425 +# CONFIG_FEATURE_VI_UNDO is not set
  29.426 +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
  29.427 +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
  29.428 +CONFIG_FEATURE_ALLOW_EXEC=y
  29.429 +
  29.430 +#
  29.431 +# Finding Utilities
  29.432 +#
  29.433 +CONFIG_FIND=y
  29.434 +CONFIG_FEATURE_FIND_PRINT0=y
  29.435 +CONFIG_FEATURE_FIND_MTIME=y
  29.436 +CONFIG_FEATURE_FIND_MMIN=y
  29.437 +CONFIG_FEATURE_FIND_PERM=y
  29.438 +CONFIG_FEATURE_FIND_TYPE=y
  29.439 +CONFIG_FEATURE_FIND_XDEV=y
  29.440 +CONFIG_FEATURE_FIND_MAXDEPTH=y
  29.441 +CONFIG_FEATURE_FIND_NEWER=y
  29.442 +CONFIG_FEATURE_FIND_INUM=y
  29.443 +CONFIG_FEATURE_FIND_EXEC=y
  29.444 +# CONFIG_FEATURE_FIND_EXEC_PLUS is not set
  29.445 +CONFIG_FEATURE_FIND_USER=y
  29.446 +CONFIG_FEATURE_FIND_GROUP=y
  29.447 +CONFIG_FEATURE_FIND_NOT=y
  29.448 +CONFIG_FEATURE_FIND_DEPTH=y
  29.449 +CONFIG_FEATURE_FIND_PAREN=y
  29.450 +CONFIG_FEATURE_FIND_SIZE=y
  29.451 +CONFIG_FEATURE_FIND_PRUNE=y
  29.452 +CONFIG_FEATURE_FIND_DELETE=y
  29.453 +CONFIG_FEATURE_FIND_PATH=y
  29.454 +CONFIG_FEATURE_FIND_REGEX=y
  29.455 +# CONFIG_FEATURE_FIND_CONTEXT is not set
  29.456 +CONFIG_FEATURE_FIND_LINKS=y
  29.457 +CONFIG_GREP=y
  29.458 +CONFIG_EGREP=y
  29.459 +CONFIG_FGREP=y
  29.460 +CONFIG_FEATURE_GREP_CONTEXT=y
  29.461 +CONFIG_XARGS=y
  29.462 +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
  29.463 +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
  29.464 +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
  29.465 +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
  29.466 +# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set
  29.467 +
  29.468 +#
  29.469 +# Init Utilities
  29.470 +#
  29.471 +# CONFIG_BOOTCHARTD is not set
  29.472 +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
  29.473 +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
  29.474 +CONFIG_HALT=y
  29.475 +CONFIG_POWEROFF=y
  29.476 +CONFIG_REBOOT=y
  29.477 +# CONFIG_FEATURE_CALL_TELINIT is not set
  29.478 +CONFIG_TELINIT_PATH=""
  29.479 +CONFIG_INIT=y
  29.480 +# CONFIG_LINUXRC is not set
  29.481 +CONFIG_FEATURE_USE_INITTAB=y
  29.482 +CONFIG_FEATURE_KILL_REMOVED=y
  29.483 +CONFIG_FEATURE_KILL_DELAY=0
  29.484 +CONFIG_FEATURE_INIT_SCTTY=y
  29.485 +# CONFIG_FEATURE_INIT_SYSLOG is not set
  29.486 +CONFIG_FEATURE_INIT_QUIET=y
  29.487 +# CONFIG_FEATURE_INIT_COREDUMPS is not set
  29.488 +CONFIG_INIT_TERMINAL_TYPE=""
  29.489 +# CONFIG_FEATURE_INIT_MODIFY_CMDLINE is not set
  29.490 +
  29.491 +#
  29.492 +# Login/Password Management Utilities
  29.493 +#
  29.494 +# CONFIG_FEATURE_SHADOWPASSWDS is not set
  29.495 +# CONFIG_USE_BB_PWD_GRP is not set
  29.496 +# CONFIG_USE_BB_SHADOW is not set
  29.497 +# CONFIG_USE_BB_CRYPT is not set
  29.498 +# CONFIG_USE_BB_CRYPT_SHA is not set
  29.499 +# CONFIG_ADD_SHELL is not set
  29.500 +# CONFIG_REMOVE_SHELL is not set
  29.501 +CONFIG_ADDGROUP=y
  29.502 +CONFIG_FEATURE_ADDUSER_TO_GROUP=y
  29.503 +CONFIG_ADDUSER=y
  29.504 +# CONFIG_FEATURE_CHECK_NAMES is not set
  29.505 +CONFIG_LAST_ID=60000
  29.506 +CONFIG_FIRST_SYSTEM_ID=100
  29.507 +CONFIG_LAST_SYSTEM_ID=999
  29.508 +CONFIG_CHPASSWD=y
  29.509 +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
  29.510 +# CONFIG_CRYPTPW is not set
  29.511 +# CONFIG_MKPASSWD is not set
  29.512 +CONFIG_DELUSER=y
  29.513 +CONFIG_DELGROUP=y
  29.514 +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
  29.515 +CONFIG_GETTY=y
  29.516 +CONFIG_LOGIN=y
  29.517 +# CONFIG_LOGIN_SESSION_AS_CHILD is not set
  29.518 +# CONFIG_LOGIN_SCRIPTS is not set
  29.519 +# CONFIG_FEATURE_NOLOGIN is not set
  29.520 +# CONFIG_FEATURE_SECURETTY is not set
  29.521 +CONFIG_PASSWD=y
  29.522 +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
  29.523 +CONFIG_SU=y
  29.524 +# CONFIG_FEATURE_SU_SYSLOG is not set
  29.525 +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
  29.526 +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
  29.527 +# CONFIG_SULOGIN is not set
  29.528 +# CONFIG_VLOCK is not set
  29.529 +
  29.530 +#
  29.531 +# Linux Ext2 FS Progs
  29.532 +#
  29.533 +# CONFIG_CHATTR is not set
  29.534 +# CONFIG_FSCK is not set
  29.535 +# CONFIG_LSATTR is not set
  29.536 +# CONFIG_TUNE2FS is not set
  29.537 +
  29.538 +#
  29.539 +# Linux Module Utilities
  29.540 +#
  29.541 +CONFIG_MODPROBE_SMALL=y
  29.542 +# CONFIG_DEPMOD is not set
  29.543 +# CONFIG_INSMOD is not set
  29.544 +# CONFIG_LSMOD is not set
  29.545 +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
  29.546 +# CONFIG_MODINFO is not set
  29.547 +# CONFIG_MODPROBE is not set
  29.548 +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
  29.549 +# CONFIG_RMMOD is not set
  29.550 +
  29.551 +#
  29.552 +# Options common to multiple modutils
  29.553 +#
  29.554 +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set
  29.555 +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
  29.556 +# CONFIG_FEATURE_2_4_MODULES is not set
  29.557 +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
  29.558 +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
  29.559 +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
  29.560 +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
  29.561 +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
  29.562 +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
  29.563 +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
  29.564 +# CONFIG_FEATURE_MODUTILS_ALIAS is not set
  29.565 +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
  29.566 +CONFIG_DEFAULT_MODULES_DIR=""
  29.567 +CONFIG_DEFAULT_DEPMOD_FILE=""
  29.568 +
  29.569 +#
  29.570 +# Linux System Utilities
  29.571 +#
  29.572 +# CONFIG_ACPID is not set
  29.573 +# CONFIG_FEATURE_ACPID_COMPAT is not set
  29.574 +# CONFIG_BLKDISCARD is not set
  29.575 +CONFIG_BLKID=y
  29.576 +# CONFIG_FEATURE_BLKID_TYPE is not set
  29.577 +# CONFIG_BLOCKDEV is not set
  29.578 +CONFIG_CAL=y
  29.579 +# CONFIG_CHRT is not set
  29.580 +CONFIG_DMESG=y
  29.581 +CONFIG_FEATURE_DMESG_PRETTY=y
  29.582 +# CONFIG_EJECT is not set
  29.583 +# CONFIG_FEATURE_EJECT_SCSI is not set
  29.584 +# CONFIG_FALLOCATE is not set
  29.585 +# CONFIG_FATATTR is not set
  29.586 +CONFIG_FBSET=y
  29.587 +CONFIG_FEATURE_FBSET_FANCY=y
  29.588 +CONFIG_FEATURE_FBSET_READMODE=y
  29.589 +CONFIG_FBVNC=y
  29.590 +CONFIG_FDFORMAT=y
  29.591 +CONFIG_FDISK=y
  29.592 +CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
  29.593 +CONFIG_FEATURE_FDISK_WRITABLE=y
  29.594 +# CONFIG_FEATURE_AIX_LABEL is not set
  29.595 +# CONFIG_FEATURE_SGI_LABEL is not set
  29.596 +# CONFIG_FEATURE_SUN_LABEL is not set
  29.597 +# CONFIG_FEATURE_OSF_LABEL is not set
  29.598 +CONFIG_FEATURE_GPT_LABEL=y
  29.599 +# CONFIG_FEATURE_FDISK_ADVANCED is not set
  29.600 +# CONFIG_FINDFS is not set
  29.601 +# CONFIG_FLOCK is not set
  29.602 +# CONFIG_FDFLUSH is not set
  29.603 +# CONFIG_FREERAMDISK is not set
  29.604 +# CONFIG_FSCK_MINIX is not set
  29.605 +# CONFIG_FSFREEZE is not set
  29.606 +# CONFIG_FSTRIM is not set
  29.607 +# CONFIG_GETOPT is not set
  29.608 +# CONFIG_FEATURE_GETOPT_LONG is not set
  29.609 +CONFIG_HEXDUMP=y
  29.610 +CONFIG_FEATURE_HEXDUMP_REVERSE=y
  29.611 +CONFIG_HD=y
  29.612 +# CONFIG_XXD is not set
  29.613 +CONFIG_HWCLOCK=y
  29.614 +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
  29.615 +# CONFIG_IONICE is not set
  29.616 +# CONFIG_IPCRM is not set
  29.617 +# CONFIG_IPCS is not set
  29.618 +# CONFIG_LAST is not set
  29.619 +# CONFIG_FEATURE_LAST_FANCY is not set
  29.620 +CONFIG_LOSETUP=y
  29.621 +CONFIG_LSPCI=y
  29.622 +CONFIG_LSUSB=y
  29.623 +CONFIG_MDEV=y
  29.624 +# CONFIG_FEATURE_MDEV_CONF is not set
  29.625 +# CONFIG_FEATURE_MDEV_RENAME is not set
  29.626 +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
  29.627 +# CONFIG_FEATURE_MDEV_EXEC is not set
  29.628 +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
  29.629 +# CONFIG_MESG is not set
  29.630 +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
  29.631 +# CONFIG_MKE2FS is not set
  29.632 +# CONFIG_MKFS_EXT2 is not set
  29.633 +# CONFIG_MKFS_MINIX is not set
  29.634 +# CONFIG_FEATURE_MINIX2 is not set
  29.635 +# CONFIG_MKFS_REISER is not set
  29.636 +# CONFIG_MKDOSFS is not set
  29.637 +# CONFIG_MKFS_VFAT is not set
  29.638 +CONFIG_MKSWAP=y
  29.639 +# CONFIG_FEATURE_MKSWAP_UUID is not set
  29.640 +CONFIG_MORE=y
  29.641 +CONFIG_MOUNT=y
  29.642 +# CONFIG_FEATURE_MOUNT_FAKE is not set
  29.643 +# CONFIG_FEATURE_MOUNT_VERBOSE is not set
  29.644 +# CONFIG_FEATURE_MOUNT_HELPERS is not set
  29.645 +CONFIG_FEATURE_MOUNT_LABEL=y
  29.646 +# CONFIG_FEATURE_MOUNT_NFS is not set
  29.647 +# CONFIG_FEATURE_MOUNT_CIFS is not set
  29.648 +CONFIG_FEATURE_MOUNT_FLAGS=y
  29.649 +CONFIG_FEATURE_MOUNT_FSTAB=y
  29.650 +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
  29.651 +# CONFIG_MOUNTPOINT is not set
  29.652 +# CONFIG_NSENTER is not set
  29.653 +# CONFIG_PIVOT_ROOT is not set
  29.654 +# CONFIG_RDATE is not set
  29.655 +# CONFIG_RDEV is not set
  29.656 +# CONFIG_READPROFILE is not set
  29.657 +# CONFIG_RENICE is not set
  29.658 +# CONFIG_REV is not set
  29.659 +# CONFIG_RTCWAKE is not set
  29.660 +CONFIG_SCRIPT=y
  29.661 +# CONFIG_SCRIPTREPLAY is not set
  29.662 +# CONFIG_SCRIPTREPLAY_HOTKEYS is not set
  29.663 +# CONFIG_SETARCH is not set
  29.664 +# CONFIG_LINUX32 is not set
  29.665 +# CONFIG_LINUX64 is not set
  29.666 +# CONFIG_SETPRIV is not set
  29.667 +# CONFIG_FEATURE_SETPRIV_DUMP is not set
  29.668 +# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set
  29.669 +# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set
  29.670 +# CONFIG_SETSID is not set
  29.671 +CONFIG_SWAPON=y
  29.672 +# CONFIG_FEATURE_SWAPON_DISCARD is not set
  29.673 +# CONFIG_FEATURE_SWAPON_PRI is not set
  29.674 +CONFIG_SWAPOFF=y
  29.675 +CONFIG_FEATURE_SWAPONOFF_LABEL=y
  29.676 +CONFIG_SWITCH_ROOT=y
  29.677 +# CONFIG_TASKSET is not set
  29.678 +# CONFIG_FEATURE_TASKSET_FANCY is not set
  29.679 +# CONFIG_UEVENT is not set
  29.680 +CONFIG_UMOUNT=y
  29.681 +CONFIG_FEATURE_UMOUNT_ALL=y
  29.682 +# CONFIG_UNSHARE is not set
  29.683 +# CONFIG_WALL is not set
  29.684 +
  29.685 +#
  29.686 +# Common options for mount/umount
  29.687 +#
  29.688 +CONFIG_FEATURE_MOUNT_LOOP=y
  29.689 +# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
  29.690 +# CONFIG_FEATURE_MTAB_SUPPORT is not set
  29.691 +CONFIG_VOLUMEID=y
  29.692 +
  29.693 +#
  29.694 +# Filesystem/Volume identification
  29.695 +#
  29.696 +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set
  29.697 +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
  29.698 +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
  29.699 +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
  29.700 +CONFIG_FEATURE_VOLUMEID_EXT=y
  29.701 +# CONFIG_FEATURE_VOLUMEID_F2FS is not set
  29.702 +CONFIG_FEATURE_VOLUMEID_FAT=y
  29.703 +# CONFIG_FEATURE_VOLUMEID_HFS is not set
  29.704 +CONFIG_FEATURE_VOLUMEID_ISO9660=y
  29.705 +# CONFIG_FEATURE_VOLUMEID_JFS is not set
  29.706 +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
  29.707 +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
  29.708 +# CONFIG_FEATURE_VOLUMEID_LUKS is not set
  29.709 +# CONFIG_FEATURE_VOLUMEID_MINIX is not set
  29.710 +# CONFIG_FEATURE_VOLUMEID_NILFS is not set
  29.711 +# CONFIG_FEATURE_VOLUMEID_NTFS is not set
  29.712 +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
  29.713 +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
  29.714 +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
  29.715 +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
  29.716 +# CONFIG_FEATURE_VOLUMEID_SYSV is not set
  29.717 +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set
  29.718 +# CONFIG_FEATURE_VOLUMEID_UDF is not set
  29.719 +# CONFIG_FEATURE_VOLUMEID_XFS is not set
  29.720 +
  29.721 +#
  29.722 +# Miscellaneous Utilities
  29.723 +#
  29.724 +# CONFIG_ADJTIMEX is not set
  29.725 +# CONFIG_BBCONFIG is not set
  29.726 +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
  29.727 +CONFIG_BEEP=y
  29.728 +CONFIG_FEATURE_BEEP_FREQ=4000
  29.729 +CONFIG_FEATURE_BEEP_LENGTH_MS=30
  29.730 +# CONFIG_CHAT is not set
  29.731 +# CONFIG_FEATURE_CHAT_NOFAIL is not set
  29.732 +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
  29.733 +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
  29.734 +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
  29.735 +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
  29.736 +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
  29.737 +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
  29.738 +CONFIG_CONSPY=y
  29.739 +CONFIG_CROND=y
  29.740 +# CONFIG_FEATURE_CROND_D is not set
  29.741 +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
  29.742 +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
  29.743 +CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
  29.744 +# CONFIG_CRONTAB is not set
  29.745 +# CONFIG_DC is not set
  29.746 +# CONFIG_FEATURE_DC_LIBM is not set
  29.747 +# CONFIG_DEVFSD is not set
  29.748 +# CONFIG_DEVFSD_MODLOAD is not set
  29.749 +# CONFIG_DEVFSD_FG_NP is not set
  29.750 +# CONFIG_DEVFSD_VERBOSE is not set
  29.751 +# CONFIG_FEATURE_DEVFS is not set
  29.752 +# CONFIG_DEVMEM is not set
  29.753 +# CONFIG_FBSPLASH is not set
  29.754 +# CONFIG_FLASH_ERASEALL is not set
  29.755 +# CONFIG_FLASH_LOCK is not set
  29.756 +# CONFIG_FLASH_UNLOCK is not set
  29.757 +# CONFIG_FLASHCP is not set
  29.758 +CONFIG_HDPARM=y
  29.759 +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
  29.760 +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
  29.761 +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
  29.762 +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
  29.763 +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
  29.764 +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
  29.765 +# CONFIG_I2CGET is not set
  29.766 +# CONFIG_I2CSET is not set
  29.767 +# CONFIG_I2CDUMP is not set
  29.768 +# CONFIG_I2CDETECT is not set
  29.769 +# CONFIG_INOTIFYD is not set
  29.770 +CONFIG_LESS=y
  29.771 +CONFIG_FEATURE_LESS_MAXLINES=9999999
  29.772 +CONFIG_FEATURE_LESS_BRACKETS=y
  29.773 +# CONFIG_FEATURE_LESS_FLAGS is not set
  29.774 +# CONFIG_FEATURE_LESS_TRUNCATE is not set
  29.775 +# CONFIG_FEATURE_LESS_MARKS is not set
  29.776 +CONFIG_FEATURE_LESS_REGEXP=y
  29.777 +# CONFIG_FEATURE_LESS_WINCH is not set
  29.778 +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
  29.779 +# CONFIG_FEATURE_LESS_DASHCMD is not set
  29.780 +# CONFIG_FEATURE_LESS_LINENUMS is not set
  29.781 +# CONFIG_LSSCSI is not set
  29.782 +# CONFIG_MAKEDEVS is not set
  29.783 +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
  29.784 +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
  29.785 +# CONFIG_MAN is not set
  29.786 +# CONFIG_MICROCOM is not set
  29.787 +# CONFIG_MT is not set
  29.788 +# CONFIG_NANDWRITE is not set
  29.789 +# CONFIG_NANDDUMP is not set
  29.790 +# CONFIG_PARTPROBE is not set
  29.791 +# CONFIG_RAIDAUTORUN is not set
  29.792 +# CONFIG_READAHEAD is not set
  29.793 +# CONFIG_RFKILL is not set
  29.794 +# CONFIG_RUNLEVEL is not set
  29.795 +# CONFIG_RX is not set
  29.796 +# CONFIG_SETSERIAL is not set
  29.797 +# CONFIG_STRINGS is not set
  29.798 +# CONFIG_TIME is not set
  29.799 +# CONFIG_TTYSIZE is not set
  29.800 +# CONFIG_UBIATTACH is not set
  29.801 +# CONFIG_UBIDETACH is not set
  29.802 +# CONFIG_UBIMKVOL is not set
  29.803 +# CONFIG_UBIRMVOL is not set
  29.804 +# CONFIG_UBIRSVOL is not set
  29.805 +# CONFIG_UBIUPDATEVOL is not set
  29.806 +# CONFIG_UBIRENAME is not set
  29.807 +# CONFIG_VOLNAME is not set
  29.808 +# CONFIG_WATCHDOG is not set
  29.809 +
  29.810 +#
  29.811 +# Networking Utilities
  29.812 +#
  29.813 +# CONFIG_FEATURE_IPV6 is not set
  29.814 +# CONFIG_FEATURE_UNIX_LOCAL is not set
  29.815 +# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
  29.816 +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
  29.817 +CONFIG_ARP=y
  29.818 +# CONFIG_ARPING is not set
  29.819 +# CONFIG_BRCTL is not set
  29.820 +# CONFIG_FEATURE_BRCTL_FANCY is not set
  29.821 +# CONFIG_FEATURE_BRCTL_SHOW is not set
  29.822 +# CONFIG_DNSD is not set
  29.823 +CONFIG_ETHER_WAKE=y
  29.824 +CONFIG_FTPD=y
  29.825 +CONFIG_FEATURE_FTPD_WRITE=y
  29.826 +CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
  29.827 +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set
  29.828 +CONFIG_FTPGET=y
  29.829 +CONFIG_FTPPUT=y
  29.830 +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
  29.831 +CONFIG_HOSTNAME=y
  29.832 +# CONFIG_DNSDOMAINNAME is not set
  29.833 +CONFIG_HTTPD=y
  29.834 +CONFIG_FEATURE_HTTPD_RANGES=y
  29.835 +CONFIG_FEATURE_HTTPD_SETUID=y
  29.836 +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
  29.837 +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
  29.838 +CONFIG_FEATURE_HTTPD_CGI=y
  29.839 +CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
  29.840 +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
  29.841 +CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
  29.842 +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
  29.843 +CONFIG_FEATURE_HTTPD_PROXY=y
  29.844 +# CONFIG_FEATURE_HTTPD_GZIP is not set
  29.845 +CONFIG_IFCONFIG=y
  29.846 +CONFIG_FEATURE_IFCONFIG_STATUS=y
  29.847 +# CONFIG_FEATURE_IFCONFIG_SLIP is not set
  29.848 +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
  29.849 +CONFIG_FEATURE_IFCONFIG_HW=y
  29.850 +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
  29.851 +# CONFIG_IFENSLAVE is not set
  29.852 +# CONFIG_IFPLUGD is not set
  29.853 +# CONFIG_IFUP is not set
  29.854 +# CONFIG_IFDOWN is not set
  29.855 +CONFIG_IFUPDOWN_IFSTATE_PATH=""
  29.856 +# CONFIG_FEATURE_IFUPDOWN_IP is not set
  29.857 +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
  29.858 +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
  29.859 +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
  29.860 +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
  29.861 +CONFIG_INETD=y
  29.862 +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
  29.863 +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
  29.864 +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
  29.865 +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
  29.866 +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
  29.867 +# CONFIG_FEATURE_INETD_RPC is not set
  29.868 +# CONFIG_IP is not set
  29.869 +# CONFIG_IPADDR is not set
  29.870 +# CONFIG_IPLINK is not set
  29.871 +# CONFIG_IPROUTE is not set
  29.872 +# CONFIG_IPTUNNEL is not set
  29.873 +# CONFIG_IPRULE is not set
  29.874 +# CONFIG_IPNEIGH is not set
  29.875 +# CONFIG_FEATURE_IP_ADDRESS is not set
  29.876 +# CONFIG_FEATURE_IP_LINK is not set
  29.877 +# CONFIG_FEATURE_IP_ROUTE is not set
  29.878 +CONFIG_FEATURE_IP_ROUTE_DIR=""
  29.879 +# CONFIG_FEATURE_IP_TUNNEL is not set
  29.880 +# CONFIG_FEATURE_IP_RULE is not set
  29.881 +# CONFIG_FEATURE_IP_NEIGH is not set
  29.882 +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
  29.883 +# CONFIG_IPCALC is not set
  29.884 +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
  29.885 +# CONFIG_FEATURE_IPCALC_FANCY is not set
  29.886 +# CONFIG_FAKEIDENTD is not set
  29.887 +# CONFIG_NAMEIF is not set
  29.888 +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
  29.889 +# CONFIG_NBDCLIENT is not set
  29.890 +CONFIG_NC=y
  29.891 +CONFIG_NC_SERVER=y
  29.892 +CONFIG_NC_EXTRA=y
  29.893 +# CONFIG_NC_110_COMPAT is not set
  29.894 +CONFIG_NETSTAT=y
  29.895 +CONFIG_FEATURE_NETSTAT_WIDE=y
  29.896 +CONFIG_FEATURE_NETSTAT_PRG=y
  29.897 +CONFIG_NSLOOKUP=y
  29.898 +CONFIG_NTPD=y
  29.899 +CONFIG_FEATURE_NTPD_SERVER=y
  29.900 +# CONFIG_FEATURE_NTPD_CONF is not set
  29.901 +CONFIG_PING=y
  29.902 +# CONFIG_PING6 is not set
  29.903 +CONFIG_FEATURE_FANCY_PING=y
  29.904 +# CONFIG_PSCAN is not set
  29.905 +CONFIG_ROUTE=y
  29.906 +# CONFIG_SLATTACH is not set
  29.907 +# CONFIG_SSL_CLIENT is not set
  29.908 +# CONFIG_TCPSVD is not set
  29.909 +# CONFIG_UDPSVD is not set
  29.910 +CONFIG_TELNET=y
  29.911 +CONFIG_FEATURE_TELNET_TTYPE=y
  29.912 +CONFIG_FEATURE_TELNET_AUTOLOGIN=y
  29.913 +# CONFIG_FEATURE_TELNET_WIDTH is not set
  29.914 +CONFIG_TELNETD=y
  29.915 +CONFIG_FEATURE_TELNETD_STANDALONE=y
  29.916 +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
  29.917 +CONFIG_TFTP=y
  29.918 +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
  29.919 +CONFIG_TFTPD=y
  29.920 +
  29.921 +#
  29.922 +# Common options for tftp/tftpd
  29.923 +#
  29.924 +CONFIG_FEATURE_TFTPD_RIS=y
  29.925 +CONFIG_FEATURE_TFTP_GET=y
  29.926 +CONFIG_FEATURE_TFTP_PUT=y
  29.927 +CONFIG_FEATURE_TFTP_BLOCKSIZE=y
  29.928 +# CONFIG_TFTP_DEBUG is not set
  29.929 +# CONFIG_TLS is not set
  29.930 +# CONFIG_TRACEROUTE is not set
  29.931 +# CONFIG_TRACEROUTE6 is not set
  29.932 +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
  29.933 +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
  29.934 +CONFIG_TUNCTL=y
  29.935 +# CONFIG_FEATURE_TUNCTL_UG is not set
  29.936 +# CONFIG_VCONFIG is not set
  29.937 +CONFIG_WGET=y
  29.938 +# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
  29.939 +# CONFIG_FEATURE_WGET_STATUSBAR is not set
  29.940 +# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
  29.941 +# CONFIG_FEATURE_WGET_TIMEOUT is not set
  29.942 +# CONFIG_FEATURE_WGET_HTTPS is not set
  29.943 +# CONFIG_FEATURE_WGET_OPENSSL is not set
  29.944 +# CONFIG_WHOIS is not set
  29.945 +# CONFIG_ZCIP is not set
  29.946 +CONFIG_UDHCPD=y
  29.947 +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
  29.948 +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
  29.949 +CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
  29.950 +CONFIG_DUMPLEASES=y
  29.951 +# CONFIG_DHCPRELAY is not set
  29.952 +CONFIG_UDHCPC=y
  29.953 +CONFIG_FEATURE_UDHCPC_ARPING=y
  29.954 +# CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set
  29.955 +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
  29.956 +# CONFIG_UDHCPC6 is not set
  29.957 +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set
  29.958 +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set
  29.959 +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set
  29.960 +
  29.961 +#
  29.962 +# Common options for DHCP applets
  29.963 +#
  29.964 +# CONFIG_FEATURE_UDHCP_PORT is not set
  29.965 +CONFIG_UDHCP_DEBUG=0
  29.966 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
  29.967 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set
  29.968 +# CONFIG_FEATURE_UDHCP_8021Q is not set
  29.969 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
  29.970 +
  29.971 +#
  29.972 +# Print Utilities
  29.973 +#
  29.974 +# CONFIG_LPD is not set
  29.975 +# CONFIG_LPR is not set
  29.976 +# CONFIG_LPQ is not set
  29.977 +
  29.978 +#
  29.979 +# Mail Utilities
  29.980 +#
  29.981 +# CONFIG_MAKEMIME is not set
  29.982 +# CONFIG_POPMAILDIR is not set
  29.983 +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
  29.984 +# CONFIG_REFORMIME is not set
  29.985 +# CONFIG_FEATURE_REFORMIME_COMPAT is not set
  29.986 +# CONFIG_SENDMAIL is not set
  29.987 +CONFIG_FEATURE_MIME_CHARSET=""
  29.988 +
  29.989 +#
  29.990 +# Process Utilities
  29.991 +#
  29.992 +CONFIG_FREE=y
  29.993 +# CONFIG_FUSER is not set
  29.994 +# CONFIG_IOSTAT is not set
  29.995 +CONFIG_KILL=y
  29.996 +CONFIG_KILLALL=y
  29.997 +CONFIG_KILLALL5=y
  29.998 +# CONFIG_LSOF is not set
  29.999 +# CONFIG_MPSTAT is not set
 29.1000 +# CONFIG_NMETER is not set
 29.1001 +# CONFIG_PGREP is not set
 29.1002 +# CONFIG_PKILL is not set
 29.1003 +CONFIG_PIDOF=y
 29.1004 +CONFIG_FEATURE_PIDOF_SINGLE=y
 29.1005 +CONFIG_FEATURE_PIDOF_OMIT=y
 29.1006 +# CONFIG_PMAP is not set
 29.1007 +# CONFIG_POWERTOP is not set
 29.1008 +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set
 29.1009 +CONFIG_PS=y
 29.1010 +CONFIG_FEATURE_PS_WIDE=y
 29.1011 +# CONFIG_FEATURE_PS_LONG is not set
 29.1012 +# CONFIG_FEATURE_PS_TIME is not set
 29.1013 +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
 29.1014 +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
 29.1015 +# CONFIG_PSTREE is not set
 29.1016 +# CONFIG_PWDX is not set
 29.1017 +# CONFIG_SMEMCAP is not set
 29.1018 +# CONFIG_BB_SYSCTL is not set
 29.1019 +CONFIG_TOP=y
 29.1020 +# CONFIG_FEATURE_TOP_INTERACTIVE is not set
 29.1021 +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
 29.1022 +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set
 29.1023 +# CONFIG_FEATURE_TOP_SMP_CPU is not set
 29.1024 +# CONFIG_FEATURE_TOP_DECIMALS is not set
 29.1025 +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
 29.1026 +CONFIG_FEATURE_TOPMEM=y
 29.1027 +CONFIG_UPTIME=y
 29.1028 +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
 29.1029 +# CONFIG_WATCH is not set
 29.1030 +# CONFIG_FEATURE_SHOW_THREADS is not set
 29.1031 +
 29.1032 +#
 29.1033 +# Runit Utilities
 29.1034 +#
 29.1035 +# CONFIG_CHPST is not set
 29.1036 +# CONFIG_SETUIDGID is not set
 29.1037 +# CONFIG_ENVUIDGID is not set
 29.1038 +# CONFIG_ENVDIR is not set
 29.1039 +# CONFIG_SOFTLIMIT is not set
 29.1040 +# CONFIG_RUNSV is not set
 29.1041 +# CONFIG_RUNSVDIR is not set
 29.1042 +# CONFIG_FEATURE_RUNSVDIR_LOG is not set
 29.1043 +# CONFIG_SV is not set
 29.1044 +CONFIG_SV_DEFAULT_SERVICE_DIR=""
 29.1045 +# CONFIG_SVC is not set
 29.1046 +# CONFIG_SVLOGD is not set
 29.1047 +# CONFIG_CHCON is not set
 29.1048 +# CONFIG_GETENFORCE is not set
 29.1049 +# CONFIG_GETSEBOOL is not set
 29.1050 +# CONFIG_LOAD_POLICY is not set
 29.1051 +# CONFIG_MATCHPATHCON is not set
 29.1052 +# CONFIG_RUNCON is not set
 29.1053 +# CONFIG_SELINUXENABLED is not set
 29.1054 +# CONFIG_SESTATUS is not set
 29.1055 +# CONFIG_SETENFORCE is not set
 29.1056 +# CONFIG_SETFILES is not set
 29.1057 +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
 29.1058 +# CONFIG_RESTORECON is not set
 29.1059 +# CONFIG_SETSEBOOL is not set
 29.1060 +
 29.1061 +#
 29.1062 +# Shells
 29.1063 +#
 29.1064 +CONFIG_SH_IS_ASH=y
 29.1065 +# CONFIG_SH_IS_HUSH is not set
 29.1066 +# CONFIG_SH_IS_NONE is not set
 29.1067 +# CONFIG_BASH_IS_ASH is not set
 29.1068 +# CONFIG_BASH_IS_HUSH is not set
 29.1069 +CONFIG_BASH_IS_NONE=y
 29.1070 +CONFIG_ASH=y
 29.1071 +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
 29.1072 +CONFIG_ASH_INTERNAL_GLOB=y
 29.1073 +CONFIG_ASH_BASH_COMPAT=y
 29.1074 +CONFIG_ASH_JOB_CONTROL=y
 29.1075 +CONFIG_ASH_ALIAS=y
 29.1076 +CONFIG_ASH_RANDOM_SUPPORT=y
 29.1077 +CONFIG_ASH_EXPAND_PRMT=y
 29.1078 +# CONFIG_ASH_IDLE_TIMEOUT is not set
 29.1079 +# CONFIG_ASH_MAIL is not set
 29.1080 +CONFIG_ASH_ECHO=y
 29.1081 +CONFIG_ASH_PRINTF=y
 29.1082 +CONFIG_ASH_TEST=y
 29.1083 +# CONFIG_ASH_HELP is not set
 29.1084 +CONFIG_ASH_GETOPTS=y
 29.1085 +CONFIG_ASH_CMDCMD=y
 29.1086 +# CONFIG_CTTYHACK is not set
 29.1087 +# CONFIG_HUSH is not set
 29.1088 +# CONFIG_HUSH_BASH_COMPAT is not set
 29.1089 +# CONFIG_HUSH_BRACE_EXPANSION is not set
 29.1090 +# CONFIG_HUSH_INTERACTIVE is not set
 29.1091 +# CONFIG_HUSH_SAVEHISTORY is not set
 29.1092 +# CONFIG_HUSH_JOB is not set
 29.1093 +# CONFIG_HUSH_TICK is not set
 29.1094 +# CONFIG_HUSH_IF is not set
 29.1095 +# CONFIG_HUSH_LOOPS is not set
 29.1096 +# CONFIG_HUSH_CASE is not set
 29.1097 +# CONFIG_HUSH_FUNCTIONS is not set
 29.1098 +# CONFIG_HUSH_LOCAL is not set
 29.1099 +# CONFIG_HUSH_RANDOM_SUPPORT is not set
 29.1100 +# CONFIG_HUSH_MODE_X is not set
 29.1101 +# CONFIG_HUSH_ECHO is not set
 29.1102 +# CONFIG_HUSH_PRINTF is not set
 29.1103 +# CONFIG_HUSH_TEST is not set
 29.1104 +# CONFIG_HUSH_HELP is not set
 29.1105 +# CONFIG_HUSH_EXPORT is not set
 29.1106 +# CONFIG_HUSH_EXPORT_N is not set
 29.1107 +# CONFIG_HUSH_READONLY is not set
 29.1108 +# CONFIG_HUSH_KILL is not set
 29.1109 +# CONFIG_HUSH_WAIT is not set
 29.1110 +# CONFIG_HUSH_TRAP is not set
 29.1111 +# CONFIG_HUSH_TYPE is not set
 29.1112 +# CONFIG_HUSH_TIMES is not set
 29.1113 +# CONFIG_HUSH_READ is not set
 29.1114 +# CONFIG_HUSH_SET is not set
 29.1115 +# CONFIG_HUSH_UNSET is not set
 29.1116 +# CONFIG_HUSH_ULIMIT is not set
 29.1117 +# CONFIG_HUSH_UMASK is not set
 29.1118 +# CONFIG_HUSH_GETOPTS is not set
 29.1119 +# CONFIG_HUSH_MEMLEAK is not set
 29.1120 +
 29.1121 +#
 29.1122 +# Options common to all shells
 29.1123 +#
 29.1124 +CONFIG_FEATURE_SH_MATH=y
 29.1125 +# CONFIG_FEATURE_SH_MATH_64 is not set
 29.1126 +CONFIG_FEATURE_SH_EXTRA_QUIET=y
 29.1127 +CONFIG_FEATURE_SH_STANDALONE=y
 29.1128 +# CONFIG_FEATURE_SH_NOFORK is not set
 29.1129 +# CONFIG_FEATURE_SH_READ_FRAC is not set
 29.1130 +# CONFIG_FEATURE_SH_HISTFILESIZE is not set
 29.1131 +
 29.1132 +#
 29.1133 +# System Logging Utilities
 29.1134 +#
 29.1135 +CONFIG_KLOGD=y
 29.1136 +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
 29.1137 +CONFIG_LOGGER=y
 29.1138 +# CONFIG_LOGREAD is not set
 29.1139 +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
 29.1140 +CONFIG_SYSLOGD=y
 29.1141 +CONFIG_FEATURE_ROTATE_LOGFILE=y
 29.1142 +CONFIG_FEATURE_REMOTE_LOG=y
 29.1143 +CONFIG_FEATURE_SYSLOGD_DUP=y
 29.1144 +# CONFIG_FEATURE_SYSLOGD_CFG is not set
 29.1145 +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
 29.1146 +# CONFIG_FEATURE_IPC_SYSLOG is not set
 29.1147 +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
 29.1148 +# CONFIG_FEATURE_KMSG_SYSLOG is not set