[or-cvs] r16067: Initial import of VM kernel build scripts, LICENSE, and READ (in torvm/trunk: . build build/iso build/iso/vm-isosrc build/iso/vm-isosrc/isolinux build/kamikaze build/kamikaze/common build/kamikaze/patches)

coderman at seul.org coderman at seul.org
Sat Jul 19 02:20:57 UTC 2008


Author: coderman
Date: 2008-07-18 22:20:57 -0400 (Fri, 18 Jul 2008)
New Revision: 16067

Added:
   torvm/trunk/LICENSE
   torvm/trunk/Makefile
   torvm/trunk/README
   torvm/trunk/build/
   torvm/trunk/build/iso/
   torvm/trunk/build/iso/buildiso
   torvm/trunk/build/iso/vm-isosrc/
   torvm/trunk/build/iso/vm-isosrc/isolinux/
   torvm/trunk/build/iso/vm-isosrc/isolinux/boot.cat
   torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.bin
   torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.boot
   torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.cfg
   torvm/trunk/build/iso/vm-isosrc/isolinux/message.txt
   torvm/trunk/build/iso/vm-isosrc/kernels/
   torvm/trunk/build/kamikaze/
   torvm/trunk/build/kamikaze/common/
   torvm/trunk/build/kamikaze/common/dl/
   torvm/trunk/build/kamikaze/patches/
   torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch
   torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch
   torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
   torvm/trunk/build/kamikaze/patches/004-kamikaze-libevent-package.patch
   torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
   torvm/trunk/import/
Log:
Initial import of VM kernel build scripts, LICENSE, and README

Added: torvm/trunk/LICENSE
===================================================================
--- torvm/trunk/LICENSE	                        (rev 0)
+++ torvm/trunk/LICENSE	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,31 @@
+The Tor Virtual Machine is distributed with the following license:
+
+Copyright (C) 2008  The Tor Project, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+
+    * Neither the names of the copyright owners nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: torvm/trunk/Makefile
===================================================================
--- torvm/trunk/Makefile	                        (rev 0)
+++ torvm/trunk/Makefile	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,118 @@
+# Copyright (C) 2008  The Tor Project, Inc.
+# See LICENSE file for rights and terms.
+
+SHELL=/bin/bash
+export SHELL
+
+# setup your own local defaults outside svn or dist files here
+# include local.mk
+
+# set various build defaults
+ifeq (,$(BUSER))
+	BUSER=guest
+endif
+ifeq (,$(BGROUP))
+	BGROUP=users
+endif
+ifeq (,$(TGTNAME))
+	TGTNAME=x86-uclibc-vm
+endif
+ifeq (,$(DLDIR))
+	DLDIR=../common/dl
+endif
+
+# current OpenWRT version we're building against
+override CVER:=11833
+
+export BUSER
+export BGROUP
+export TGTNAME
+export DLDIR
+
+default all: prereq import buildtree buildkern buildvmiso buildw32src package
+
+#XXX move this into configure
+prereq:
+	@if [ ! -f .build_prereqs_verified ]; then \
+		echo "Verifying build prerequisites ..." >&2; \
+		NOFOUND=""; \
+		REQS="gmake gcc g++ gawk bison flex unzip bzip2 patch perl wget tar svn autoconf mkisofs"; \
+		for REQ in $$REQS; do \
+			which $$REQ >/dev/null 2>&1; \
+			if (( $$? != 0 )); then \
+				export NOFOUND="$$REQ $$NOFOUND"; \
+			fi; \
+		done; \
+		if [ "$$NOFOUND" != "" ]; then \
+			echo "ERROR: Unable to locate the following mandatory applications: $$NOFOUND" >&2; \
+			exit 1; \
+		fi; \
+		touch .test >/dev/null 2>&1 ; \
+		if (( $$? != 0 )); then \
+			echo "ERROR: Current build directory does not appear writable." >&2; \
+			exit 1; \
+		fi; \
+		chown $(BUSER):$(BGROUP) .test >/dev/null 2>&1; \
+		if (( $$? != 0 )); then \
+			echo "ERROR: Build user $(BUSER) and group $(BGROUP) do not appear valid." >&2; \
+			echo "       Please verify the settings you configured and set BUSER/BGROUP accordingly." >&2; \
+			exit 1; \
+		fi; \
+		rm -f .test >/dev/null 2>&1; \
+		touch .build_prereqs_verified; \
+	fi
+
+import: Makefile prereq
+	@if [ ! -d import/kamikaze ]; then \
+		echo "Checking out OpenWRT subversion tree revision $(CVER) ..." >&2; \
+		cd import; \
+		svn co -r $(CVER) https://svn.openwrt.org/openwrt/trunk/ kamikaze ; \
+		if (( $$? != 0 )); then \
+			echo "ERROR: Unable to download a copy of the OpenWRT subversion tree." >&2; \
+			exit 1; \
+		fi; \
+	fi
+
+buildtree: import
+	@if [ ! -d build/kamikaze/$(TGTNAME) ]; then \
+		echo "Creating Tor VM build tree ..."; \
+		cd build/kamikaze; \
+		svn export ../../import/kamikaze $(TGTNAME); \
+		if (( $$? != 0 )); then \
+			 echo "ERROR: Unable to export working copy of local OpenWRT tree." >&2; \
+			 exit 1; \
+		fi; \
+		cd $(TGTNAME); \
+		for PFILE in $$(ls ../patches/); do \
+			patch -p1 < ../patches/$$PFILE; \
+		done; \
+		if [ -d $(DLDIR) ]; then \
+			ln -s $(DLDIR) ./dl; \
+		fi; \
+		chown -R $(BUSER):$(BGROUP) . ; \
+	fi
+
+buildkern: buildtree
+	@cd build/kamikaze/$(TGTNAME); \
+	time su $(BUSER) -c "( $(MAKE) V=99 oldconfig && gmake V=99 world )"; \
+	if (( $$? != 0 )); then \
+		echo "ERROR: OpenWRT kernel build failed.  Check log for details." >&2; \
+		exit 1; \
+	fi
+
+buildvmiso: buildkern
+	@cd build/iso; \
+	./buildiso; \
+	if (( $$? != 0 )); then \
+		echo "ERROR: Unable to create bootable ISO image." >&2; \
+		exit 1; \
+	fi
+
+buildw32src: buildkern
+	@echo "buildw32src does not yet create an ISO with build setup. XXX"
+
+package: buildw32src buildvmiso
+	@echo "package build target does not do anything with build products yet. XXX"
+
+.PHONY: clean prereq import buildkern buildvmiso buildw32src package
+


Property changes on: torvm/trunk/Makefile
___________________________________________________________________
Name: svn:executable
   + *

Added: torvm/trunk/README
===================================================================
--- torvm/trunk/README	                        (rev 0)
+++ torvm/trunk/README	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,12 @@
+Transparent Tor Proxy Virtual Machine
+
+See the doc/ directory for design and implementation details and the LICENSE
+file for rights and terms.
+
+To build you will need a *nix environment and a Windows XP or later operating
+system for Qemu and libraries. Various build configuration options and other
+basic features are not yet avilable; edit the Makefile to adjust manually.
+
+Run 'make' to build the VM kernel image and Windows build ISO image. Once the
+Windows build is done a complete Tor virtual machine package should be zipped
+up ready for distribution.

Added: torvm/trunk/build/iso/buildiso
===================================================================
--- torvm/trunk/build/iso/buildiso	                        (rev 0)
+++ torvm/trunk/build/iso/buildiso	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,26 @@
+#!/bin/bash
+export base=`pwd`
+export kerndir="../kamikaze/${TGTNAME}/bin"
+export work="${base}/vm-isosrc"
+export iso="${base}/vm.iso"
+export imgfile="openwrt-x86-vmlinuz"
+
+if [ -f $kerndir/$imgfile ]; then
+  cp -f $kerndir/$imgfile $work/kernels/boot
+else
+  echo "Unable to find built kernel image $imgfile at path $kerndir" >&2
+  exit 1
+fi
+
+(
+  cd $work
+
+  rm -f $iso 1>/dev/null 2>/dev/null
+  mkisofs \
+    -hide-rr-moved \
+    -no-emul-boot -boot-load-size 8 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat \
+    -pad -l -o $iso -r -J .
+  if (( $? != 0 )); then exit 1; fi
+)
+if (( $? != 0 )); then exit 1; fi
+exit 0


Property changes on: torvm/trunk/build/iso/buildiso
___________________________________________________________________
Name: svn:executable
   + *

Added: torvm/trunk/build/iso/vm-isosrc/isolinux/boot.cat
===================================================================
(Binary files differ)


Property changes on: torvm/trunk/build/iso/vm-isosrc/isolinux/boot.cat
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.bin
===================================================================
(Binary files differ)


Property changes on: torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.bin
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.boot
===================================================================
(Binary files differ)


Property changes on: torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.boot
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.cfg
===================================================================
--- torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.cfg	                        (rev 0)
+++ torvm/trunk/build/iso/vm-isosrc/isolinux/isolinux.cfg	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,4 @@
+default /kernels/boot quiet
+prompt 0
+timeout 0
+display message.txt

Added: torvm/trunk/build/iso/vm-isosrc/isolinux/message.txt
===================================================================
--- torvm/trunk/build/iso/vm-isosrc/isolinux/message.txt	                        (rev 0)
+++ torvm/trunk/build/iso/vm-isosrc/isolinux/message.txt	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,39 @@
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+  [ Tor Virtual Machine ]  
+  ============================================================================
+   BUILDDATE BUILDVERSION
+
+
+
+
+
+
+

Added: torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch	                        (rev 0)
+++ torvm/trunk/build/kamikaze/patches/001-kamikaze-tor-package.patch	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,291 @@
+diff -Naur x86-uclibc-orig/package/tor/Makefile x86-uclibc-torvm/package/tor/Makefile
+--- x86-uclibc-orig/package/tor/Makefile	1970-01-01 00:00:00.000000000 +0000
++++ x86-uclibc-torvm/package/tor/Makefile	2008-07-09 03:50:07.851861387 +0000
+@@ -0,0 +1,114 @@
++#
++# Copyright (C) 2008 OpenWrt.org
++#
++# This is free software, licensed under the GNU General Public License v2.
++# See /LICENSE for more information.
++#
++# $Id: Makefile 11265 2008-05-25 13:45:00Z blogic $
++
++include $(TOPDIR)/rules.mk
++include $(INCLUDE_DIR)/kernel.mk
++
++PKG_NAME:=tor
++#PKG_VERSION:=0.2.0.28-rc
++PKG_VERSION:=0.2.1.2-alpha
++
++PKG_RELEASE:=1
++
++PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
++PKG_SOURCE_URL:=http://www.torproject.org/dist/
++#PKG_MD5SUM:=d65dd5c9e1f82912aa0c736c5daec22d
++PKG_MD5SUM:=122778603272fd3e53f6c2e7b6be4a81
++
++include $(INCLUDE_DIR)/package.mk
++
++define Package/tor
++  SECTION:=net
++  CATEGORY:=Network
++  DEPENDS:=+libevent +libopenssl +libpthread +zlib
++  TITLE:=An anonymous Internet communication system
++  URL:=http://tor.eff.org/
++endef
++
++define Package/tor/description
++ Tor is a toolset for a wide range of organizations and people that want to 
++ improve their safety and security on the Internet. Using Tor can help you 
++ anonymize web browsing and publishing, instant messaging, IRC, SSH, and 
++ more. Tor also provides a platform on which software developers can build 
++ new applications with built-in anonymity, safety, and privacy features.
++endef
++
++define Package/tor/conffiles
++/etc/tor/torrc
++endef
++
++define Package/tor/postinst
++#!/bin/sh
++
++name=tor
++id=52
++
++# do not change below
++# # check if we are on real system
++if [ -z "$${IPKG_INSTROOT}" ]; then
++        # create copies of passwd and group, if we use squashfs
++        rootfs=`mount |awk '/root/ { print $$5 }'`
++        if [ "$$rootfs" = "squashfs" ]; then
++                if [ -h /etc/group ]; then
++                        rm /etc/group
++                        cp /rom/etc/group /etc/group
++                fi
++                if [ -h /etc/passwd ]; then
++                        rm /etc/passwd
++                        cp /rom/etc/passwd /etc/passwd
++                fi
++        fi
++fi
++
++echo ""
++if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
++        echo "adding group $$name to /etc/group"
++        echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
++fi
++
++if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
++        echo "adding user $name to /etc/passwd"
++        echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
++fi
++endef
++
++EXTRA_CFLAGS += -I$(LINUX_DIR)/include
++EXTRA_CPPFLAGS += -I$(LINUX_DIR)/include
++
++CONFIGURE_ARGS += \
++	--enable-eventdns \
++	--disable-threads \
++	--enable-transparent \
++	--with-libevent-dir="$(STAGING_DIR)/usr" \
++	--with-ssl-dir="$(STAGING_DIR)/usr" \
++
++CONFIGURE_VARS += \
++	CROSS_COMPILE="yes" \
++
++
++# pass CFLAGS again to override -O2 set by configure
++define Build/Compile
++	$(MAKE) -C $(PKG_BUILD_DIR) \
++		CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_DIR)/include" \
++		DESTDIR="$(PKG_INSTALL_DIR)" \
++		all install
++endef
++
++define Package/tor/install
++	$(INSTALL_DIR) $(1)/usr/sbin
++	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/or/tor $(1)/usr/sbin/
++	$(INSTALL_DIR) $(1)/etc/init.d
++	$(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
++	$(INSTALL_DIR) $(1)/etc/tor
++	$(INSTALL_DATA) ./files/torrc $(1)/etc/tor/torrc
++	$(INSTALL_DIR) $(1)/var/log/tor
++	$(INSTALL_DIR) $(1)/var/lib/tor
++	$(INSTALL_DIR) $(1)/var/run/tor
++endef
++
++$(eval $(call BuildPackage,tor))
+diff -Naur x86-uclibc-orig/package/tor/files/tor.init x86-uclibc-torvm/package/tor/files/tor.init
+--- x86-uclibc-orig/package/tor/files/tor.init	1970-01-01 00:00:00.000000000 +0000
++++ x86-uclibc-torvm/package/tor/files/tor.init	2008-07-09 03:48:57.228743488 +0000
+@@ -0,0 +1,78 @@
++#!/bin/sh 
++
++BIN=tor
++DEFAULT=/etc/default/$BIN
++LOG_D=/var/log/$BIN
++SLOG_F=$LOG_D/start.log
++LIB_D=/var/lib/$BIN
++RUN_D=/var/run/$BIN
++PID_F=$RUN_D/$BIN.pid
++RUN_USER=$BIN
++RUN_GROUP=$BIN
++TOR_INTF=eth0
++MYIP=$(ifconfig $TOR_INTF | grep 'inet addr' | sed 's/.*inet addr://' | sed 's/ .*//')
++
++if [ "$1" = "start" ]; then
++	[ -f $DEFAULT ] && . $DEFAULT
++	[ -d $LOG_D ] || mkdir -p $LOG_D
++	chown $RUN_USER:$RUN_GROUP $LOG_D
++	[ -d $LIB_D ] || mkdir -p $LIB_D
++	chown $RUN_USER:$RUN_GROUP $LIB_D
++	chmod 700 $LIB_D
++	[ -d $RUN_D ] || mkdir -p $RUN_D
++	chown $RUN_USER:$RUN_GROUP $RUN_D
++	chmod 700 $RUN_D
++	$BIN $OPTIONS > $SLOG_F 2>&1
++	# forcibly filter some traffic which should never go over Tor:
++	# no SMTP
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp --dport 25 -j DROP
++	# no TCP DNS
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp --dport 53 -j DROP
++	# no NetBIOS
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp --dport 137 -j DROP
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp --dport 138 -j DROP
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp --dport 139 -j DROP
++	# trans proxy TCP and DNS
++	iptables -t nat -A PREROUTING -s ! $MYIP -p tcp -j REDIRECT --to 9095
++	iptables -t nat -A PREROUTING -s ! $MYIP -p udp --dport 53 -j REDIRECT --to 9093
++	# drop everything else ...
++	iptables -t nat -A PREROUTING -s ! $MYIP -j DROP
++
++elif [ "$1" = "stop" ]; then
++	# XXX TODO: replace this with a fail-safe shutdown
++	iptables -F
++	iptables -t nat -F
++	[ -f $PID_F ] && kill $(cat $PID_F)
++
++elif [ "$1" = "restart" ]; then
++	$0 stop
++	$0 start
++
++elif [ "$1" = "status" ]; then
++	while true; do
++	  clear;echo
++	  date
++	  echo
++	  echo "TorVM IP Address: $MYIP"
++	  echo
++	  # check if we are fully bootstrapped yet
++	  grep 'Bootstrapped 100' /var/log/tor/notices.log >/dev/null 2>&1
++	  if [ -x $? ]; then
++	  	echo "Tor is still trying to bootstrap into the network..."
++		echo "Be sure the TorVM clock is correct and that your traffic"
++		echo " is not getting filtered upstream."
++		echo
++	  	grep Bootstrapped /var/log/tor/notices.log | sed 's/.*Bootstrapped/Bootstrapped/' | tail -6
++	  else
++	  	echo "Tor is fully connected into the Tor network."
++	  	echo "Transparent proxy traffic:"
++	  	iptables -n --verbose -t nat --list PREROUTING | sed 's/opt .*destination.*/destination/'|sed 's/    0.0.0.0.0           //'|sed "s/\-\- .*${MYIP}   //"|grep -v PREROUTING
++	  fi
++	  sleep 2
++	done  
++
++else
++	echo "Usage: $0 {start|stop|restart|status}" >&2
++	exit 1
++fi
++exit 0
+diff -Naur x86-uclibc-orig/package/tor/files/torrc x86-uclibc-torvm/package/tor/files/torrc
+--- x86-uclibc-orig/package/tor/files/torrc	1970-01-01 00:00:00.000000000 +0000
++++ x86-uclibc-torvm/package/tor/files/torrc	2008-07-09 03:49:34.792072977 +0000
+@@ -0,0 +1,27 @@
++# Configuration for TorVM
++RunAsDaemon 1
++AllowUnverifiedNodes middle,rendezvous
++User tor
++Group tor
++PidFile /var/run/tor/pid
++DataDirectory /var/lib/tor
++Log notice file /var/log/tor/notices.log
++ControlSocket /var/run/tor/control
++
++# Disable SOCKS support for now.
++#SocksPort 9050
++#SocksBindAddress 0.0.0.0
++
++# Rely on netfilter for access control to transproxy ports
++TransListenAddress 0.0.0.0
++TransPort 9095
++DNSListenAddress 0.0.0.0
++DNSPort 9093
++
++
++# This needs to be a network available via host default route
++VirtualAddrNetwork 10.254.0.0/16
++
++# Misc. options
++AutomapHostsOnResolve 1
++CircuitBuildTimeout  20
+diff -Naur x86-uclibc-orig/package/tor/patches/001-correct-configure.patch x86-uclibc-torvm/package/tor/patches/001-correct-configure.patch
+--- x86-uclibc-orig/package/tor/patches/001-correct-configure.patch	1970-01-01 00:00:00.000000000 +0000
++++ x86-uclibc-torvm/package/tor/patches/001-correct-configure.patch	2008-07-09 02:42:10.366852465 +0000
+@@ -0,0 +1,56 @@
++diff -Naur tor-0.2.1.2-alpha-orig/configure tor-0.2.1.2-alpha-mod/configure
++--- tor-0.2.1.2-alpha-orig/configure	2008-06-20 06:27:43.000000000 +0000
+++++ tor-0.2.1.2-alpha-mod/configure	2008-07-09 02:41:33.378944558 +0000
++@@ -8115,7 +8115,7 @@
++ 
++ 
++ 
++-for ac_header in stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netintet/in.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h
+++for ac_header in stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netinet/in.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h
++ do
++ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++ if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++@@ -8474,6 +8474,9 @@
++ #ifdef HAVE_SYS_SOCKET_H
++ #include <sys/socket.h>
++ #endif
+++#ifdef HAVE_NETINET_IN_H
+++#include <netinet/in.h>
+++#endif
++ 
++ #include <$ac_header>
++ _ACEOF
++diff -Naur tor-0.2.1.2-alpha-orig/configure.in tor-0.2.1.2-alpha-mod/configure.in
++--- tor-0.2.1.2-alpha-orig/configure.in	2008-06-20 06:26:59.000000000 +0000
+++++ tor-0.2.1.2-alpha-mod/configure.in	2008-07-09 02:41:45.215604782 +0000
++@@ -315,7 +315,7 @@
++ 
++ dnl These headers are not essential
++ 
++-AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netintet/in.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h)
+++AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h inttypes.h utime.h sys/utime.h sys/mman.h netinet/in.h netinet/in6.h malloc.h sys/syslimits.h malloc/malloc.h)
++ 
++ TOR_CHECK_PROTOTYPE(malloc_good_size, HAVE_MALLOC_GOOD_SIZE_PROTOTYPE,
++ [#ifdef HAVE_MALLOC_H
++@@ -349,6 +349,9 @@
++ #endif
++ #ifdef HAVE_SYS_SOCKET_H
++ #include <sys/socket.h>
+++#endif
+++#ifdef HAVE_NETINET_IN_H
+++#include <netinet/in.h>
++ #endif])
++ 
++ if test x$transparent = xtrue ; then
++diff -Naur tor-0.2.1.2-alpha-orig/orconfig.h.in tor-0.2.1.2-alpha-mod/orconfig.h.in
++--- tor-0.2.1.2-alpha-orig/orconfig.h.in	2008-06-20 06:28:31.000000000 +0000
+++++ tor-0.2.1.2-alpha-mod/orconfig.h.in	2008-07-09 02:41:19.685608073 +0000
++@@ -153,7 +153,7 @@
++ /* Define to 1 if you have the <netinet/in.h> header file. */
++ #undef HAVE_NETINET_IN_H
++ 
++-/* Define to 1 if you have the <netintet/in.h> header file. */
+++/* Define to 1 if you have the <netinet/in.h> header file. */
++ #undef HAVE_NETINTET_IN_H
++ 
++ /* Define to 1 if you have the <net/if.h> header file. */

Added: torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch	                        (rev 0)
+++ torvm/trunk/build/kamikaze/patches/002-kamikaze-mod-basefiles.patch	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,2698 @@
+diff -Naur x86-uclibc-orig/package/base-files/Makefile x86-uclibc-torvm/package/base-files/Makefile
+--- x86-uclibc-orig/package/base-files/Makefile	2008-06-11 19:59:16.494753000 +0000
++++ x86-uclibc-torvm/package/base-files/Makefile	2008-07-09 02:23:09.000000000 +0000
+@@ -36,8 +36,8 @@
+   URL:=http://openwrt.org/
+   VERSION:=$(PKG_RELEASE)-$(REVISION)
+   $(call Config,network.lan.proto,string,static,LAN Protocol)
+-  $(call Config,network.lan.ipaddr,ip,192.168.1.1,LAN IP Address)
+-  $(call Config,network.lan.netmask,netmask,255.255.255.0,LAN Network Mask)
++  $(call Config,network.lan.ipaddr,ip,,LAN IP Address)
++  $(call Config,network.lan.netmask,netmask,,LAN Network Mask)
+   $(call Config,network.lan.gateway,ip,,LAN Gateway)
+   $(call Config,network.lan.dns,ip,,LAN DNS server)
+ endef
+@@ -50,7 +50,6 @@
+ /etc/passwd
+ /etc/profile
+ /etc/shells
+-/etc/ipkg.conf
+ /etc/sysctl.conf
+ $(call $(TARGET)/conffiles)
+ endef
+@@ -143,19 +142,14 @@
+ 			$(CP) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/* $(1)/; \
+ 		fi \
+ 	)
+-	$(SED) 's,$$$$R,$(REVISION),g' $(1)/etc/banner
+-	$(SED) 's,$$$$S,$(BOARD),g' -e 's,$$$$A,$(ARCH),g' $(1)/etc/ipkg.conf
+ 	mkdir -p $(1)/dev
+ 	mkdir -p $(1)/etc/crontabs
+-	mkdir -p $(1)/jffs
+-	mkdir -p $(1)/lib/firmware
+ 	mkdir -p $(1)/mnt
+ 	mkdir -p $(1)/proc
+ 	mkdir -p $(1)/tmp
+ 	mkdir -p $(1)/usr/lib
+ 	mkdir -p $(1)/usr/bin
+ 	mkdir -p $(1)/sys
+-	mkdir -p $(1)/www
+ 	mkdir -p $(1)/root
+ 	ln -sf /proc/mounts $(1)/etc/mtab
+ 	rm -f $(1)/var
+diff -Naur x86-uclibc-orig/package/base-files/files/bin/firstboot x86-uclibc-torvm/package/base-files/files/bin/firstboot
+--- x86-uclibc-orig/package/base-files/files/bin/firstboot	2007-07-11 20:46:25.691898000 +0000
++++ x86-uclibc-torvm/package/base-files/files/bin/firstboot	1970-01-01 00:00:00.000000000 +0000
+@@ -1,126 +0,0 @@
+-#!/bin/sh
+-# $Id: firstboot 5544 2006-11-17 03:07:10Z nbd $
+-. /etc/functions.sh
+-
+-partname="rootfs_data"
+-mtdpart="$(find_mtd_part $partname)"
+-
+-rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
+-jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
+-
+-dupe() { # <new_root> <old_root>
+-	cd $1
+-	echo -n "creating directories... "
+-	{
+-		cd $2 
+-		find . -xdev -type d
+-		echo "./dev ./jffs ./mnt ./proc ./tmp"
+-		# xdev skips mounted directories
+-		cd $1 
+-	} | xargs mkdir -p
+-	echo "done"
+-
+-	echo -n "setting up symlinks... "
+-	for file in $(cd $2; find . -xdev -type f;); do
+-		case "$file" in
+-		./rom/note) ;; #nothing
+-		./etc/config*|\
+-		./usr/lib/ipkg/info/*) cp -af $2/$file $file;;
+-		*) ln -sf /rom/${file#./*} $file;;
+-		esac
+-	done
+-	for file in $(cd $2; find . -xdev -type l;); do
+-		cp -af $2/${file#./*} $file
+-	done
+-	echo "done"
+-}
+-
+-pivot() { # <new_root> <old_root>
+-	mount -o move /proc $1/proc && \
+-	pivot_root $1 $1$2 && {
+-		mount -o move $2/dev /dev
+-		mount -o move $2/tmp /tmp
+-		mount -o move $2/sys /sys 2>&-
+-		mount -o move $2/jffs /jffs 2>&-
+-		return 0
+-	}
+-}
+-
+-fopivot() { # <rw_root> <ro_root> <dupe?>
+-	root=$1
+-	{
+-		mount -t mini_fo -o base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
+-	} || {
+-		[ "$3" = "1" ] && {
+-		mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
+-		dupe $1 $rom
+-		}
+-	}
+-	pivot $root $2
+-}
+-
+-ramoverlay() {
+-	mkdir -p /tmp/root
+-	fopivot /tmp/root /rom 1
+-}
+-
+-# invoked as an executable
+-[ "${0##*/}" = "firstboot" ] && {
+-
+-	[ -z "$mtdpart" ] && {
+-		echo "MTD partition not found."
+-		exit 1
+-	}
+-
+-	[ -z "$rom" ] && {
+-		echo "You do not have a squashfs partition; aborting"
+-		echo "(firstboot cannot be run on jffs2 based firmwares)"
+-		exit 1
+-	}
+-
+-	[ "$1" = "switch2jffs" ] && {
+-		mount "$mtdpart" /rom/jffs -t jffs2 || exit
+-
+-		# try to avoid fs changing while copying
+-		mount -o remount,ro none / 2>&-
+-
+-		# copy ramoverlay to jffs2
+-		echo -n "copying files ... "
+-		cp -a /tmp/root/* /rom/jffs 2>&-
+-		echo "done"
+-
+-		# switch back to squashfs (temporarily)
+-		# and park the ramdisk ontop of /tmp/root
+-		pivot /rom /mnt
+-		mount -o move /mnt /tmp/root
+-
+-		# /jffs is the overlay
+-		# /rom is the readonly
+-		fopivot /jffs /rom
+-
+-		# try to get rid of /tmp/root
+-		# this will almost always fail
+-		umount /tmp/root 2>&-
+-
+-		exit 0
+-	}
+-
+-	# script run manually
+-	[ \! -z "$jffs" ] && {
+-		echo "firstboot has already been run"
+-		echo "jffs2 partition is mounted, only resetting files"
+-		grep mini_fo /proc/filesystems >&-
+-		[ $? != 0 ] && {
+-			dupe $jffs $rom
+-			exit 0
+-		} || { 
+-			rm -rf $jffs/* 2>&-
+-			mount -o remount $jffs / 2>&-
+-			exit 0
+-		}
+-	}
+-
+-	mtd erase "$partname"
+-	mount "$mtdpart" /jffs -t jffs2
+-	fopivot /jffs /rom 1
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/banner x86-uclibc-torvm/package/base-files/files/etc/banner
+--- x86-uclibc-orig/package/base-files/files/etc/banner	2005-12-20 15:03:08.038259000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/banner	2008-07-09 03:57:16.155151830 +0000
+@@ -1,10 +1,2 @@
+-  _______                     ________        __
+- |       |.-----.-----.-----.|  |  |  |.----.|  |_
+- |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
+- |_______||   __|_____|__|__||________||__|  |____|
+-          |__| W I R E L E S S   F R E E D O M
+- KAMIKAZE (bleeding edge, $R) -------------------
+-  * 10 oz Vodka       Shake well with ice and strain
+-  * 10 oz Triple sec  mixture into 10 shot glasses.
+-  * 10 oz lime juice  Salute!
+- ---------------------------------------------------
++Tor Virtual Machine BUILDDATE BUILDVER
++
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/config/fstab x86-uclibc-torvm/package/base-files/files/etc/config/fstab
+--- x86-uclibc-orig/package/base-files/files/etc/config/fstab	2007-09-22 13:47:20.783817000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/config/fstab	1970-01-01 00:00:00.000000000 +0000
+@@ -1,10 +0,0 @@
+-config mount
+-	option target	/home
+-	option device	/dev/sda1
+-	option fstype	ext3
+-	option options	rw,sync
+-	option enabled	0
+-
+-config swap
+-	option device	/dev/sda2
+-	option enabled	0
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/config/network x86-uclibc-torvm/package/base-files/files/etc/config/network
+--- x86-uclibc-orig/package/base-files/files/etc/config/network	2007-10-18 13:20:02.347557000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/config/network	1970-01-01 00:00:00.000000000 +0000
+@@ -1,14 +0,0 @@
+-# Copyright (C) 2006 OpenWrt.org
+-
+-config interface loopback
+-	option ifname	lo
+-	option proto	static
+-	option ipaddr	127.0.0.1
+-	option netmask	255.0.0.0
+-
+-config interface lan
+-	option ifname	eth0
+-	option type 	bridge
+-	option proto	static
+-	option ipaddr	192.168.1.1
+-	option netmask	255.255.255.0
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/config/system x86-uclibc-torvm/package/base-files/files/etc/config/system
+--- x86-uclibc-orig/package/base-files/files/etc/config/system	2008-06-11 19:59:16.494753000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/config/system	1970-01-01 00:00:00.000000000 +0000
+@@ -1,3 +0,0 @@
+-config system
+-	option hostname	OpenWrt
+-	option timezone	UTC
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/diag.sh x86-uclibc-torvm/package/base-files/files/etc/diag.sh
+--- x86-uclibc-orig/package/base-files/files/etc/diag.sh	2007-05-10 19:19:23.337706000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/diag.sh	1970-01-01 00:00:00.000000000 +0000
+@@ -1,4 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-set_state() :
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/functions.sh x86-uclibc-torvm/package/base-files/files/etc/functions.sh
+--- x86-uclibc-orig/package/base-files/files/etc/functions.sh	2008-02-05 01:47:47.130132000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/functions.sh	1970-01-01 00:00:00.000000000 +0000
+@@ -1,211 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-# Copyright (C) 2006 Fokus Fraunhofer <carsten.tittel at fokus.fraunhofer.de>
+-
+-alias debug=${DEBUG:-:}
+-
+-# newline
+-N="
+-"
+-
+-_C=0
+-NO_EXPORT=1
+-LOAD_STATE=1
+-
+-hotplug_dev() {
+-	env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net
+-}
+-
+-append() {
+-	local var="$1"
+-	local value="$2"
+-	local sep="${3:- }"
+-	
+-	eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
+-}
+-
+-config_load() {
+-	[ -n "$IPKG_INSTROOT" ] && return 0
+-	uci_load "$@"
+-}
+-
+-reset_cb() {
+-	config_cb() { return 0; }
+-	option_cb() { return 0; }
+-}
+-reset_cb
+-
+-package() {
+-	return 0
+-}
+-
+-config () {
+-	local cfgtype="$1"
+-	local name="$2"
+-	
+-	export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$(($CONFIG_NUM_SECTIONS + 1))
+-	name="${name:-cfg$CONFIG_NUM_SECTIONS}"
+-	append CONFIG_SECTIONS "$name"
+-	[ -n "$NO_CALLBACK" ] || config_cb "$cfgtype" "$name"
+-	export ${NO_EXPORT:+-n} CONFIG_SECTION="$name"
+-	export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_TYPE=$cfgtype"
+-}
+-
+-option () {
+-	local varname="$1"; shift
+-	local value="$*"
+-	
+-	export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value"
+-	[ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*"
+-}
+-
+-config_rename() {
+-	local OLD="$1"
+-	local NEW="$2"
+-	local oldvar
+-	local newvar
+-	
+-	[ -n "$OLD" -a -n "$NEW" ] || return
+-	for oldvar in `set | grep ^CONFIG_${OLD}_ | \
+-		sed -e 's/\(.*\)=.*$/\1/'` ; do
+-		newvar="CONFIG_${NEW}_${oldvar##CONFIG_${OLD}_}"
+-		eval "export ${NO_EXPORT:+-n} \"$newvar=\${$oldvar}\""
+-		unset "$oldvar"
+-	done
+-	export ${NO_EXPORT:+-n} CONFIG_SECTIONS="$(echo " $CONFIG_SECTIONS " | sed -e "s, $OLD , $NEW ,")"
+-	
+-	[ "$CONFIG_SECTION" = "$OLD" ] && export ${NO_EXPORT:+-n} CONFIG_SECTION="$NEW"
+-}
+-
+-config_unset() {
+-	config_set "$1" "$2" ""
+-}
+-
+-config_clear() {
+-	local SECTION="$1"
+-	local oldvar
+-	
+-	export ${NO_EXPORT:+-n} CONFIG_SECTIONS="$(echo " $CONFIG_SECTIONS " | sed -e "s, $OLD , ,")"
+-	export ${NO_EXPORT:+-n} CONFIG_SECTIONS="${SECTION:+$CONFIG_SECTIONS}"
+-
+-	for oldvar in `set | grep ^CONFIG_${SECTION:+${SECTION}_} | \
+-		sed -e 's/\(.*\)=.*$/\1/'` ; do 
+-		unset $oldvar 
+-	done
+-}
+-
+-config_get() {
+-	case "$3" in
+-		"") eval "echo \"\${CONFIG_${1}_${2}}\"";;
+-		*)  eval "export ${NO_EXPORT:+-n} -- \"$1=\${CONFIG_${2}_${3}}\"";;
+-	esac
+-}
+-
+-# config_get_bool <variable> <section> <option> [<default>]
+-config_get_bool() {
+-	local _tmp
+-	config_get "_tmp" "$2" "$3"
+-	case "$_tmp" in
+-		1|on|true|enabled) export ${NO_EXPORT:+-n} "$1=1";;
+-		0|off|false|disabled) export ${NO_EXPORT:+-n} "$1=0";;
+-		*) eval "$1=$4";;
+-	esac
+-}
+-
+-config_set() {
+-	local section="$1"
+-	local option="$2"
+-	local value="$3"
+-	local old_section="$CONFIG_SECTION"
+-
+-	CONFIG_SECTION="$section"
+-	option "$option" "$value"
+-	CONFIG_SECTION="$old_section"
+-}
+-
+-config_foreach() {
+-	local function="$1"
+-	[ "$#" -ge 1 ] && shift
+-	local type="$1"
+-	[ "$#" -ge 1 ] && shift
+-	local section cfgtype
+-	
+-	[ -z "$CONFIG_SECTIONS" ] && return 0
+-	for section in ${CONFIG_SECTIONS}; do
+-		config_get cfgtype "$section" TYPE
+-		[ -n "$type" -a "x$cfgtype" != "x$type" ] && continue
+-		eval "$function \"\$section\" \"\$@\""
+-	done
+-}
+-
+-load_modules() {
+-	[ -d /etc/modules.d ] && {
+-		cd /etc/modules.d
+-		sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
+-	}
+-}
+-
+-include() {
+-	local file
+-	
+-	for file in $(ls $1/*.sh 2>/dev/null); do
+-		. $file
+-	done
+-}
+-
+-find_mtd_part() {
+-	local PART="$(grep "\"$1\"" /proc/mtd | awk -F: '{print $1}')"
+-	local PREFIX=/dev/mtdblock
+-	
+-	PART="${PART##mtd}"
+-	[ -d /dev/mtdblock ] && PREFIX=/dev/mtdblock/
+-	echo "${PART:+$PREFIX$PART}"
+-}
+-
+-strtok() { # <string> { <variable> [<separator>] ... }
+-	local tmp
+-	local val="$1"
+-	local count=0
+-
+-	shift
+-
+-	while [ $# -gt 1 ]; do
+-		tmp="${val%%$2*}"
+-
+-		[ "$tmp" = "$val" ] && break
+-
+-		val="${val#$tmp$2}"
+-
+-		export ${NO_EXPORT:+-n} "$1=$tmp"; count=$((count+1))
+-		shift 2
+-	done
+-
+-	if [ $# -gt 0 -a -n "$val" ]; then
+-		export ${NO_EXPORT:+-n} "$1=$val"; count=$((count+1))
+-	fi
+-
+-	return $count
+-}
+-
+-
+-jffs2_mark_erase() {
+-	local part="$(find_mtd_part "$1")"
+-	[ -z "$part" ] && {
+-		echo Partition not found.
+-		return 1
+-	}
+-	echo -e "\xde\xad\xc0\xde" | mtd -qq write - "$1"
+-}
+-
+-uci_apply_defaults() {(
+-	cd /etc/uci-defaults || return 0
+-	files="$(ls)"
+-	[ -z "$files" ] && return 0
+-	mkdir -p /tmp/.uci
+-	for file in $files; do
+-		( . "./$(basename $file)" ) && rm -f "$file"
+-	done
+-	uci commit
+-)}
+-
+-[ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug.d/iface/00-netstate x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/iface/00-netstate
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug.d/iface/00-netstate	2008-02-03 06:48:15.292457000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/iface/00-netstate	1970-01-01 00:00:00.000000000 +0000
+@@ -1,3 +0,0 @@
+-[ ifup = "$ACTION" ] && {
+-	uci_set_state network "$INTERFACE" up 1 
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug.d/iface/10-routes x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/iface/10-routes
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug.d/iface/10-routes	2008-06-06 18:49:23.308519000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/iface/10-routes	1970-01-01 00:00:00.000000000 +0000
+@@ -1,67 +0,0 @@
+-add_route() {
+-	local config="$1"
+-
+-	# is this route intended for the
+-	# $INTERFACE of this hotplug event
+-	config_get interface "$config" interface
+-	[ "$interface" != "$INTERFACE" ] && return 0
+-	
+-	# get the real interface name from network config
+-	config_get dev "$interface" ifname
+-
+-	config_get target "$config" target
+-	config_get netmask "$config" netmask
+-	config_get gateway "$config" gateway
+-	config_get metric "$config" metric
+-
+-	# make sure there is a gateway and a target
+-	[ -n "$target" ] || {
+-		echo "Missing target in route section $config"
+-		return 1
+-	}
+-	[ -n "$gateway" ] || {
+-		config_get gateway "$interface" gateway
+-	}
+-
+-	netmask="${netmask:-255.255.255.255}"
+-	dest="${netmask:+-net "$target" netmask "$netmask"}"
+-	dest="${dest:--host "$target"}"
+-	
+-	/sbin/route add $dest gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+-}
+-
+-add_route6() {
+-	local config="$1"
+-
+-	# is this route intended for the
+-	# $INTERFACE of this hotplug event
+-	config_get interface "$config" interface
+-	[ "$interface" != "$INTERFACE" ] && return 0
+-	
+-	# get the real interface name from network config
+-	config_get dev "$interface" ifname
+-
+-	config_get target "$config" target
+-	config_get gateway "$config" gateway
+-	config_get metric "$config" metric
+-
+-	# make sure there is a gateway and a target
+-	[ -n "$target" ] || {
+-		echo "Missing target in route section $config"
+-		return 1
+-	}
+-	[ -n "$gateway" ] || {
+-		config_get gateway "$interface" gateway
+-	}
+-
+-	/sbin/route -A inet6 add $target gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+-}
+-
+-case "$ACTION" in
+-	ifup)
+-		include /lib/network
+-		scan_interfaces
+-		config_foreach "add_route" route
+-		config_foreach "add_route6" route6
+-	;;
+-esac
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug.d/net/10-net x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/net/10-net
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug.d/net/10-net	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/net/10-net	1970-01-01 00:00:00.000000000 +0000
+@@ -1,40 +0,0 @@
+-# Copyright (C) 2006 OpenWrt.org
+-
+-include /lib/network
+-
+-addif() {
+-	# PPP devices are configured by pppd, no need to run setup_interface here
+-	case "$INTERFACE" in
+-		ppp*) return 0;;
+-	esac
+-
+-	scan_interfaces
+-	local cfg="$(find_config "$INTERFACE")"
+-
+-	# check the autoload setting
+-	config_get auto "$cfg" auto
+-	case "$auto" in
+-		1|on|enabled) setup_interface "$INTERFACE";;
+-	esac
+-
+-
+-	# find all vlan configurations for this interface and set them up as well
+-	for ifc in $interfaces; do
+-		config_get iftype "$ifc" type
+-		config_get ifs "$ifc" device
+-		for dev in $ifs; do
+-			[ "${dev%%\.*}" = "$INTERFACE" -a "$dev" != "$INTERFACE" ] && {
+-				add_vlan "$dev"
+-			}
+-		done
+-	done
+-}
+-
+-case "$ACTION" in
+-	add|register)
+-		case "$PHYSDEVDRIVER" in
+-			natsemi) sleep 1;;
+-		esac
+-		addif
+-	;;
+-esac
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug.d/usb/10-usb-storage x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/usb/10-usb-storage
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug.d/usb/10-usb-storage	2007-06-20 22:05:15.338323000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug.d/usb/10-usb-storage	1970-01-01 00:00:00.000000000 +0000
+@@ -1,13 +0,0 @@
+-#!/bin/sh
+-
+-# Copyright (C) 2006 OpenWrt.org
+-
+-case "$ACTION" in
+-	add)
+-		[ -n "${INTERFACE}" ] &&
+-		[ "$(expr substr ${INTERFACE} 1 2)" == "8/" ]  && {
+-			/sbin/usb-storage &
+-		}
+-		;;
+-esac	
+-		
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug2-common.rules x86-uclibc-torvm/package/base-files/files/etc/hotplug2-common.rules
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug2-common.rules	2008-01-26 03:16:11.438222000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug2-common.rules	1970-01-01 00:00:00.000000000 +0000
+@@ -1,35 +0,0 @@
+-
+-DEVICENAME ~~ (null|full|ptmx|tty|zero|gpio) {
+-	nothrottle
+-	makedev /dev/%DEVICENAME% 0666
+-	next
+-}
+-
+-DEVICENAME ~~ (tun|tap[0-9]) {
+-	nothrottle
+-	makedev /dev/net/%DEVICENAME% 0644
+-	next
+-}
+-
+-DEVICENAME ~~ (ppp) {
+-	nothrottle
+-	makedev /dev/%DEVICENAME% 0600
+-	next
+-}
+-
+-DEVICENAME ~~ (controlC[0-9]|pcmC0D0*|timer) {
+-	nothrottle
+-	makedev /dev/snd/%DEVICENAME% 0644
+-	next
+-}
+-
+-DEVPATH is set {
+-	nothrottle
+-	makedev /dev/%DEVICENAME% 0644
+-}
+-
+-FIRMWARE is set {
+-	nothrottle
+-	exec /sbin/hotplug-call firmware;
+-	next
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/hotplug2-init.rules x86-uclibc-torvm/package/base-files/files/etc/hotplug2-init.rules
+--- x86-uclibc-orig/package/base-files/files/etc/hotplug2-init.rules	2007-12-01 17:08:04.802538000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/hotplug2-init.rules	1970-01-01 00:00:00.000000000 +0000
+@@ -1,5 +0,0 @@
+-$include /etc/hotplug2-common.rules
+-
+-SUBSYSTEM ~~ button {
+-	exec kill -USR1 1 ;
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/boot x86-uclibc-torvm/package/base-files/files/etc/init.d/boot
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/boot	2008-06-16 19:37:00.739972000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/boot	1970-01-01 00:00:00.000000000 +0000
+@@ -1,66 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org
+-
+-START=10
+-
+-system_config() {
+-	local cfg="$1"
+-	local hostname
+-	
+-	config_get hostname "$cfg" hostname
+-	echo "${hostname:-OpenWrt}" > /proc/sys/kernel/hostname
+-
+-	config_get conloglevel "$cfg" conloglevel
+-	[ -n "$conloglevel" ] && dmesg -n "$conloglevel"
+-	
+-	config_get timezone "$cfg" timezone 
+-	[ -z "$timezone" ] && timezone=UTC
+-	echo "$timezone" > /tmp/TZ
+-
+-	config_get log_ip "$cfg" log_ip 
+-	config_get log_size "$cfg" log_size
+-	syslogd -C${log_size:-16} ${log_ip:+-L -R $log_ip}
+-	klogd
+-}
+-
+-apply_uci_config() {(
+-	include /lib/config
+-	uci_apply_defaults
+-)}
+-
+-start() {
+-	[ -f /proc/mounts ] || /sbin/mount_root
+-	[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
+-	[ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD
+-
+-	apply_uci_config
+-	config_load system
+-	config_foreach system_config system
+-	
+-	mkdir -p /var/run
+-	mkdir -p /var/log
+-	mkdir -p /var/lock
+-	mkdir -p /var/state
+-	mkdir -p /tmp/.uci
+-	chown 0700 /tmp/.uci
+-	touch /var/log/wtmp
+-	touch /var/log/lastlog
+-	ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
+-	[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
+-
+-	[ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \
+-			--max-children 1 --no-coldplug &
+-
+-	# the coldplugging of network interfaces needs to happen later, so we do it manually here
+-	for iface in $(awk -F: '/:/ {print $1}' /proc/net/dev); do
+-		/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug-call net
+-	done
+-
+-	# create /dev/root if it doesn't exist
+-	[ -e /dev/root ] || {
+-		rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline)
+-		[ -n "$rootdev" ] && ln -s "$rootdev" /dev/root
+-	}
+-
+-	load_modules /etc/modules.d/*
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/done x86-uclibc-torvm/package/base-files/files/etc/init.d/done
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/done	2007-05-10 14:37:47.286148000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/done	1970-01-01 00:00:00.000000000 +0000
+@@ -1,15 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org
+-
+-START=95
+-boot() {
+-	[ -d /tmp/root ] && {
+-		lock /tmp/.switch2jffs
+-		firstboot switch2jffs
+-		lock -u /tmp/.switch2jffs
+-	}
+-
+-	# set leds to normal state
+-	. /etc/diag.sh
+-	set_state done
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/fstab x86-uclibc-torvm/package/base-files/files/etc/init.d/fstab
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/fstab	2008-05-20 19:02:19.166035000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/fstab	1970-01-01 00:00:00.000000000 +0000
+@@ -1,66 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2007 OpenWrt.org
+-
+-START=20
+-
+-do_mount() {
+-	local cfg="$1"
+-	config_get fstype "$cfg" fstype
+-	fstype="${fstype:-auto}"
+-	config_get options "$cfg" options
+-	options="${options:-rw}"
+-	config_get device "$cfg" device
+-	[ -n "device" ] || return 0
+-	config_get target "$cfg" target
+-	[ -n "target" ] || return 0
+-	mkdir -p $target
+-	config_get_bool enabled "$cfg" "enabled" '1'
+-	[ "$enabled" -eq 0 ] && options="noauto,$options"
+-	echo "$device	$target	$fstype	$options	0	0" >> /tmp/fstab
+-}
+-
+-do_swapon() {
+-	local cfg="$1"
+-	config_get device "$cfg" device
+-	[ -n "device" ] || return 0
+-	config_get_bool enabled "$cfg" "enabled" '1'
+-	[ "$enabled" -gt 0 ] && {
+-		echo "$device	none	swap	${noauto}sw	0	0" >> /tmp/fstab
+-	}
+-}
+-
+-do_unmount() {
+-	local cfg="$1"
+-	config_get target "$cfg" target
+-	[ -n "target" ] || return 0
+-	config_get_bool enabled "$cfg" "enabled" '1'
+-	[ "$enabled" -gt 0 ] && {
+-		umount $target
+-	}
+-}
+-	
+-do_swapoff() {
+-	local cfg="$1"
+-	config_get device "$cfg" device
+-	[ -n "device" ] || return 0
+-	config_get_bool enabled "$cfg" "enabled" '1'
+-	[ "$enabled" -gt 0 ] && type swapoff >/dev/null && {
+-		swapoff $device
+-	}
+-}
+-
+-start() {
+-	config_load fstab
+-	echo '# WARNING: this is an auto generated file, please use uci to set static filesystems' > /tmp/fstab
+-	config_foreach do_mount mount
+-	config_foreach do_swapon swap
+-	mount -a
+-	swapon -a
+-}
+-
+-stop() {
+-	config_load fstab
+-	config_foreach do_unmount mount
+-	config_foreach do_swapoff swap
+-}
+-
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/network x86-uclibc-torvm/package/base-files/files/etc/init.d/network
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/network	2008-04-15 16:29:49.167688000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/network	1970-01-01 00:00:00.000000000 +0000
+@@ -1,33 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org
+-
+-START=40
+-STOP=40
+-
+-boot() {
+-	setup_switch() { return 0; }
+-
+-	include /lib/network
+-	setup_switch
+-	[ -s /etc/config/wireless ] || \
+-		/sbin/wifi detect > /etc/config/wireless
+-	/sbin/wifi up
+-}
+-
+-start() {
+-	ifup -a
+-	/sbin/wifi up
+-}
+-
+-restart() {
+-	setup_switch() { return 0; }
+-	
+-	include /lib/network
+-	setup_switch
+-	ifup -a
+-	/sbin/wifi up
+-}
+-
+-stop() {
+-	ifdown -a
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/rcS x86-uclibc-torvm/package/base-files/files/etc/init.d/rcS
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/rcS	2007-11-28 02:36:14.270663000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/rcS	2008-07-09 02:23:09.000000000 +0000
+@@ -1,8 +1,2 @@
+ #!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-{
+-	for i in /etc/rc.d/$1*; do
+-		[ -x $i ] && $i $2 2>&1
+-	done 
+-} | logger -s -p 6 -t '' &
++exit 0
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/sysctl x86-uclibc-torvm/package/base-files/files/etc/init.d/sysctl
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/sysctl	2007-05-10 10:07:38.965405000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/sysctl	2008-07-09 02:23:09.000000000 +0000
+@@ -1,7 +1,2 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org 
+-
+-START=99
+-start() {
+-	[ -f /etc/sysctl.conf ] && sysctl -p >&-
+-}
++#!/bin/sh
++[ -f /etc/sysctl.conf ] && sysctl -p >&-
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/umount x86-uclibc-torvm/package/base-files/files/etc/init.d/umount
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/umount	2007-05-10 10:45:04.317089000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/umount	1970-01-01 00:00:00.000000000 +0000
+@@ -1,8 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org 
+-
+-STOP=99
+-stop() {
+-	sync
+-	umount -a -r
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/usb x86-uclibc-torvm/package/base-files/files/etc/init.d/usb
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/usb	2007-04-06 16:07:36.852022000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/usb	1970-01-01 00:00:00.000000000 +0000
+@@ -1,9 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2006 OpenWrt.org 
+-
+-START=39
+-start() {
+-	[ -d /proc/bus/usb ] && {
+-		/bin/mount -t usbfs none /proc/bus/usb
+-	}		
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/init.d/watchdog x86-uclibc-torvm/package/base-files/files/etc/init.d/watchdog
+--- x86-uclibc-orig/package/base-files/files/etc/init.d/watchdog	2008-04-03 21:01:16.263826000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/init.d/watchdog	1970-01-01 00:00:00.000000000 +0000
+@@ -1,7 +0,0 @@
+-#!/bin/sh /etc/rc.common
+-# Copyright (C) 2008 OpenWrt.org
+-
+-START=97
+-start() {
+-        [ -c /dev/watchdog ] && watchdog -t 5 /dev/watchdog
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/inittab x86-uclibc-torvm/package/base-files/files/etc/inittab
+--- x86-uclibc-orig/package/base-files/files/etc/inittab	2007-05-10 14:50:42.865525000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/inittab	2008-07-09 04:02:36.868453139 +0000
+@@ -1,5 +1,3 @@
+ ::sysinit:/etc/init.d/rcS S boot
+ ::shutdown:/etc/init.d/rcS K stop
+-tts/0::askfirst:/bin/ash --login
+-ttyS0::askfirst:/bin/ash --login
+ tty1::askfirst:/bin/ash --login
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/ipkg.conf x86-uclibc-torvm/package/base-files/files/etc/ipkg.conf
+--- x86-uclibc-orig/package/base-files/files/etc/ipkg.conf	2008-02-29 02:41:39.429442000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/ipkg.conf	1970-01-01 00:00:00.000000000 +0000
+@@ -1,3 +0,0 @@
+-src snapshots http://downloads.openwrt.org/snapshots/$S/packages
+-dest root /
+-dest ram /tmp
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/preinit x86-uclibc-torvm/package/base-files/files/etc/preinit
+--- x86-uclibc-orig/package/base-files/files/etc/preinit	2008-04-23 16:20:46.084166000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/preinit	2008-07-09 04:08:34.418417829 +0000
+@@ -1,92 +1,78 @@
+ #!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+-. /etc/diag.sh
+ 
+-failsafe_ip() {
+-	ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
++d () {
++echo "    ${1}"
+ }
+-
+-failsafe() {
+-	[ -n "$ifname" ] && grep "$ifname" /proc/net/dev >/dev/null && {
+-		failsafe_ip
+-		netmsg 192.168.1.255 "Entering Failsafe!"
+-		telnetd -l /bin/login <> /dev/null 2>&1
+-	}
+-	lock /tmp/.failsafe
+-	ash --login
++dn () {
++echo -n "    ${1}"
+ }
+ 
+ mount proc /proc -t proc
+ mount sysfs /sys -t sysfs
+ 
+-size=$(awk '/MemTotal:/ {l=5242880;mt=($2*1024);print((s=mt/2)<l)?mt-l:s}' /proc/meminfo)
+-mount tmpfs /tmp -t tmpfs -o size=$size,nosuid,nodev,mode=1777
++syslogd >/dev/null 2>&1
++# do we need it? klogd -c 1 >/dev/null 2>&1
++
++clear
++d "Initializing ..."
++
++hostname "Tor_VM" >/dev/null 2>&1
+ 
+ if grep devfs /proc/filesystems > /dev/null; then
+ 	mount devfs /dev -t devfs
+-	M0=/dev/pty/m0
+-	M1=/dev/pty/m1
+-	HOTPLUG=/sbin/hotplug-call
+-
+-elif [ -x /sbin/hotplug2 ]; then
+-	mount -t tmpfs tmpfs /dev -o size=512K
+-	mknod /dev/console c 5 1
+-	if [ -n "$INITRAMFS" ]; then
+-		/sbin/hotplug2 --coldplug --no-persistent --max_children 1
+-		/sbin/hotplug2 --persistent --max_children 1 &
+-	else
+-		/sbin/hotplug2 --coldplug --set-rules-file /etc/hotplug2-init.rules
+-		/sbin/hotplug2 --no-coldplug --persistent --set-rules-file /etc/hotplug2-init.rules &
+-	fi
+-	M0=/dev/ptmx
+-	M1=/dev/ptmx
+-	HOTPLUG=
+-
+ elif [ -x /sbin/udevd ]; then
+ 	mount -n -t tmpfs -o mode=0755 udev /dev
+ 	/sbin/udevd --daemon
+ 	/sbin/udevtrigger
+ 	/sbin/udevsettle
+-	M0=/dev/pty/ptmx
+-	M1=/dev/pty/ptmx
+-	HOTPLUG=
+ fi
+ 
+ mkdir -p /dev/pts /dev/shm
+ mount devpts /dev/pts -t devpts
+ 
+-# the shell really doesn't like having stdin/out closed
+-# that's why we use /dev/pty/m0 and m1 as replacement
+-# for /dev/console if there's no serial console available
+-dd if=/dev/console of=/dev/null bs=1 count=0 >/dev/null 2>/dev/null && {
+-	M0=/dev/console
+-	M1=/dev/console
+-}
+-
+-exec <$M0 >$M1 2>&0
++# XXX need a good way to set this flexibly...
++echo 'PST8PDT,M3.2.0/2,M11.1.0/2' > /etc/TZ
+ 
+-echo "- preinit -"
+-trap 'FAILSAFE=true' USR1
+-[ -e /etc/preinit.arch ] && . /etc/preinit.arch
+-set_state preinit
+-echo "$HOTPLUG" > /proc/sys/kernel/hotplug
+-eval ${FAILSAFE:+failsafe}
+-lock -w /tmp/.failsafe
+-
+-if [ -z "$INITRAMFS" ]; then
+-	mount_root
+-	[ -f /sysupgrade.tgz ] && {
+-		echo "- config restore -"
+-		cd /
+-		mv sysupgrade.tgz /tmp
+-		tar xzf /tmp/sysupgrade.tgz
+-		rm -f /tmp/sysupgrade.tgz
+-		sync
+-	}
+-
+-	echo "- init -"
+-	
+-	killall hotplug2
+-	exec /sbin/init
++mkdir -p /var/run
++mkdir -p /var/log
++mkdir -p /var/lock
++mkdir -p /var/state
++touch /var/log/wtmp
++touch /var/log/lastlog
++ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
++
++/etc/init.d/sysctl
++
++ifconfig lo 127.0.0.1 netmask 255.0.0.0 up
++
++dn "Trying to get DHCP lease ... "
++udhcpc -b -i eth0 -p /var/run/dhcp.eth0.pid >/dev/null 2>&1 &
++netup=0
++maxrt=20
++while [ $maxrt -gt 0 ]; do
++  sleep 1
++  ifconfig eth0 | grep 'inet addr:' >/dev/null 2>&1
++  if [ $? -eq 0 ]; then
++    netup=1
++    maxrt=0
++  else
++    echo -n "."
++    maxrt=$(expr $maxrt - 1)
++  fi
++done
++
++if [ $netup -eq 0 ]; then
++  echo " FAILED."
++  d "ERROR: Unable to get an IP address."
++  d "Check your DHCP server or configure one manually with ifconfig."
++  d "Remember to start Tor via /etc/init.d/tor start when ready."
++else
++  echo " done."
++  dn "Starting tor ... "
++  /etc/init.d/tor start
++  echo "done."
++  echo
++  d "Run /etc/init.d/tor status"
++  d " for bootstrap status."
+ fi
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/rc.common x86-uclibc-torvm/package/base-files/files/etc/rc.common
+--- x86-uclibc-orig/package/base-files/files/etc/rc.common	2008-01-25 10:59:40.292163000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/rc.common	2008-07-09 02:23:09.000000000 +0000
+@@ -1,92 +1,4 @@
+ #!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-. $IPKG_INSTROOT/etc/functions.sh
+-
+-start() {
+-	return 0
+-}
+-
+-stop() {
+-	return 0
+-}
+-
+-reload() {
+-	return 1
+-}
+-
+-restart() {
+-	trap '' TERM
+-	stop "$@"
+-	start "$@"
+-}
+-
+-boot() {
+-	start "$@"
+-}
+-
+-shutdown() {
+-	return 0
+-}
+-
+-disable() {
+-	name="$(basename "${initscript}")"
+-	rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
+-	rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name
+-}
+-
+-enable() {
+-	name="$(basename "${initscript}")"
+-	disable
+-	[ "$START" ] && ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
+-	[ "$STOP"  ] && ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}"
+-}
+-
+-enabled() {
+-	name="$(basename "${initscript}")"
+-	[ -x "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" ]
+-}
+-
+-depends() {
+-	return 0
+-}
+-
+-help() {
+-	cat <<EOF
+-Syntax: $initscript [command]
+-
+-Available commands:
+-	start	Start the service
+-	stop	Stop the service
+-	restart	Restart the service
+-	reload	Reload configuration files (or restart if that fails)
+-	enable	Enable service autostart
+-	disable	Disable service autostart
+-$EXTRA_HELP
+-EOF
+-}
+-
+-initscript="$1"
+-[ "$#" -ge 1 ] && shift
+-action="$1"
+-[ "$#" -ge 1 ] && shift
+-
+-. "$initscript"
+-
+-cmds=
+-for cmd in $EXTRA_COMMANDS; do
+-	cmds="${cmds:+$cmds$N}$cmd) $cmd \"\$@\";;"
+-done
+-eval "case \"\$action\" in
+-	start) start \"\$@\";;
+-	stop) stop \"\$@\";;
+-	reload) reload \"\$@\" || restart \"\$@\";;
+-	restart) restart \"\$@\";;
+-	boot) boot \"\$@\";;
+-	shutdown) shutdown \"\$@\";;
+-	enable) enable \"\$@\";;
+-	enabled) enabled \"\$@\";;
+-	disable) disable \"\$@\";;
+-	$cmds
+-	*) help;;
+-esac"
++# forcibly disable the usual init process
++# all start/stop activity is controlled by the TorVM controller.
++exit 0
+diff -Naur x86-uclibc-orig/package/base-files/files/etc/sysctl.conf x86-uclibc-torvm/package/base-files/files/etc/sysctl.conf
+--- x86-uclibc-orig/package/base-files/files/etc/sysctl.conf	2007-10-24 18:44:07.273843000 +0000
++++ x86-uclibc-torvm/package/base-files/files/etc/sysctl.conf	2008-07-09 02:23:09.000000000 +0000
+@@ -1,14 +1,10 @@
+ kernel.panic=3
+-net.ipv4.conf.default.arp_ignore=1
+-net.ipv4.conf.all.arp_ignore=1
+ net.ipv4.ip_forward=1
+ net.ipv4.icmp_echo_ignore_broadcasts=1
+ net.ipv4.icmp_ignore_bogus_error_responses=1
+-net.ipv4.tcp_fin_timeout=30
++net.ipv4.tcp_fin_timeout=10
+ net.ipv4.tcp_keepalive_time=120
+-net.ipv4.tcp_syncookies=1
+ net.ipv4.tcp_timestamps=0
+ net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3600                    
+-net.ipv4.netfilter.ip_conntrack_udp_timeout=60                                  
+-net.ipv4.netfilter.ip_conntrack_udp_timeout_stream=180                          
+-net.ipv6.conf.all.forwarding=1
++net.ipv4.netfilter.ip_conntrack_udp_timeout=600
++net.ipv4.netfilter.ip_conntrack_udp_timeout_stream=600
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/parse_spec.awk x86-uclibc-torvm/package/base-files/files/lib/config/parse_spec.awk
+--- x86-uclibc-orig/package/base-files/files/lib/config/parse_spec.awk	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/parse_spec.awk	1970-01-01 00:00:00.000000000 +0000
+@@ -1,255 +0,0 @@
+-# AWK file for parsing uci specification files
+-#
+-# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel at fokus.fraunhofer.de>
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-#
+-#
+-# general: unfortunately, the development was done using gawk providing
+-#  a different match() functions than e.g. mawk on debian systems
+-#  - therefore, the script was changed to run on most awk's 
+-#  - even things like [:space:] are not used
+-#
+-# - script  parses the config section definition contained in one 
+-#   specification file
+-# global variables:
+-# * section  - contains the current config section name
+-# * var      - contains the name of the current config option
+-# * type     - contains the type of the current config option
+-# * required - contains the requirements of the current config option
+-# * optional - contains the optional scope of the current config option
+-# * vars[]  - array, contains the name of all config options valid within
+-#	      a certain config section, format: csv
+-#
+-# XXX todo: more than one config option with the same in different section
+-# will clash for the following tables
+-# * types[] - contains the type of a config option
+-# * reqs[]  - contains the requirements of a config option
+-# * opts[]  - contains the optional scope of a config option
+-#
+-BEGIN {
+-	section_count=1
+-	section = ""
+-	simple_types = "int|ip|netmask|string|wep|hostname|mac|port|ports|wpapsk"
+-}
+-
+-# function print_specification
+-# - prints all information about the created tables containing the
+-#   specification 
+-function print_specification() {
+-	for (section in vars) {
+-		printf("%s\n",section);
+-		split(vars[section],arr,",")
+-		for (idx in arr) {
+-			printf("\t%s[%s]",arr[idx],types[section "_" arr[idx]]); 
+-			if (length(reqs[section "_" arr[idx]])) {
+-				if (reqs[section "_" arr[idx]]==1) {
+-					printf(",req");
+-				}else{
+-					printf(", req(%s)", reqs[section "_" arr[idx]]);
+-				}
+-			}
+-			if (length(opts[section "_" arr[idx]])) {
+-				printf(", opt(%s)", opts[section "_" arr[idx]]);
+-			}
+-			printf("\n");
+-		}
+-	}
+-}
+-
+-
+-function reset_option() {
+-	# just set global variables parsed on one line back to defaults
+-	var = ""
+-	type = ""
+-	required = ""
+-	optional = ""
+-	found = 0
+-}
+-
+-function store_option() {
+-	# save all information about a config option parsed from the spec file
+-	# to the relevant tables for future use
+-
+-	# first check minimum requirements for storing information
+-	if (!length(section)) {
+-		print STDERR "line " NR ": section definition missing"
+-		exit 1
+-	}
+-	if (!length(var)) {
+-		print STDERR "line " NR ": invalid config option name"
+-		exit 1
+-	}
+-	if (!length(type)) {
+-		print STDERR "line " NR ": invalid config option type"
+-		exit 1
+-	}
+-
+-	# add config options to the names of options available for this
+-	# section
+-	if (exists[section]!=1) {
+-		section_names[section_count] = section
+-		section_count++
+-		exists[section] = 1
+-		vars[section] = var
+-	} else {
+-		vars[section] = vars[section] "," var
+-	}
+-	
+-	# save the type, the requirements and the optional scope of the 
+-	# config option
+-	types[section "_" var] = type
+-	reqs[section "_" var] = required
+-	opts[section "_" var] = optional
+-}
+-
+-/^declare -x|^export/ { 
+-	sub(/^declare -x /,"")
+-	sub(/^export /,"")
+-	split($0,arr,"=")
+-	val=substr(arr[2],2,length(arr[2])-2)
+-	ENVIRON[arr[1]] = val
+-	next
+-}
+-
+-# main parsing function
+-# this is done in one function block to allow multiple semicolon separated
+-# definitions on one line
+-{
+-	# replace leading/trailing white space
+-	gsub("^[ \t\n]+","");
+-	gsub("[ \t\n]+$","");
+-
+-	# comments are removed
+-	# XXX todo: check for quoted comments??
+-	if (match($0,/[^#]*/)) {
+-		rest=substr($0,RSTART,RLENGTH)
+-	} else {
+-		rest=$0
+-	}
+-
+-	# match the config section "<section> {"
+-	if (match(rest,/^[^ \t\n{]+[ \t\n]*\{/)) {
+-		match(rest,/^[^ \t\n{]+/)
+-		section = substr(rest,RSTART,RLENGTH)
+-		rest=substr($0,RSTART+RLENGTH);
+-		match(rest,/[ \t\n]*\{/)
+-		rest=substr(rest,RSTART+RLENGTH)
+-		# check for array indication
+-		if (match(section,/\[[ \t\n]*\]/)) {
+-			section=substr(section,1,RSTART-1)
+-			multiple[section] = 1
+-		} else {
+-			multiple[section] = 0
+-		}
+-	}
+-
+-	reset_option()
+-
+-	# parse the remaing line as long as there is something to parse
+-	while (rest ~ "[^ \t\n}]+") {
+-		found = 0
+-
+-		# get option name and option type
+-		# first, check for "simple" datatype definitions
+-		if (match(rest,"[^: \t\n]+[ \t\n]*:[ \t\n]*(" \
+-		                        simple_types ")")){
+-			match(rest,"[^: \t\n]+")
+-			var=substr(rest,RSTART,RLENGTH)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,"[ \t\n]*:[ \t\n]*")
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,"(" simple_types ")")
+-			type=substr(rest,RSTART,RLENGTH)
+-			rest = substr(rest,RSTART+RLENGTH)
+-			found = 1
+-		# next, check for enum definitions
+-		} else if (match(rest,/[^: \t\n]+[ \t\n]*:[ \t\n]*enum\([^\)]+\)/ )) {
+-			match(rest,"[^: \t\n]+")
+-			var=substr(rest,RSTART,RLENGTH)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/[ \t\n]*:[ \t\n]*enum\(/)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/[^\)]+/)
+-			type="enum," substr(rest,RSTART,RLENGTH)
+-			rest = substr(rest,RSTART+RLENGTH+1)
+-			found=1
+-		}			
+-
+-		# after the name and the type, 
+-		# get the option requirements/scope
+-		if (match(rest,/[^,]*,[ \t\n]*required\[[^]]+\]/)) {
+-			match(rest,"[^,]*")
+-			save=substr(rest,RSTART,RLENGTH)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/,[ \t\n]*required\[/);
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/[^]]+\]/)
+-			required=substr(rest,RSTART,RLENGTH-1)
+-			save=save substr(rest,RSTART+RLENGTH)
+-			rest=save
+-			found=1
+-		} else if (match(rest,/[^,]*,[ \t\n]*required/)) {
+-			match(rest,"[^,]*")
+-			save=substr(rest,RSTART,RLENGTH)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,",[ \t\n]*required");
+-			rest=substr(rest,RSTART+RLENGTH)
+-			required=1
+-			save=save substr(rest,RSTART+RLENGTH)
+-			rest=save
+-			found=1
+-		}
+-		if (match(rest,/[^,]*,[ \t\n]*optional\[[^]]+\]/)) {
+-			match(rest,"[^,]*")
+-			save=substr(rest,RSTART,RLENGTH)
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/,[ \t\n]*optional\[/);
+-			rest=substr(rest,RSTART+RLENGTH)
+-			match(rest,/[^]]+\]/)
+-			optional=substr(rest,RSTART,RLENGTH-1)
+-			save=save substr(rest,RSTART+RLENGTH)
+-			rest=save
+-			found=1
+-		}
+-	
+-		# if the remaining line contains a semicolon, complete the
+-		# specification of the config options
+-		if (match(rest, "^[ \t\n]*;(.*)")) {
+-			match(rest,"^[ \t\n]*;")
+-			rest=substr(rest,RSTART+RLENGTH)
+-			if (found==1) {
+-				store_option()
+-			}
+-			reset_option()
+-
+-		# if nothing matched on this line, clear the rest
+-		} else if (!found) {
+-			rest = ""
+-		}
+-	}
+-
+-	# after the line is pared, store the configuration option in the
+-	# table if any has been defined
+-	if (length(var)) {
+-		store_option()
+-		reset_option()
+-	}
+-	# close the section if the line contained a closing section bracket, 
+-	# XXX todo: check if this has to be done more intelligent
+-	if ($0 ~ /\}/) {
+-		section=""
+-	}
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/specs/network.spec x86-uclibc-torvm/package/base-files/files/lib/config/specs/network.spec
+--- x86-uclibc-orig/package/base-files/files/lib/config/specs/network.spec	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/specs/network.spec	1970-01-01 00:00:00.000000000 +0000
+@@ -1,7 +0,0 @@
+-interface[] {
+-	proto: string, required;
+-	ipaddr: ip, required[proto=static];
+-	netmask: ip, required[proto=static];
+-	gateway: ip;
+-	dns: ip;
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/template.awk x86-uclibc-torvm/package/base-files/files/lib/config/template.awk
+--- x86-uclibc-orig/package/base-files/files/lib/config/template.awk	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/template.awk	1970-01-01 00:00:00.000000000 +0000
+@@ -1,42 +0,0 @@
+-# Copyright (C) 2006 OpenWrt.org
+-
+-{
+-	line=$0
+-	gsub(/^[ \t]*/, "")
+-	gsub(/[ \t]*$/, "")
+-}
+-
+-$1 == "@define" {
+-	v[$2] = $3
+-}
+-
+-$1 == "@ifdef" {
+-	if_open = 1
+-	if (v[$2] != "") noprint = 0
+-	else noprint = 1
+-}
+-
+-$1 == "@ifndef" {
+-	if_open = 1
+-	if (v[$2] != "") noprint = 1
+-	else noprint = 0
+-}
+-
+-$1 == "@else" {
+-	if (noprint == 1) noprint = 0
+-	else noprint = 1
+-}
+-
+-($1 !~ /^@[a-zA-Z0-9_]/) && (noprint != 1) {
+-	n=split(line "@@", a, /@@/)
+-	for (i=1; i<=n; i++) {
+-		if ((i % 2) == 1) printf "%s" a[i]
+-		else printf "%s" v[a[i]]
+-	}
+-	print ""
+-}
+-
+-$1 == "@endif" {
+-	if_open = 0
+-	noprint = 0
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/validate.sh x86-uclibc-torvm/package/base-files/files/lib/config/validate.sh
+--- x86-uclibc-orig/package/base-files/files/lib/config/validate.sh	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/validate.sh	1970-01-01 00:00:00.000000000 +0000
+@@ -1,74 +0,0 @@
+-# Shell script defining validating configuration macros
+-#
+-# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel at fokus.fraunhofer.de>
+-# Copyright (C) 2007 by Felix Fietkau <nbd at openwrt.org>
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-
+-
+-validate_spec() {
+-	export | grep 'CONFIG_' | cat - "$@" | awk \
+-		-f $UCI_ROOT/lib/config/validate_config.awk \
+-		-f $UCI_ROOT/lib/config/parse_spec.awk \
+-		-f $UCI_ROOT/lib/config/validate_spec.awk
+-}
+-
+-validate_config_cb () {
+-	local TYPE
+-	local res=
+-	
+-	[ -n "${CONFIG_SECTION}" ] || return 0
+-	
+-	config_get TYPE ${CONFIG_SECTION} TYPE
+-	[ -n "$TYPE" ] || return 0
+-	
+-	if type validate_${PACKAGE}_${TYPE} >/dev/null 2>&1; then
+-		validate_${PACKAGE}_${TYPE}
+-		res="$?"
+-	else 
+-		if [ -f $UCI_ROOT/lib/config/specs/${PACKAGE}.spec ]; then
+-			# no special defined, use default one
+-			validate_spec $UCI_ROOT/lib/config/specs/${PACKAGE}.spec
+-			res="$?"
+-		fi
+-	fi
+-	
+-	VALIDATE_RES="${VALIDATE_RES:-$res}"
+-}
+-
+-uci_validate() {(
+-	PACKAGE="$1"
+-	FILE="$2"
+-	VALIDATE_RES=
+-
+-	[ -z "${PACKAGE}" ] && {
+-		echo "Error: no package defined"
+-		return 1
+-	}
+-
+-	reset_cb
+-	config_cb() {
+-		validate_config_cb "$@"
+-	}
+-	unset NO_EXPORT
+-	if [ -n "$FILE" ]; then
+-		. "$FILE"
+-		config
+-	else
+-		config_load "$1"
+-	fi
+-
+-	return ${VALIDATE_RES:-0}
+-)}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/validate_config.awk x86-uclibc-torvm/package/base-files/files/lib/config/validate_config.awk
+--- x86-uclibc-orig/package/base-files/files/lib/config/validate_config.awk	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/validate_config.awk	1970-01-01 00:00:00.000000000 +0000
+@@ -1,105 +0,0 @@
+-# AWK file for validating uci specification files
+-#
+-# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel at fokus.fraunhofer.de>
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-#
+-function is_int(value) {
+-	valid = 1
+-	if (value !~ /^[0-9]*$/) { valid = 0 }
+-	return valid
+-}
+-
+-function is_netmask(value) {
+-	return is_ip(value)
+-}
+-
+-function is_ip(value) {
+-	valid = 1
+-	if ((value != "") && (value !~ /^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$/)) valid = 0
+-	else {
+-		split(value, ipaddr, "\\.")
+-		for (i = 1; i <= 4; i++) {
+-			if ((ipaddr[i] < 0) || (ipaddr[i] > 255)) valid = 0
+-		}
+-	}
+-	return valid
+-}
+-
+-function is_wep(value) {
+-	valid = 1
+-	if (value !~ /^[0-9A-Fa-f]*$/) {
+-		valid = 0
+-	} else if ((length(value) != 0) && (length(value) != 10) && (length(value) != 26)) {
+-		valid = 0
+-	} else if (value ~ /0$/) {
+-		valid = 0
+-	}
+-	return valid
+-}
+-
+-function is_hostname(value) {
+-	valid = 1
+-	if (value !~ /^[0-9a-zA-z\.\-]*$/) {
+-		valid = 0
+-	}
+-	return valid;
+-}
+-
+-function is_string(value) {
+-	return 1;
+-}
+-
+-function is_mac(value) {
+-	valid = 1
+-	if ((value != "") && (value !~ /^[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]$/)) {
+-		valid = 0
+-	}
+-	return valid
+-}
+-
+-function is_port(value) {
+-	valid = 1
+-	if (value !~ /^[0-9]*$/) {
+-		valid = 0
+-	}
+-	return valid
+-}
+-
+-function is_ports(value) {
+-	valid = 1
+-	n = split(value ",", ports, ",")
+-	for (i = 1; i <= n; i++) {
+-		if ((ports[i] !~ /^[0-9]*$/) && (ports[i] !~ /^[0-9][0-9]*-[0-9][0-9]*$/)) {
+-			valid = 0
+-		}
+-	}
+-	return valid
+-}
+-
+-function is_wpapsk(value) {
+-	valid = 1
+-	if (length(value) > 64) {
+-		valid = 0
+-	}
+-	if ((length(value) != 0) && (length(value) < 8)) {
+-		valid = 0
+-	}
+-	if ((length(value) == 64) && (value ~ /[^0-9a-fA-F]/)) {
+-		valid = 0
+-	}
+-	return valid
+-}
+-
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/config/validate_spec.awk x86-uclibc-torvm/package/base-files/files/lib/config/validate_spec.awk
+--- x86-uclibc-orig/package/base-files/files/lib/config/validate_spec.awk	2007-03-04 04:41:46.644094000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/config/validate_spec.awk	1970-01-01 00:00:00.000000000 +0000
+@@ -1,171 +0,0 @@
+-# AWK file for validating uci specification files
+-#
+-# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel at fokus.fraunhofer.de>
+-# Copyright (C) 2007 by Felix Fietkau <nbd at openwrt.org>
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+-#
+-#
+-# general: unfortunately, the development was done using gawk providing
+-#  a different match() functions than e.g. mawk on debian systems
+-#  - therefore, the script was changed to run on most awk's 
+-#  - even things like [:space:] are not used
+-#
+-# - script  parses the config section definition contained in one 
+-#   specification file
+-# global variables:
+-# * section  - contains the current config section name
+-# * var      - contains the name of the current config option
+-# * type     - contains the type of the current config option
+-# * required - contains the requirements of the current config option
+-# * optional - contains the optional scope of the current config option
+-# * vars[]  - array, contains the name of all config options valid within
+-#	      a certain config section, format: csv
+-#
+-# XXX todo: more than one config option with the same in different section
+-# will clash for the following tables
+-# * types[] - contains the type of a config option
+-# * reqs[]  - contains the requirements of a config option
+-# * opts[]  - contains the optional scope of a config option
+-#
+-
+-# - check requirement validates, if the config option is required in
+-#   the config section type and if so, if it is defined
+-# - the functions exits with error in case of non-conforming 
+-#   behaviour
+-# XXX todo: use return instead of exit
+-#
+-function check_requirements(vsec,var) {
+-	# check, if config option is required in all cases
+-	if (reqs[vsec "_" var] == 1) {
+-		# option is always required, is it defined?
+-		if (!length(ENVIRON["CONFIG_" vsec "_" var])) {
+-			print STDERR "Error: missing config option " var " in " vsec
+-			exit 1
+-		}
+-
+-	# check, if config option is required only when other options
+-	# have certain values
+-	} else if (length(reqs[vsec "_" var])) {
+-		# - check all requirements, e.g. proto=static,proto=pptp
+-		# - note, that the required flag is tiggered if at least one
+-		#   of the conditions is met
+-		split(reqs[vsec "_" var],arr,",");
+-		for (idx in arr) {
+-			# parse the condition space tolerant
+-			if (!match(arr[idx],"^[ \t\n]*[^ \t\n=]+"\
+-				"[ \t\n]*=.+")) {
+-				print STDERR "Error: invalid requirement "\
+-					"in spec file for " var " : " arr[idx]
+-				exit 1
+-			}
+-			# get the name of the variable
+-			match(arr[idx],"[^ \t\n=]+");
+-			name=substr(arr[idx],RSTART,RLENGTH)
+-			mrest=substr(arr[idx],RSTART+RLENGTH)
+-			# get the spaces
+-			match(mrest,"[ \t\n]*=[ \t\n]*")
+-			val=substr(mrest,RSTART+RLENGTH)
+-			# check the condition
+-			if (ENVIRON["CONFIG_" vsec "_" name] == val) {
+-				# condition is met, check requirement
+-				if (!length(ENVIRON["CONFIG_" vsec "_" var])) {
+-					print STDERR "Error: missing config " \
+-						"option " var " in " vsec 
+-					exit 1
+-				}
+-			}
+-		}
+-	}
+-}
+-
+-# is_valid just returns true(1)/false(0) if the
+-# given value is conform with the type definition 
+-# NOTE: this function needs the type validating function from
+-# validate_config.awk
+-#
+-function is_valid(type,value) {
+-
+-	# the enum type contains a definition of all allowed values as csv
+-	# e.g. enum,alpha,beta,gamma
+-	if (type ~ "enum" ) {
+-		split(type,tarr,",")
+-		for (num in tarr) {
+-			if (num > 0) {
+-				gsub("^[ \t\n]*","",tarr[num]);
+-				gsub("[ \t\n]*$","",tarr[num]);
+-				if (tarr[num] == value) {
+-					return 1
+-				}	
+-			}
+-		}
+-		return 0;
+-	}
+-
+-	# all other types are checked as defined in the former validate.awk
+-	if (type ~ "int") return is_int(value)
+-	if (type ~ "ip" ) return is_ip(value)
+-	if (type ~ "netmask" ) return is_netmask(value)
+-	if (type ~ "string" ) return is_string(value)
+-	if (type ~ "wep" ) return is_wep(value)
+-	if (type ~ "hostname" ) return is_hostname(value)
+-	if (type ~ "mac" ) return is_mac(value)
+-	if (type ~ "port" ) return is_port(value)
+-	if (type ~ "ports" ) return is_ports(value)
+-	if (type ~ "wpapsk" ) return is_wpapsk(value)
+-}
+-
+-# validate_config compares the specification as parsed from the spec file
+-# with the environment variables
+-# CONFIG_SECTION contains the relevant config section name, e.g. wan
+-# CONFIG_<section>_TYPE contains the type of the config, e.g. interface
+-# CONFIG_<section>_<var> contains the value of the config option <var>
+-#
+-function validate_config() {
+-	# get the config section name
+-	vname=ENVIRON["CONFIG_SECTION"]
+-	if (!length(vname)) {
+-		print STDERR "Error: no current configuration"
+-		exit 1
+-	}
+-	# get the config section type
+-	vsec=ENVIRON["CONFIG_" vname "_TYPE"]
+-	if (!length(vsec)) {
+-		print STDERR "Error: section " vsec " not found"
+-		exit 1
+-	}
+-
+-	# loop through all config options specified for this section type
+-	split(vars[vsec],options,",")
+-	for (oidx in options) {
+-		# first, look for all required attributes
+-		var=options[oidx]
+-		check_requirements(vname,var)
+-
+-		# next look at each option and validate it
+-		val=ENVIRON["CONFIG_" vname "_" var]
+-		if (length(val)) {
+-			if (!is_valid(types[vsec "_" var],val)) {
+-				print "Error: type validation error for '" var "' in section '" vname "'"
+-				exit 1
+-			}
+-		}
+-	}
+-}
+-
+-
+-END {
+-	validate_config()
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/network/config.sh x86-uclibc-torvm/package/base-files/files/lib/network/config.sh
+--- x86-uclibc-orig/package/base-files/files/lib/network/config.sh	2008-04-07 16:02:50.405821000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/network/config.sh	1970-01-01 00:00:00.000000000 +0000
+@@ -1,228 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-# DEBUG="echo"
+-
+-find_config() {
+-	local iftype device iface ifaces ifn
+-	for ifn in $interfaces; do
+-		config_get iftype "$ifn" type
+-		config_get iface "$ifn" ifname
+-		case "$iftype" in
+-			bridge) config_get ifaces "$ifn" ifnames;;
+-		esac
+-		config_get device "$ifn" device
+-		for ifc in $device $iface $ifaces; do
+-			[ ."$ifc" = ."$1" ] && {
+-				echo "$ifn"
+-				return 0
+-			}
+-		done
+-	done
+-
+-	return 1;
+-}
+-
+-scan_interfaces() {
+-	local cfgfile="$1"
+-	local mode iftype iface ifname device
+-	interfaces=
+-	config_cb() {
+-		case "$1" in
+-			interface)
+-				config_set "$2" auto 1
+-			;;
+-		esac
+-		config_get iftype "$CONFIG_SECTION" TYPE
+-		case "$iftype" in
+-			interface)
+-				config_get proto "$CONFIG_SECTION" proto
+-				append interfaces "$CONFIG_SECTION"
+-				config_get iftype "$CONFIG_SECTION" type
+-				config_get ifname "$CONFIG_SECTION" ifname
+-				config_get device "$CONFIG_SECTION" device
+-				config_set "$CONFIG_SECTION" device "${device:-$ifname}"
+-				case "$iftype" in
+-					bridge)
+-						config_set "$CONFIG_SECTION" ifnames "${device:-$ifname}"
+-						config_set "$CONFIG_SECTION" ifname br-"$CONFIG_SECTION"
+-					;;
+-				esac
+-				( type "scan_$proto" ) >/dev/null 2>/dev/null && eval "scan_$proto '$CONFIG_SECTION'"
+-			;;
+-		esac
+-	}
+-	config_load "${cfgfile:-network}"
+-}
+-
+-add_vlan() {
+-	local vif="${1%\.*}"
+-	
+-	[ "$1" = "$vif" ] || ifconfig "$1" >/dev/null 2>/dev/null || {
+-		ifconfig "$vif" up 2>/dev/null >/dev/null || add_vlan "$vif"
+-		$DEBUG vconfig add "$vif" "${1##*\.}"
+-	}
+-}
+-
+-# Create the interface, if necessary.
+-# Return status 0 indicates that the setup_interface() call should continue
+-# Return status 1 means that everything is set up already.
+-
+-prepare_interface() {
+-	local iface="$1"
+-	local config="$2"
+-
+-	# if we're called for the bridge interface itself, don't bother trying
+-	# to create any interfaces here. The scripts have already done that, otherwise
+-	# the bridge interface wouldn't exist.
+-	[ "br-$config" = "$iface" -o -e "$iface" ] && return 0;
+-	
+-	ifconfig "$iface" 2>/dev/null >/dev/null && {
+-		# make sure the interface is removed from any existing bridge and brought down
+-		ifconfig "$iface" down
+-		unbridge "$iface"
+-	}
+-
+-	# Setup VLAN interfaces
+-	add_vlan "$iface"
+-	ifconfig "$iface" 2>/dev/null >/dev/null || return 0
+-
+-	# Setup bridging
+-	config_get iftype "$config" type
+-	config_get stp "$config" stp
+-	case "$iftype" in
+-		bridge)
+-			[ -x /usr/sbin/brctl ] && {
+-				ifconfig "br-$config" 2>/dev/null >/dev/null && {
+-					$DEBUG brctl addif "br-$config" "$iface"
+-					# Bridge existed already. No further processing necesary
+-				} || {
+-					$DEBUG brctl addbr "br-$config"
+-					$DEBUG brctl setfd "br-$config" 0
+-					$DEBUG ifconfig "br-$config" up
+-					$DEBUG brctl addif "br-$config" "$iface"
+-					$DEBUG brctl stp "br-$config" ${stp:-off}
+-					# Creating the bridge here will have triggered a hotplug event, which will
+-					# result in another setup_interface() call, so we simply stop processing
+-					# the current event at this point.
+-				}
+-				ifconfig "$iface" up 2>/dev/null >/dev/null
+-				return 1
+-			}
+-		;;
+-	esac
+-	return 0
+-}
+-
+-set_interface_ifname() {
+-	local config="$1"
+-	local ifname="$2"
+-
+-	config_get device "$1" device
+-	uci_set_state network "$config" ifname "$ifname"
+-	uci_set_state network "$config" device "$device"
+-}
+-
+-setup_interface() {
+-	local iface="$1"
+-	local config="$2"
+-	local proto
+-	local macaddr
+-
+-	[ -n "$config" ] || {
+-		config=$(find_config "$iface")
+-		[ "$?" = 0 ] || return 1
+-	}
+-	proto="${3:-$(config_get "$config" proto)}"
+-	
+-	prepare_interface "$iface" "$config" || return 0
+-	
+-	[ "$iface" = "br-$config" ] && {
+-		# need to bring up the bridge and wait a second for 
+-		# it to switch to the 'forwarding' state, otherwise
+-		# it will lose its routes...
+-		ifconfig "$iface" up
+-		sleep 1
+-	}
+-	
+-	# Interface settings
+-	config_get mtu "$config" mtu
+-	config_get macaddr "$config" macaddr
+-	grep "$iface:" /proc/net/dev > /dev/null && \
+-		$DEBUG ifconfig "$iface" ${macaddr:+hw ether "$macaddr"} ${mtu:+mtu $mtu} up
+-	set_interface_ifname "$config" "$iface"
+-
+-	pidfile="/var/run/$iface.pid"
+-	case "$proto" in
+-		static)
+-			config_get ipaddr "$config" ipaddr
+-			config_get netmask "$config" netmask
+-			config_get ip6addr "$config" ip6addr
+-			[ -z "$ipaddr" -o -z "$netmask" ] && [ -z "$ip6addr" ] && return 1
+-			
+-			config_get gateway "$config" gateway
+-			config_get ip6gw "$config" ip6gw
+-			config_get dns "$config" dns
+-			config_get bcast "$config" broadcast
+-			
+-			[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask" broadcast "${bcast:-+}"
+-			[ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr"
+-			[ -z "$gateway" ] || $DEBUG route add default gw "$gateway"
+-			[ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw"
+-			[ -z "$dns" ] || {
+-				for ns in $dns; do
+-					grep "$ns" /tmp/resolv.conf.auto 2>/dev/null >/dev/null || {
+-						echo "nameserver $ns" >> /tmp/resolv.conf.auto
+-					}
+-				done
+-			}
+-
+-			env -i ACTION="ifup" INTERFACE="$config" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
+-		;;
+-		dhcp)
+-			# prevent udhcpc from starting more than once
+-			lock "/var/lock/dhcp-$iface"
+-			pid="$(cat "$pidfile" 2>/dev/null)"
+-			[ -d "/proc/$pid" ] && grep udhcpc "/proc/${pid}/cmdline" >/dev/null 2>/dev/null && {
+-				lock -u "/var/lock/dhcp-$iface"
+-				return 0
+-			}
+-
+-			config_get ipaddr "$config" ipaddr
+-			config_get netmask "$config" netmask
+-			config_get hostname "$config" hostname
+-			config_get proto1 "$config" proto
+-			config_get clientid "$config" clientid
+-
+-			[ -z "$ipaddr" ] || \
+-				$DEBUG ifconfig "$iface" "$ipaddr" ${netmask:+netmask "$netmask"}
+-
+-			# don't stay running in background if dhcp is not the main proto on the interface (e.g. when using pptp)
+-			[ ."$proto1" != ."$proto" ] && dhcpopts="-n -q"
+-			$DEBUG eval udhcpc -t 0 -i "$iface" ${ipaddr:+-r $ipaddr} ${hostname:+-H $hostname} ${clientid:+-c $clientid} -b -p "$pidfile" ${dhcpopts:- -R &}
+-			lock -u "/var/lock/dhcp-$iface"
+-		;;
+-		*)
+-			if ( eval "type setup_interface_$proto" ) >/dev/null 2>/dev/null; then
+-				eval "setup_interface_$proto '$iface' '$config' '$proto'" 
+-			else
+-				echo "Interface type $proto not supported."
+-				return 1
+-			fi
+-		;;
+-	esac
+-}
+-
+-unbridge() {
+-	local dev="$1"
+-	local brdev
+-	
+-	[ -x /usr/sbin/brctl ] || return 0
+-	brctl show | grep "$dev" >/dev/null && {
+-		# interface is still part of a bridge, correct that
+-
+-		for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do
+-			brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null
+-		done
+-	}
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/lib/upgrade/common.sh x86-uclibc-torvm/package/base-files/files/lib/upgrade/common.sh
+--- x86-uclibc-orig/package/base-files/files/lib/upgrade/common.sh	2008-06-04 23:20:56.755507000 +0000
++++ x86-uclibc-torvm/package/base-files/files/lib/upgrade/common.sh	1970-01-01 00:00:00.000000000 +0000
+@@ -1,151 +0,0 @@
+-#!/bin/sh
+-
+-RAM_ROOT=/tmp/root
+-
+-ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
+-libs() { ldd $* | awk '{print $3}'; }
+-
+-install_file() { # <file> [ <file> ... ]
+-	for file in "$@"; do
+-		dest="$RAM_ROOT/$file"
+-		[ -f $file -a ! -f $dest ] && {
+-			dir="$(dirname $dest)"
+-			mkdir -p "$dir"
+-			cp $file $dest
+-		}
+-	done
+-}
+-
+-install_bin() { # <file> [ <symlink> ... ]
+-	src=$1
+-	files=$1
+-	[ -x "$src" ] && files="$src $(libs $src)"
+-	install_file $files
+-	shift
+-	for link in "$@"; do {
+-		dest="$RAM_ROOT/$link"
+-		dir="$(dirname $dest)"
+-		mkdir -p "$dir"
+-		[ -f "$dest" ] || ln -s $src $dest
+-	}; done
+-}
+-
+-pivot() { # <new_root> <old_root>
+-	mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
+-	mkdir -p $1$2 $1/proc $1/dev $1/tmp $1/jffs && \
+-	mount -o move /proc $1/proc && \
+-	pivot_root $1 $1$2 || {
+-        umount $1 $1
+-		return 1
+-	}
+-	mount -o move $2/dev /dev
+-	mount -o move $2/tmp /tmp
+-	mount -o move $2/jffs /jffs 2>&-
+-	return 0
+-}
+-
+-run_ramfs() { # <command> [...]
+-	install_bin /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount /sbin/pivot_root /usr/bin/wget /sbin/reboot /bin/sync /bin/dd /bin/grep /bin/cp /bin/mv /bin/tar /usr/bin/md5sum "/usr/bin/[" /bin/vi /bin/ls /bin/cat
+-	install_bin /sbin/mtd
+-	for file in $RAMFS_COPY_BIN; do
+-		install_bin $file
+-	done
+-	install_file /etc/resolv.conf /etc/functions.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA
+-
+-	pivot $RAM_ROOT /mnt || {
+-		echo "Failed to switch over to ramfs. Please reboot."
+-		exit 1
+-	}
+-
+-	mount -o remount,ro /mnt
+-	umount -l /mnt
+-
+-	grep /jffs /proc/mounts > /dev/null && {
+-		mount -o remount,ro /jffs
+-		umount -l /jffs
+-	}
+-
+-	# spawn a new shell from ramdisk to reduce the probability of cache issues
+-	exec /bin/busybox ash -c "$*"
+-}
+-
+-run_hooks() {
+-	local arg="$1"; shift
+-	for func in "$@"; do
+-		eval "$func $arg"
+-	done
+-}
+-
+-ask_bool() {
+-	local default="$1"; shift;
+-	local answer="$default"
+-
+-	[ "$INTERACTIVE" -eq 1 ] && {
+-		case "$default" in
+-			0) echo -n "$* (y/N): ";;
+-			*) echo -n "$* (Y/n): ";;
+-		esac
+-		read answer
+-		case "$answer" in
+-			y*) answer=1;;
+-			n*) answer=0;;
+-			*) answer="$default";;
+-		esac
+-	}
+-	[ "$answer" -gt 0 ]
+-}
+-
+-v() {
+-	[ "$VERBOSE" -ge 1 ] && echo "$@"
+-}
+-
+-rootfs_type() {
+-	mount | awk '($3 ~ /^\/$/) && ($5 !~ /rootfs/) { print $5 }'
+-}
+-
+-get_image() {
+-	local from="$1"
+-
+-	case "$from" in
+-		http://*|ftp://*) wget -O- -q "$from";;
+-		*) cat "$from"
+-	esac
+-}
+-
+-get_magic_word() {
+-	get_image "$1" | dd bs=2 count=1 2>/dev/null | hexdump | awk '$2 { print $2 }'
+-}
+-
+-refresh_mtd_partitions() {
+-	mtd refresh rootfs
+-}
+-
+-jffs2_copy_config() {
+-	if grep rootfs_data /proc/mtd >/dev/null; then
+-		# squashfs+jffs2
+-		mtd -e rootfs_data jffs2write "$CONF_TAR" rootfs_data
+-	else
+-		# jffs2
+-		mtd jffs2write "$CONF_TAR" rootfs
+-	fi
+-}
+-
+-do_upgrade() {
+-	v "Performing system upgrade..."
+-	platform_do_upgrade "$ARGV"
+-	
+-	[ "$SAVE_CONFIG" -eq 1 ] && {
+-		v "Refreshing partitions"
+-		if type 'platform_refresh_partitions' >/dev/null 2>/dev/null; then
+-			platform_refresh_partitions
+-		else
+-			refresh_mtd_partitions
+-		fi
+-		if type 'platform_copy_config' >/dev/null 2>/dev/null; then
+-			platform_copy_config
+-		else
+-			jffs2_copy_config
+-		fi
+-	}
+-	ask_bool 1 "Reboot" && reboot
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/rom/note x86-uclibc-torvm/package/base-files/files/rom/note
+--- x86-uclibc-orig/package/base-files/files/rom/note	2005-07-17 22:52:59.000000000 +0000
++++ x86-uclibc-torvm/package/base-files/files/rom/note	1970-01-01 00:00:00.000000000 +0000
+@@ -1,3 +0,0 @@
+-SQUASHFS USERS:
+-After firstboot has been run, / will be jffs2 and /rom will be squashfs
+-(* except when in failsafe)
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/hotplug-call x86-uclibc-torvm/package/base-files/files/sbin/hotplug-call
+--- x86-uclibc-orig/package/base-files/files/sbin/hotplug-call	2007-06-15 16:07:09.574671000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/hotplug-call	1970-01-01 00:00:00.000000000 +0000
+@@ -1,28 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-export HOTPLUG_TYPE="$1"
+-
+-# bypass the normal hotplug path for firmware loading
+-# would otherwise cause problems with drivers like bcm43xx
+-[ "firmware" = "$HOTPLUG_TYPE" -a "add" = "$ACTION" ] && {
+-	[ -f "/lib/firmware/$FIRMWARE" ] && {
+-		echo 1 > "/sys$DEVPATH/loading"
+-		cp "/lib/firmware/$FIRMWARE" "/sys$DEVPATH/data"
+-		echo 0 > "/sys$DEVPATH/loading"
+-	}
+-	exit 0
+-}
+-
+-. /etc/functions.sh
+-
+-PATH=/bin:/sbin:/usr/bin:/usr/sbin
+-LOGNAME=root
+-USER=root
+-export PATH LOGNAME USER
+-
+-[ \! -z "$1" -a -d /etc/hotplug.d/$1 ] && {
+-	for script in $(ls /etc/hotplug.d/$1/* 2>&-); do (
+-		[ -f $script ] && . $script
+-	); done
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/ifdown x86-uclibc-torvm/package/base-files/files/sbin/ifdown
+--- x86-uclibc-orig/package/base-files/files/sbin/ifdown	2008-02-03 06:48:15.292457000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/ifdown	1970-01-01 00:00:00.000000000 +0000
+@@ -1,66 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-. /etc/functions.sh
+-[ $# = 0 ] && { echo "  $0 <group>"; exit; }
+-[ "x$1" = "x-a" ] && {
+-	config_cb() {
+-		[ interface != "$1" -o -z "$2" ] || eval "$0 $2"
+-	}
+-	config_load network
+-	exit
+-}
+-
+-# remove the interface's network state
+-uci_revert_state network "$1"
+-
+-include /lib/network
+-scan_interfaces
+-
+-cfg=$1
+-debug "### ifdown $cfg ###"
+-
+-config_get proto "$cfg" proto
+-[ -z "$proto" ] && { echo "interface not found."; exit; }
+-
+-config_get iface "$cfg" device
+-[ "static" = "$proto" ] && {
+-	env -i ACTION="ifdown" INTERFACE="$cfg" DEVICE="$iface" PROTO=static /sbin/hotplug-call "iface" &
+-}
+-
+-# call interface stop handler
+-( type "stop_interface_$proto" ) >/dev/null 2>/dev/null && eval "stop_interface_$proto '$cfg'"
+-
+-# make sure all locks are removed
+-for lock in "/var/lock/dhcp-$iface" "/var/lock/ppp-$iface"; do
+-	[ -f "$lock" ] && {
+-		lock -u "$lock"
+-		sleep 1
+-	}
+-done
+-
+-# kill active ppp daemon and other processes
+-config_get ifname "$cfg" ifname
+-pids="$(head -n1 -q /var/run/${ifname}.pid /var/run/ppp-${cfg}.pid 2>/dev/null)"
+-for pid in $pids; do 
+-	[ -d "/proc/$pid" ] && {
+-		kill $pid
+-		[ -d "/proc/$pid" ] && {
+-			sleep 1
+-			kill -9 $pid 2>/dev/null >/dev/null
+-		}
+-	}
+-done
+-rm -f /var/run/${ifname}.pid /var/run/ppp-${cfg}.pid
+-
+-config_get ifname "$cfg" ifname
+-config_get device "$cfg" device
+-
+-[ ."$device" != ."$ifname" ] || device=
+-for dev in $ifname $device; do
+-	ifconfig "$dev" 0.0.0.0 down >/dev/null 2>/dev/null
+-done
+-
+-config_get iftype "$cfg" type
+-[ "bridge" = "$iftype" ] && brctl delbr "$ifname" >/dev/null 2>/dev/null
+-
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/ifup x86-uclibc-torvm/package/base-files/files/sbin/ifup
+--- x86-uclibc-orig/package/base-files/files/sbin/ifup	2006-10-24 23:59:08.851426000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/ifup	1970-01-01 00:00:00.000000000 +0000
+@@ -1,11 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-. /sbin/ifdown "$@"
+-
+-config_get iftype "$1" type
+-config_get ifname "$1" device
+-
+-for dev in $ifname; do
+-	setup_interface "$dev" "$1"
+-done
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/mount_root x86-uclibc-torvm/package/base-files/files/sbin/mount_root
+--- x86-uclibc-orig/package/base-files/files/sbin/mount_root	2007-05-31 12:09:08.638373000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/mount_root	1970-01-01 00:00:00.000000000 +0000
+@@ -1,25 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-. /etc/functions.sh
+-
+-jffs2_ready () {
+-	mtdpart="$(find_mtd_part rootfs_data)"
+-	magic=$(hexdump $mtdpart -n 4 -e '4/1 "%02x"')
+-	[ "$magic" != "deadc0de" ]
+-}
+-
+-grep rootfs_data /proc/mtd >/dev/null 2>/dev/null && {
+-	. /bin/firstboot
+-	mtd unlock rootfs_data
+-	jffs2_ready && {
+-		echo "switching to jffs2"
+-		mount "$(find_mtd_part rootfs_data)" /jffs -t jffs2 && \
+-			fopivot /jffs /rom
+-	} || {
+-		echo "jffs2 not ready yet; using ramdisk"
+-		ramoverlay
+-	}
+-} || {
+-	mtd unlock rootfs
+-	mount -o remount,rw /dev/root /
+-}
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/sysupgrade x86-uclibc-torvm/package/base-files/files/sbin/sysupgrade
+--- x86-uclibc-orig/package/base-files/files/sbin/sysupgrade	2007-08-21 18:23:57.703561000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/sysupgrade	1970-01-01 00:00:00.000000000 +0000
+@@ -1,92 +0,0 @@
+-#!/bin/sh
+-. /etc/functions.sh
+-
+-# initialize defaults
+-RAMFS_COPY_BIN=""	# extra programs for temporary ramfs root
+-RAMFS_COPY_DATA=""	# extra data files
+-export INTERACTIVE=0
+-export VERBOSE=1
+-export SAVE_CONFIG=1
+-
+-# parse options
+-while [ -n "$1" ]; do 
+-	case "$1" in
+-		-i) export INTERACTIVE=1;;
+-		-v) export VERBOSE="$(($VERBOSE + 1))";;
+-		-q) export VERBOSE="$(($VERBOSE - 1))";;
+-		-*)
+-			echo "Invalid option: $1"
+-			exit 1
+-		;;
+-		*) break;;
+-	esac
+-	shift;
+-done
+-
+-export CONFFILES=/tmp/sysupgrade.conffiles
+-export CONF_TAR=/tmp/sysupgrade.tgz
+-
+-export ARGV="$*"
+-export ARGC="$#"
+-
+-[ -z "$ARGV" ] && {
+-	cat <<EOF
+-Usage: $0 [options] <image file or URL>
+-
+-Options:
+-	-i	interactive mode
+-	-v	more verbose
+-	-q	less verbose
+-
+-EOF
+-	exit 1
+-}
+-
+-add_uci_conffiles() {
+-	local file="$1"
+-	find /etc/config > "$file"
+-	return 0
+-}
+-
+-# hooks
+-sysupgrade_image_check="platform_check_image"
+-sysupgrade_init_conffiles="add_uci_conffiles"
+-
+-include /lib/upgrade
+-
+-do_save_conffiles() {
+-	[ -z "$(rootfs_type)" ] && {
+-		echo "Cannot save config while running from ramdisk."
+-		ask_bool 0 "Abort" && exit
+-		return 0
+-	}
+-	run_hooks "$CONFFILES" $sysupgrade_init_conffiles
+-	ask_bool 0 "Edit config file list" && vi "$CONFFILES"
+-
+-	v "Saving config files..."
+-	[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
+-	tar c${TAR_V}zf "$CONF_TAR" -T "$CONFFILES" 2>/dev/null
+-}
+-
+-type platform_check_image >/dev/null 2>/dev/null || {
+-	echo "Firmware upgrade is not implemented for this platform."
+-	exit 1
+-}
+-
+-for check in $sysupgrade_image_check; do
+-	( eval "$check \"\$ARGV\"" ) || {
+-		echo "Image check '$check' failed."
+-		exit 1
+-	}
+-done
+-
+-if ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
+-	do_save_conffiles
+-	export SAVE_CONFIG=1
+-else
+-	export SAVE_CONFIG=0
+-fi
+-run_hooks "" $sysupgrade_pre_upgrade
+-
+-v "Switching to ramdisk..."
+-run_ramfs '. /etc/functions.sh; include /lib/upgrade; do_upgrade'
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/usb-storage x86-uclibc-torvm/package/base-files/files/sbin/usb-storage
+--- x86-uclibc-orig/package/base-files/files/sbin/usb-storage	2007-11-04 15:12:08.860897000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/usb-storage	1970-01-01 00:00:00.000000000 +0000
+@@ -1,28 +0,0 @@
+-#!/bin/sh
+-
+-# Copyright (C) 2007 OpenWrt.org
+-
+-logger "usb device is mass storage"
+-i=0
+-while [ $i -le 10 ]; do
+-	logger "waiting on usb drive $i ..."
+-	i=$(($i+1))
+-	cd /sys${DEVPATH}
+-	for blk in `find host* -type d 2>/dev/null`; do
+-		cd /sys/${DEVPATH}/${blk}
+-		BLK=$(find block* -type l 2>/dev/null)
+-		[ -n "${BLK}" ] && {
+-			cd /sys${DEVPATH}/${blk}/${BLK}
+-			ls /dev/ > /tmp/d
+-			sleep 2
+-			for node in `find sd* -type d 2>/dev/null| grep -v "/"`; do
+-				echo "mounting /dev/${node} on /mnt/usbdrive"
+-				mkdir -p /mnt/usbdrive
+-				mount /dev/${node} /mnt/usbdrive
+-				exit 0
+-			done
+-		}
+-	done
+-	sleep 1
+-done
+-
+diff -Naur x86-uclibc-orig/package/base-files/files/sbin/wifi x86-uclibc-torvm/package/base-files/files/sbin/wifi
+--- x86-uclibc-orig/package/base-files/files/sbin/wifi	2008-02-03 06:48:15.292457000 +0000
++++ x86-uclibc-torvm/package/base-files/files/sbin/wifi	1970-01-01 00:00:00.000000000 +0000
+@@ -1,121 +0,0 @@
+-#!/bin/sh
+-# Copyright (C) 2006 OpenWrt.org
+-
+-. /etc/functions.sh
+-
+-find_net_config() {(
+-	local vif="$1"
+-	local cfg
+-	local ifname
+-
+-	config_get cfg "$vif" network
+-
+-	[ -z "$cfg" ] && {
+-		include /lib/network
+-		scan_interfaces
+-
+-		config_get ifname "$vif" ifname
+-
+-		cfg="$(find_config "$ifname")"
+-	}
+-	[ -z "$cfg" ] && return 0
+-	echo "$cfg"
+-)}
+-
+-
+-bridge_interface() {(
+-	local cfg="$1"
+-	[ -z "$cfg" ] && return 0
+-
+-	include /lib/network
+-	scan_interfaces
+-
+-	config_get iftype "$cfg" type
+-	[ "$iftype" = bridge ] && config_get "$cfg" ifname
+-)}
+-
+-
+-wifi_updown() {
+-	[ enable = "$1" ] && wifi_updown disable "$2"
+-	for device in ${2:-$DEVICES}; do (
+-		config_get disabled "$device" disabled
+-		[ 1 == "$disabled" ] && {
+-			echo "'$device' is disabled"
+-			set disable
+-		}
+-		config_get iftype "$device" type
+-		if eval "type ${1}_$iftype" 2>/dev/null >/dev/null; then
+-			eval "scan_$iftype '$device'"
+-			eval "${1}_$iftype '$device'" || echo "$device($iftype): ${1} failed"
+-		else
+-			echo "$device($iftype): Interface type not supported"
+-		fi
+-	); done
+-}
+-
+-wifi_detect() {
+-	for driver in ${2:-$DRIVERS}; do (
+-		if eval "type detect_$driver" 2>/dev/null >/dev/null; then
+-			eval "detect_$driver" || echo "$driver: Detect failed" >&2
+-		else
+-			echo "$driver: Hardware detection not supported" >&2
+-		fi
+-	); done
+-}
+-
+-start_net() {(
+-	local iface="$1"
+-	local config="$2"
+-
+-	include /lib/network
+-	scan_interfaces
+-	setup_interface "$1" "$2"
+-)}
+-
+-set_wifi_up() {
+-	local cfg="$1"
+-	local ifname="$2"
+-	uci_set_state wireless "$cfg" up 1
+-	uci_set_state wireless "$cfg" ifname "$ifname"
+-}
+-
+-set_wifi_down() {
+-	local cfg="$1"
+-	local vifs vif vifstr
+-
+-	uci_revert_state wireless "$cfg"
+-	config_get vifs "$cfg" vifs
+-	for vif in $vifs; do
+-		uci_revert_state wireless "$vif"
+-	done
+-}
+-
+-scan_wifi() {
+-	local cfgfile="$1"
+-	config_cb() {
+-		config_get TYPE "$CONFIG_SECTION" TYPE
+-		case "$TYPE" in
+-			wifi-device)
+-				append DEVICES "$CONFIG_SECTION"
+-			;;
+-			wifi-iface)
+-				config_get device "$CONFIG_SECTION" device
+-				config_get vifs "$device" vifs 
+-				append vifs "$CONFIG_SECTION"
+-				config_set "$device" vifs "$vifs"
+-			;;
+-		esac
+-	}
+-	config_load "${cfgfile:-wireless}"
+-}
+-
+-DEVICES=
+-DRIVERS=
+-include /lib/wifi
+-scan_wifi
+-
+-case "$1" in
+-	down) wifi_updown "disable" "$2";;
+-	detect) wifi_detect "$2";;
+-	*) wifi_updown "enable" "$2";;
+-esac
+diff -Naur x86-uclibc-orig/package/base-files/files/usr/share/udhcpc/default.script x86-uclibc-torvm/package/base-files/files/usr/share/udhcpc/default.script
+--- x86-uclibc-orig/package/base-files/files/usr/share/udhcpc/default.script	2008-02-03 06:48:15.292457000 +0000
++++ x86-uclibc-torvm/package/base-files/files/usr/share/udhcpc/default.script	2008-07-09 02:23:09.000000000 +0000
+@@ -1,33 +1,11 @@
+ #!/bin/sh
+ [ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
+-. /etc/functions.sh
+-include /lib/network
+ 
+ RESOLV_CONF="/tmp/resolv.conf.auto"
+ 
+-hotplug_event() {
+-	scan_interfaces
+-	for ifc in $interfaces; do
+-		config_get ifname $ifc ifname
+-		[ "$ifname" = "$interface" ] || continue
+-
+-		config_get proto $ifc proto
+-		[ "$proto" = "dhcp" ] || continue
+-		[ ifup = "$1" ] && {
+-			uci_set_state network "$ifc" ipaddr "$ip"
+-			uci_set_state network "$ifc" netmask "${subnet:-255.255.255.0}"
+-			uci_set_state network "$ifc" dnsdomain "$domain"
+-			uci_set_state network "$ifc" dns "$dns"
+-			uci_set_state network "$ifc" gateway "$router"
+-		}
+-		env -i ACTION="$1" INTERFACE="$ifc" DEVICE="$ifname" PROTO=dhcp /sbin/hotplug-call iface
+-	done
+-}
+-
+ case "$1" in
+ 	deconfig)
+ 		ifconfig $interface 0.0.0.0
+-		hotplug_event ifdown
+ 	;;
+ 	renew|bound)
+ 		ifconfig $interface $ip \
+@@ -56,8 +34,6 @@
+ 			mv "${RESOLV_CONF}.tmp" "$RESOLV_CONF"
+ 		}
+ 		
+-		hotplug_event ifup
+-		
+ 		# user rules
+ 		[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
+ 	;;

Added: torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	                        (rev 0)
+++ torvm/trunk/build/kamikaze/patches/003-kamikaze-kernel-config.patch	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,736 @@
+diff -Naur kamikaze-orig/target/linux/x86/Makefile kamikaze-mod/target/linux/x86/Makefile
+--- kamikaze-orig/target/linux/x86/Makefile	2008-07-05 16:52:15.517231000 +0000
++++ kamikaze-mod/target/linux/x86/Makefile	2008-07-15 20:17:20.367431436 +0000
+@@ -9,13 +9,14 @@
+ ARCH=i386
+ BOARD:=x86
+ BOARDNAME:=x86
+-FEATURES:=squashfs jffs2 ext2 vdi
++FEATURES:=ext2
+ SUBTARGETS=generic
+ 
+-LINUX_VERSION:=2.6.25.10
++#LINUX_VERSION:=2.6.25.10
++LINUX_VERSION:=2.6.26
+ 
+ include $(INCLUDE_DIR)/target.mk
+-DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci
++DEFAULT_PACKAGES += 
+ 
+ $(eval $(call BuildTarget))
+ 
+diff -Naur kamikaze-orig/target/linux/x86/config-2.6.26 kamikaze-mod/target/linux/x86/config-2.6.26
+--- kamikaze-orig/target/linux/x86/config-2.6.26	1970-01-01 00:00:00.000000000 +0000
++++ kamikaze-mod/target/linux/x86/config-2.6.26	2008-07-15 20:17:43.454095858 +0000
+@@ -0,0 +1,711 @@
++CONFIG_LOCALVERSION="-torvm"
++CONFIG_LOG_BUF_SHIFT=17
++# CONFIG_3C515 is not set
++# CONFIG_60XX_WDT is not set
++# CONFIG_64BIT is not set
++# CONFIG_8139_OLD_RX_RESET is not set
++# CONFIG_AC3200 is not set
++CONFIG_AC97_BUS=m
++# CONFIG_ACQUIRE_WDT is not set
++# CONFIG_ADVANTECH_WDT is not set
++# CONFIG_AGP is not set
++# CONFIG_AIRO_CS is not set
++# CONFIG_ALIM1535_WDT is not set
++# CONFIG_ALIM7101_WDT is not set
++# CONFIG_APRICOT is not set
++CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
++CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
++CONFIG_ARCH_HAS_CPU_RELAX=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++# CONFIG_ARCH_HIBERNATION_POSSIBLE is not set
++CONFIG_ARCH_MAY_HAVE_PC_FDC=y
++CONFIG_ARCH_POPULATES_NODE_MAP=y
++CONFIG_ARCH_SELECT_MEMORY_MODEL=y
++CONFIG_ARCH_SPARSEMEM_ENABLE=y
++CONFIG_ARCH_SUPPORTS_AOUT=y
++# CONFIG_ARCH_SUSPEND_POSSIBLE is not set
++# CONFIG_AT1700 is not set
++# CONFIG_AUDIT_ARCH is not set
++CONFIG_BASE_SMALL=0
++# CONFIG_BINFMT_AOUT is not set
++CONFIG_BITREVERSE=y
++# CONFIG_BLK_DEV_4DRIVES is not set
++# CONFIG_BLK_DEV_ALI14XX is not set
++# CONFIG_BLK_DEV_DTC2278 is not set
++CONFIG_BLK_DEV_GENERIC=y
++# CONFIG_BLK_DEV_HT6560B is not set
++CONFIG_BLK_DEV_IDE=y
++CONFIG_BLK_DEV_IDEDISK=y
++CONFIG_BLK_DEV_IDEDMA=y
++CONFIG_BLK_DEV_IDEDMA_SFF=y
++CONFIG_BLK_DEV_IDEPCI=y
++# CONFIG_BLK_DEV_QD65XX is not set
++# CONFIG_BLK_DEV_UMC8672 is not set
++# CONFIG_BLK_DEV_XD is not set
++CONFIG_BOUNCE=y
++CONFIG_CLASSIC_RCU=y
++CONFIG_CLOCKSOURCE_WATCHDOG=y
++CONFIG_COMPAT_VDSO=y
++# CONFIG_CPU5_WDT is not set
++# CONFIG_CPU_IDLE is not set
++# CONFIG_CS5535_GPIO is not set
++# CONFIG_CS89x0 is not set
++# CONFIG_DCDBAS is not set
++# CONFIG_DEBUG_BUGVERBOSE is not set
++CONFIG_DEFAULT_IO_DELAY_TYPE=0
++# CONFIG_DELL_RBU is not set
++# CONFIG_DEPCA is not set
++CONFIG_DEVPORT=y
++# CONFIG_DMADEVICES is not set
++CONFIG_DMI=y
++# CONFIG_DMIID is not set
++CONFIG_DNOTIFY=y
++CONFIG_DOUBLEFAULT=y
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_EARLY_PRINTK=y
++# CONFIG_EDAC is not set
++# CONFIG_EDD is not set
++# CONFIG_EISA is not set
++# CONFIG_EL1 is not set
++# CONFIG_EL16 is not set
++# CONFIG_EL2 is not set
++# CONFIG_EL3 is not set
++CONFIG_ELF_CORE=y
++# CONFIG_ELPLUS is not set
++# CONFIG_EMBEDDED is not set
++# CONFIG_EUROTECH_WDT is not set
++CONFIG_EXT2_FS=y
++CONFIG_FAST_CMPXCHG_LOCAL=y
++CONFIG_FIX_EARLYCON_MEM=y
++CONFIG_GENERIC_BUG=y
++CONFIG_GENERIC_CLOCKEVENTS=y
++CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_GENERIC_CMOS_UPDATE=y
++# CONFIG_GENERIC_CPU is not set
++# CONFIG_GENERIC_GPIO is not set
++CONFIG_GENERIC_IOMAP=y
++CONFIG_GENERIC_ISA_DMA=y
++# CONFIG_GENERIC_LOCKBREAK is not set
++# CONFIG_GENERIC_TIME_VSYSCALL is not set
++# CONFIG_HANGCHECK_TIMER is not set
++CONFIG_HAS_DMA=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
++CONFIG_HAVE_IDE=y
++# CONFIG_HAVE_KPROBES is not set
++# CONFIG_HAVE_KRETPROBES is not set
++# CONFIG_HAVE_KVM is not set
++# CONFIG_HAVE_LATENCYTOP_SUPPORT is not set
++# CONFIG_HAVE_OPROFILE is not set
++# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
++CONFIG_HID=y
++CONFIG_HID_SUPPORT=y
++# CONFIG_HIGHMEM4G is not set
++# CONFIG_HIGHMEM64G is not set
++# CONFIG_HIGH_RES_TIMERS is not set
++# CONFIG_HPET_TIMER is not set
++# CONFIG_HP_WATCHDOG is not set
++CONFIG_HT_IRQ=y
++# CONFIG_HUGETLBFS is not set
++CONFIG_HW_CONSOLE=y
++# CONFIG_I6300ESB_WDT is not set
++# CONFIG_I82365 is not set
++# CONFIG_I8K is not set
++# CONFIG_IB700_WDT is not set
++# CONFIG_IBMASR is not set
++# CONFIG_IBM_ASM is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++CONFIG_IDE=y
++CONFIG_IDEPCI_PCIBUS_ORDER=y
++CONFIG_IDE_ARCH_OBSOLETE_INIT=y
++CONFIG_IDE_GENERIC=y
++# CONFIG_IDE_PROC_FS is not set
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_INPUT=y
++CONFIG_INPUT_APANEL=n
++# CONFIG_INPUT_EVDEV is not set
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_INPUT_MOUSE is not set
++# CONFIG_IOMMU_HELPER is not set
++CONFIG_IO_DELAY_0X80=y
++# CONFIG_IO_DELAY_0XED is not set
++# CONFIG_IO_DELAY_NONE is not set
++CONFIG_IO_DELAY_TYPE_0X80=0
++CONFIG_IO_DELAY_TYPE_0XED=1
++CONFIG_IO_DELAY_TYPE_NONE=3
++CONFIG_IO_DELAY_TYPE_UDELAY=2
++# CONFIG_IO_DELAY_UDELAY is not set
++# CONFIG_IPWIRELESS is not set
++CONFIG_IRQBALANCE=y
++CONFIG_ISA=y
++CONFIG_ISAPNP=y
++CONFIG_ISA_DMA_API=y
++# CONFIG_IT8712F_WDT is not set
++# CONFIG_ITCO_WDT is not set
++CONFIG_KALLSYMS=y
++CONFIG_KEYBOARD_ATKBD=y
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KPROBES is not set
++CONFIG_KTIME_SCALAR=y
++# CONFIG_LANCE is not set
++# CONFIG_LATENCYTOP is not set
++# CONFIG_LEDS_ALIX is not set
++# CONFIG_LEDS_CLEVO_MAIL is not set
++# CONFIG_LEDS_NET48XX is not set
++# CONFIG_LEDS_WRAP is not set
++# CONFIG_M486 is not set
++# CONFIG_M686 is not set
++# CONFIG_MACHZ_WDT is not set
++# CONFIG_MACINTOSH_DRIVERS is not set
++CONFIG_MATH_EMULATION=y
++# CONFIG_MCA is not set
++# CONFIG_MCORE2 is not set
++# CONFIG_MCRUSOE is not set
++# CONFIG_MCYRIXIII is not set
++# CONFIG_MDA_CONSOLE is not set
++# CONFIG_MEFFICEON is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_MGEODEGX1 is not set
++# CONFIG_MGEODE_LX is not set
++# CONFIG_MICROCODE is not set
++# CONFIG_MIXCOMWD is not set
++# CONFIG_MK6 is not set
++# CONFIG_MK7 is not set
++# CONFIG_MK8 is not set
++# CONFIG_MOUSE_PS2 is not set
++# CONFIG_MOUSE_PS2_ALPS=y
++# CONFIG_MOUSE_PS2_LIFEBOOK is not set
++# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
++# CONFIG_MOUSE_PS2_SYNAPTICS is not set
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
++# CONFIG_MOUSE_PS2_TRACKPOINT is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MPENTIUM4 is not set
++# CONFIG_MPENTIUMII is not set
++# CONFIG_MPENTIUMIII is not set
++# CONFIG_MPENTIUMM is not set
++# CONFIG_MPSC is not set
++CONFIG_MTRR=y
++# CONFIG_MVIAC3_2 is not set
++# CONFIG_MVIAC7 is not set
++# CONFIG_MWINCHIP2 is not set
++# CONFIG_MWINCHIP3D is not set
++# CONFIG_MWINCHIPC6 is not set
++CONFIG_NAMESPACES=y
++# CONFIG_NET_VENDOR_RACAL is not set
++# CONFIG_NET_VENDOR_SMC is not set
++CONFIG_NOHIGHMEM=y
++# CONFIG_NR_CPUS is not set
++CONFIG_NVRAM=y
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PARAVIRT_GUEST is not set
++# CONFIG_PATA_CS5536 is not set
++# CONFIG_PC87413_WDT is not set
++CONFIG_PCI=y
++# CONFIG_PCIEPORTBUS is not set
++# CONFIG_PCIPCWATCHDOG is not set
++CONFIG_PCI_BIOS=y
++CONFIG_PCI_DIRECT=y
++CONFIG_PCI_DOMAINS=y
++CONFIG_PCI_GOANY=y
++# CONFIG_PCI_GOBIOS is not set
++# CONFIG_PCI_GODIRECT is not set
++# CONFIG_PCI_GOMMCONFIG is not set
++# CONFIG_PCMCIA is not set
++# CONFIG_PCWATCHDOG is not set
++CONFIG_PHYSICAL_ALIGN=0x100000
++CONFIG_PHYSICAL_START=0x100000
++CONFIG_PNP=y
++# CONFIG_PNPACPI is not set
++# CONFIG_PNPBIOS is not set
++# CONFIG_PNP_DEBUG is not set
++CONFIG_PROC_PAGE_MONITOR=y
++# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
++# CONFIG_R6040 is not set
++# CONFIG_RELOCATABLE is not set
++CONFIG_RTC=y
++# CONFIG_SBC7240_WDT is not set
++# CONFIG_SBC8360_WDT is not set
++# CONFIG_SBC_EPX_C3_WATCHDOG is not set
++# CONFIG_SC1200_WDT is not set
++# CONFIG_SC520_WDT is not set
++# CONFIG_SCC is not set
++# CONFIG_SCHED_HRTICK is not set
++CONFIG_SCHED_MC=y
++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
++# CONFIG_SCHED_SMT is not set
++# CONFIG_SEMAPHORE_SLEEPERS is not set
++# CONFIG_SENSORS_FSCHMD is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SERIAL_8250_CS is not set
++# CONFIG_SERIAL_8250_EXTENDED is not set
++# CONFIG_SERIAL_8250_PCI is not set
++# CONFIG_SERIAL_8250_PNP is not set
++# CONFIG_SERIO is not set
++CONFIG_SLABINFO=y
++# CONFIG_SMP is not set
++# CONFIG_SMSC37B787_WDT is not set
++# CONFIG_SONYPI is not set
++CONFIG_SPARSEMEM_STATIC=y
++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SSB_POSSIBLE=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_TCIC is not set
++# CONFIG_TELCLOCK is not set
++# CONFIG_THERMAL is not set
++# CONFIG_TOSHIBA is not set
++# CONFIG_TYPHOON is not set
++CONFIG_UID16=y
++# CONFIG_USB is not set
++# CONFIG_USBPCWATCHDOG is not set
++# CONFIG_USB_EHCI_HCD is not set
++# CONFIG_USB_NET_DM9601 is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
++# CONFIG_USB_OHCI_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_SERIAL_OTI6858 is not set
++# CONFIG_USB_UHCI_HCD is not set
++# CONFIG_USER_NS is not set
++# CONFIG_VGACON_SOFT_SCROLLBACK is not set
++# CONFIG_VGASTATE is not set
++CONFIG_VGA_CONSOLE=y
++# CONFIG_VIA_RHINE is not set
++# CONFIG_VIA_RHINE_MMIO is not set
++# CONFIG_VIA_RHINE_NAPI is not set
++# CONFIG_VIDEO_SELECT is not set
++# CONFIG_VIDEO_V4L2_COMMON is not set
++# CONFIG_VIRTUALIZATION is not set
++CONFIG_VM86=y
++CONFIG_VM_EVENT_COUNTERS=y
++# CONFIG_VORTEX is not set
++CONFIG_VT=y
++CONFIG_VT_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++# CONFIG_WAFER_WDT is not set
++# CONFIG_WDT is not set
++CONFIG_X86=y
++CONFIG_X86_32=y
++# CONFIG_X86_64 is not set
++# CONFIG_X86_BIGSMP is not set
++CONFIG_X86_BIOS_REBOOT=y
++# CONFIG_X86_CPUFREQ_NFORCE2 is not set
++# CONFIG_X86_CPUID is not set
++# CONFIG_X86_ELAN is not set
++# CONFIG_X86_ES7000 is not set
++# CONFIG_X86_E_POWERSAVER is not set
++CONFIG_X86_F00F_BUG=y
++CONFIG_X86_GENERIC=y
++# CONFIG_X86_GENERICARCH is not set
++# CONFIG_X86_GX_SUSPMOD is not set
++CONFIG_X86_INTEL_USERCOPY=y
++CONFIG_X86_IO_APIC=y
++CONFIG_X86_L1_CACHE_SHIFT=7
++CONFIG_X86_LOCAL_APIC=y
++# CONFIG_X86_LONGRUN is not set
++# CONFIG_X86_MCE is not set
++# CONFIG_X86_MCE_NONFATAL is not set
++# CONFIG_X86_MCE_P4THERMAL is not set
++CONFIG_X86_MPPARSE=y
++# CONFIG_X86_MSR is not set
++# CONFIG_X86_NUMAQ is not set
++# CONFIG_X86_P4_CLOCKMOD is not set
++# CONFIG_X86_PAE is not set
++CONFIG_X86_PC=y
++CONFIG_M586=y
++# CONFIG_X86_POWERNOW_K6 is not set
++# CONFIG_X86_POWERNOW_K7 is not set
++# CONFIG_X86_POWERNOW_K8 is not set
++# CONFIG_X86_RDC321X is not set
++# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
++# CONFIG_X86_SPEEDSTEP_ICH is not set
++# CONFIG_X86_SPEEDSTEP_LIB is not set
++# CONFIG_X86_SPEEDSTEP_SMI is not set
++# CONFIG_X86_SUMMIT is not set
++# CONFIG_X86_VISWS is not set
++# CONFIG_X86_VOYAGER is not set
++# CONFIG_X86_VSMP is not set
++# CONFIG_ZONE_DMA32 is not setQ
++CONFIG_RWSEM_XCHGADD_ALGORITHM=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_TICK_ONESHOT=y
++CONFIG_NO_HZ=y
++CONFIG_M586=y
++CONFIG_X86_CMPXCHG=y
++CONFIG_X86_XADD=y
++CONFIG_X86_WP_WORKS_OK=y
++CONFIG_X86_INVLPG=y
++CONFIG_X86_BSWAP=y
++CONFIG_X86_POPAD_OK=y
++CONFIG_X86_ALIGNMENT_16=y
++CONFIG_X86_REBOOTFIXUPS=y
++CONFIG_NET_IPIP=y
++CONFIG_BRIDGE_NETFILTER=y
++CONFIG_NF_CONNTRACK_FTP=y
++CONFIG_NF_CONNTRACK_H323=y
++CONFIG_NF_CONNTRACK_IRC=y
++CONFIG_NF_CONNTRACK_SIP=y
++CONFIG_NF_CONNTRACK_TFTP=y
++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
++CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
++CONFIG_NETFILTER_XT_TARGET_MARK=y
++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
++CONFIG_NETFILTER_XT_TARGET_NFLOG=y
++CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y
++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
++CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
++CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
++CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
++CONFIG_NETFILTER_XT_MATCH_LENGTH=y
++CONFIG_NETFILTER_XT_MATCH_MAC=y
++CONFIG_NETFILTER_XT_MATCH_MARK=y
++CONFIG_NETFILTER_XT_MATCH_OWNER=y
++CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
++CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
++CONFIG_NETFILTER_XT_MATCH_LAYER7=y
++CONFIG_NETFILTER_XT_MATCH_STRING=y
++CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
++CONFIG_NETFILTER_XT_MATCH_U32=y
++CONFIG_IP_NF_MATCH_ADDRTYPE=y
++CONFIG_IP_NF_TARGET_LOG=y
++CONFIG_IP_NF_TARGET_REDIRECT=y
++CONFIG_IP_NF_TARGET_NETMAP=y
++CONFIG_NF_NAT_FTP=y
++CONFIG_NF_NAT_IRC=y
++CONFIG_NF_NAT_TFTP=y
++CONFIG_NF_NAT_H323=y
++CONFIG_NF_NAT_SIP=y
++CONFIG_IP_NF_ARPTABLES=y
++CONFIG_IP_NF_ARPFILTER=y
++CONFIG_IP_NF_ARP_MANGLE=y
++CONFIG_IP_NF_SET=y
++CONFIG_IP_NF_SET_IPMAP=y
++CONFIG_IP_NF_SET_MACIPMAP=y
++CONFIG_IP_NF_SET_PORTMAP=y
++CONFIG_IP_NF_SET_IPHASH=y
++CONFIG_IP_NF_SET_NETHASH=y
++CONFIG_IP_NF_SET_IPPORTHASH=y
++CONFIG_IP_NF_SET_IPTREE=y
++CONFIG_IP_NF_SET_IPTREEMAP=y
++CONFIG_IP_NF_MATCH_SET=y
++CONFIG_IP_NF_TARGET_SET=y
++CONFIG_NET_SCH_CBQ=y
++CONFIG_NET_SCH_HTB=y
++CONFIG_NET_SCH_HFSC=y
++CONFIG_NET_SCH_PRIO=y
++CONFIG_NET_SCH_SFQ=y
++CONFIG_NET_SCH_ESFQ=y
++CONFIG_NET_SCH_TBF=y
++CONFIG_NET_SCH_INGRESS=y
++CONFIG_NET_CLS_BASIC=y
++CONFIG_NET_CLS_TCINDEX=y
++CONFIG_NET_CLS_ROUTE4=y
++CONFIG_NET_CLS_FW=y
++CONFIG_NET_CLS_U32=y
++CONFIG_NET_CLS_FLOW=y
++CONFIG_NET_EMATCH_CMP=y
++CONFIG_NET_EMATCH_NBYTE=y
++CONFIG_NET_EMATCH_U32=y
++CONFIG_NET_ACT_GACT=y
++CONFIG_NET_ACT_MIRRED=y
++CONFIG_NET_ACT_IPT=y
++CONFIG_NET_ACT_PEDIT=y
++CONFIG_BLK_DEV_LOOP=y
++CONFIG_BLK_DEV_IDECD=y
++CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
++CONFIG_BLK_DEV_IDEDMA_PCI=y
++CONFIG_TUN=y
++CONFIG_PCNET32=y
++CONFIG_E100=y
++CONFIG_NE2K_PCI=y
++CONFIG_8139TOO=y
++CONFIG_E1000=y
++CONFIG_R8169=y
++CONFIG_PPP=y
++CONFIG_PPP_BSDCOMP=y
++CONFIG_PPP_MPPE=y
++CONFIG_PPPOL2TP=y
++CONFIG_SLHC=y
++CONFIG_HIDRAW=y
++CONFIG_ISO9660_FS=y
++CONFIG_NLS=y
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_SEQIV=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_HMAC=y
++CONFIG_CRYPTO_NULL=y
++CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_SHA1=y
++CONFIG_CRYPTO_GF128MUL=y
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_CBC=y
++CONFIG_CRYPTO_CTR=y
++CONFIG_CRYPTO_AES=y
++CONFIG_CRYPTO_AES_586=y
++CONFIG_CRYPTO_ARC4=y
++CONFIG_CRYPTO_DEFLATE=y
++CONFIG_CRYPTO_CRC32C=y
++CONFIG_CRYPTO_LZO=y
++CONFIG_LIBCRC32C=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_TEXTSEARCH_KMP=y
++CONFIG_TEXTSEARCH_BM=y
++CONFIG_TEXTSEARCH_FSM=y
++# CONFIG_TCP_CONG_SCALABLE is not set
++# CONFIG_TCP_CONG_LP is not set
++# CONFIG_TCP_CONG_VENO is not set
++# CONFIG_TCP_CONG_YEAH is not set
++# CONFIG_TCP_CONG_ILLINOIS is not set
++# CONFIG_IPV6 is not set
++# CONFIG_INET6_XFRM_TUNNEL is not set
++# CONFIG_INET6_TUNNEL is not set
++# CONFIG_NF_CONNTRACK_AMANDA is not set
++# CONFIG_NF_CONNTRACK_PPTP is not set
++# CONFIG_NF_CONNTRACK_RTSP is not set
++# CONFIG_NETFILTER_XT_TARGET_CHAOS is not set
++# CONFIG_NETFILTER_XT_TARGET_DELUDE is not set
++# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
++# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
++# CONFIG_NETFILTER_XT_TARGET_TARPIT is not set
++# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
++# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
++# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
++# CONFIG_NETFILTER_XT_MATCH_ESP is not set
++# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
++# CONFIG_NETFILTER_XT_MATCH_PORTSCAN is not set
++# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
++# CONFIG_NETFILTER_XT_MATCH_REALM is not set
++# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
++# CONFIG_NETFILTER_XT_MATCH_TIME is not set
++# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
++# CONFIG_IP_NF_QUEUE is not set
++# CONFIG_IP_NF_MATCH_IPP2P is not set
++# CONFIG_IP_NF_MATCH_TIME is not set
++# CONFIG_IP_NF_MATCH_RECENT is not set
++# CONFIG_IP_NF_MATCH_ECN is not set
++# CONFIG_IP_NF_MATCH_AH is not set
++# CONFIG_IP_NF_MATCH_TTL is not set
++# CONFIG_IP_NF_TARGET_ULOG is not set
++# CONFIG_NF_NAT_SNMP_BASIC is not set
++# CONFIG_NF_NAT_RTSP is not set
++# CONFIG_NF_NAT_AMANDA is not set
++# CONFIG_NF_NAT_PPTP is not set
++# CONFIG_IP_NF_TARGET_ECN is not set
++# CONFIG_IP_NF_TARGET_TTL is not set
++# CONFIG_IP_NF_RAW is not set
++# CONFIG_BRIDGE_NF_EBTABLES is not set
++# CONFIG_ATM is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_LLC2 is not set
++# CONFIG_NET_SCH_RR is not set
++# CONFIG_NET_SCH_RED is not set
++# CONFIG_NET_SCH_TEQL is not set
++# CONFIG_NET_SCH_GRED is not set
++# CONFIG_NET_SCH_DSMARK is not set
++# CONFIG_NET_SCH_NETEM is not set
++# CONFIG_NET_CLS_RSVP is not set
++# CONFIG_NET_CLS_RSVP6 is not set
++# CONFIG_NET_EMATCH_META is not set
++# CONFIG_NET_EMATCH_TEXT is not set
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_BT is not set
++# CONFIG_WIRELESS_EXT is not set
++# CONFIG_IEEE80211 is not set
++# CONFIG_MTD is not set
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++# CONFIG_MISC_DEVICES is not set
++# CONFIG_BLK_DEV_SC1200 is not set
++# CONFIG_BLK_DEV_VIA82CXXX is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_ATA is not set
++# CONFIG_IFB is not set
++# CONFIG_BONDING is not set
++# CONFIG_IMQ is not set
++# CONFIG_IMQ_BEHAVIOR_BA is not set
++# CONFIG_NET_VENDOR_3COM is not set
++# CONFIG_PCNET32_NAPI is not set
++# CONFIG_NATSEMI is not set
++# CONFIG_8139TOO_PIO is not set
++# CONFIG_E1000_NAPI is not set
++# CONFIG_R8169_NAPI is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_BCM43XX_DMA_AND_PIO_MODE is not set
++# CONFIG_PPP_ASYNC is not set
++# CONFIG_PPP_SYNC_TTY is not set
++# CONFIG_PPP_DEFLATE is not set
++# CONFIG_PPPOE is not set
++# CONFIG_ISDN is not set
++# CONFIG_HW_RANDOM is not set
++# CONFIG_PC8736x_GPIO is not set
++# CONFIG_NSC_GPIO is not set
++# CONFIG_I2C is not set
++# CONFIG_W1 is not set
++# CONFIG_HWMON is not set
++# CONFIG_WATCHDOG is not set
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_SOUND is not set
++# CONFIG_USB_SUPPORT is not set
++# CONFIG_NEW_LEDS is not set
++# CONFIG_EXT3_FS is not set
++# CONFIG_FS_POSIX_ACL is not set
++CONFIG_XFS_FS=y
++# CONFIG_XFS_DEBUG is not set
++# CONFIG_XFS_QUOTA is not set
++# CONFIG_XFS_SECURITY is not set
++# CONFIG_XFS_POSIX_ACL is not set
++# CONFIG_XFS_RT is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_UDF_FS is not set
++# CONFIG_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_JFFS2_CMODE_PRIORITY is not set
++# CONFIG_SQUASHFS is not set
++# CONFIG_MINI_FO is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_NETWORK_FILESYSTEMS is not set
++# CONFIG_MAC_PARTITION is not set
++# CONFIG_CRYPTO_MD4 is not set
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_WP512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_DES is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++# CONFIG_CRYPTO_TWOFISH_586 is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# CONFIG_CRYPTO_CAMELLIA is not set
++# CONFIG_CRYPTO_TEST is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
++# CONFIG_GENERIC_PENDING_IRQ is not set
++# CONFIG_X86_SMP is not set
++# CONFIG_X86_32_SMP is not set
++# CONFIG_X86_HT is not set
++# CONFIG_X86_TRAMPOLINE is not set
++# CONFIG_LOCK_KERNEL is not set
++# CONFIG_STOP_MACHINE is not set
++# CONFIG_M386 is not set
++# CONFIG_X86_UP_APIC is not set
++# CONFIG_KEXEC is not set
++# CONFIG_CPU_FREQ is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_SCx200 is not set
++# CONFIG_PCCARD is not set
++# CONFIG_CARDBUS is not set
++# CONFIG_YENTA is not set
++# CONFIG_BINFMT_MISC is not set
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_XFRM is not set
++# CONFIG_IP_ROUTE_MULTIPATH is not set
++# CONFIG_SYN_COOKIES is not set
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_XFRM_TUNNEL is not set
++# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
++# CONFIG_8139CP is not set
++# CONFIG_8139TOO_8129 is not set
++# CONFIG_8139TOO_TUNE_TWISTER is not set
++# CONFIG_ACENIC is not set
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_ADAPTEC_STARFIRE is not set
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_AMD8111_ETH is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_APPLICOM is not set
++# CONFIG_ARCNET is not set
++# CONFIG_ATALK is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_ATA_OVER_ETH is not set
++# CONFIG_ATL1 is not set
++# CONFIG_AUDIT is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_B44 is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++# CONFIG_CAN is not set
++# CONFIG_CASSINI is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_CFG80211 is not set
++# CONFIG_CGROUPS is not set
++# CONFIG_COMPAT_BRK is not set
++# CONFIG_CONNECTOR is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_M586MMX is not set
++# CONFIG_M586TSC is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_PARPORT is not set
++# CONFIG_QUOTA is not set
++# CONFIG_R3964 is not set
++# CONFIG_SERIAL_JSM is not set
++# CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_SERIO_CT82C710 is not set
++# CONFIG_SERIO_PCIPS2 is not set
++# CONFIG_SERIO_RAW is not set
++# CONFIG_SERIO_SERPORT is not set
++# CONFIG_X86_PPRO_FENCE is not set
++# CONFIG_XFRM_MIGRATE is not set
++# CONFIG_XFRM_STATISTICS is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++# CONFIG_YELLOWFIN is not set
++# CONFIG_ZONE_DMA32 is not set
++CONFIG_MII=y
++CONFIG_MMU=y
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=2
++CONFIG_SERIAL_8250_PCI=y
++CONFIG_SERIAL_8250_PNP=y
++CONFIG_SERIAL_8250_RUNTIME_UARTS=2
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_SERIO=y
++CONFIG_SERIO_I8042=y
++CONFIG_SERIO_LIBPS2=y
++CONFIG_ZONE_DMA=y
++CONFIG_ZONE_DMA_FLAG=1
++# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
++CONFIG_INPUT_MOUSEDEV_PSAUX=y
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
++# CONFIG_CRYPTO_SALSA20_586 is not set
++# CONFIG_NONPROMISC_DEVMEM is not set
++# CONFIG_X86_PAT is not set
++# CONFIG_OLPC is not set
++# CONFIG_BLK_DEV_HD_ONLY is not set
++# CONFIG_THERMAL_HWMON is not set
++# CONFIG_ACCESSIBILITY is not set
++# CONFIG_ISCSI_IBFT_FIND is not set
++# CONFIG_4KSTACKS is not set

Added: torvm/trunk/build/kamikaze/patches/004-kamikaze-libevent-package.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/004-kamikaze-libevent-package.patch	                        (rev 0)
+++ torvm/trunk/build/kamikaze/patches/004-kamikaze-libevent-package.patch	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,69 @@
+diff -Naur x86-uclibc-orig/package/libevent/Makefile x86-uclibc-torvm/package/libevent/Makefile
+--- x86-uclibc-orig/package/libevent/Makefile	1970-01-01 00:00:00.000000000 +0000
++++ x86-uclibc-torvm/package/libevent/Makefile	2008-07-09 05:12:44.000000000 +0000
+@@ -0,0 +1,65 @@
++# 
++# Copyright (C) 2006 OpenWrt.org
++#
++# This is free software, licensed under the GNU General Public License v2.
++# See /LICENSE for more information.
++#
++# $Id: Makefile 9907 2007-12-25 01:59:55Z nbd $
++
++include $(TOPDIR)/rules.mk
++
++PKG_NAME:=libevent
++PKG_VERSION:=1.4.5-stable
++PKG_RELEASE:=1
++
++PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
++PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
++PKG_SOURCE_URL:=http://www.monkey.org/~provos/
++PKG_MD5SUM:=efd44048cc890ad11f7099bc01e43e4a
++
++PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
++
++include $(INCLUDE_DIR)/package.mk
++
++define Package/libevent
++  SECTION:=libs
++  CATEGORY:=Libraries
++  TITLE:=Event notification library
++  URL:=http://www.monkey.org/~provos/libevent/
++endef
++
++define Package/libevent/description
++	The libevent API provides a mechanism to execute a callback function 
++	when a specific event occurs on a file descriptor or after a timeout 
++	has been reached. Furthermore, libevent also support callbacks due 
++	to signals or regular timeouts.
++	
++	libevent is meant to replace the event loop found in event driven 
++	network servers. An application just needs to call event_dispatch() 
++	and then add or remove events dynamically without having to change 
++	the event loop.
++endef
++
++CONFIGURE_ARGS += \
++	--enable-shared \
++	--enable-static \
++
++MAKE_FLAGS += \
++	CFLAGS="$(TARGET_CFLAGS)" \
++	DESTDIR="$(PKG_INSTALL_DIR)" \
++	all install
++
++define Build/InstallDev
++	mkdir -p $(1)/usr/include
++	$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
++	mkdir -p $(1)/usr/lib
++	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.a $(1)/usr/lib/
++	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.so* $(1)/usr/lib/
++endef
++
++define Package/libevent/install
++	$(INSTALL_DIR) $(1)/usr/lib
++	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.so* $(1)/usr/lib/
++endef
++
++$(eval $(call BuildPackage,libevent))

Added: torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch
===================================================================
--- torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	                        (rev 0)
+++ torvm/trunk/build/kamikaze/patches/005-kamikaze-build-config.patch	2008-07-19 02:20:57 UTC (rev 16067)
@@ -0,0 +1,1175 @@
+diff -Naur kamikaze-orig/.config kamikaze-mod/.config
+--- kamikaze-orig/.config	1970-01-01 00:00:00.000000000 +0000
++++ kamikaze-mod/.config	2008-07-15 20:24:00.714058130 +0000
+@@ -0,0 +1,1171 @@
++#
++# Automatically generated make config: don't edit
++# OpenWrt version: Kamikaze (unknown)
++# Mon Jul 14 21:25:39 2008
++#
++CONFIG_HAVE_DOT_CONFIG=y
++# CONFIG_TARGET_ppc40x is not set
++# CONFIG_TARGET_ppc44x is not set
++# CONFIG_TARGET_atheros is not set
++# CONFIG_TARGET_at91 is not set
++# CONFIG_TARGET_avr32 is not set
++# CONFIG_TARGET_brcm_2_4 is not set
++# CONFIG_TARGET_brcm47xx is not set
++# CONFIG_TARGET_brcm63xx is not set
++# CONFIG_TARGET_sibyte is not set
++# CONFIG_TARGET_etrax is not set
++# CONFIG_TARGET_amazon is not set
++# CONFIG_TARGET_ifxmips is not set
++# CONFIG_TARGET_adm5120 is not set
++# CONFIG_TARGET_iop32x is not set
++# CONFIG_TARGET_ixp4xx is not set
++# CONFIG_TARGET_magicbox is not set
++# CONFIG_TARGET_orion is not set
++# CONFIG_TARGET_pxa is not set
++# CONFIG_TARGET_rb532 is not set
++# CONFIG_TARGET_olpc is not set
++# CONFIG_TARGET_rdc is not set
++# CONFIG_TARGET_au1000 is not set
++# CONFIG_TARGET_ps3 is not set
++# CONFIG_TARGET_storm is not set
++# CONFIG_TARGET_ar7 is not set
++# CONFIG_TARGET_uml is not set
++CONFIG_TARGET_x86=y
++CONFIG_TARGET_x86_generic=y
++# CONFIG_TARGET_ixp4xx_generic is not set
++# CONFIG_TARGET_ixp4xx_harddisk is not set
++# CONFIG_TARGET_adm5120_router_le is not set
++# CONFIG_TARGET_adm5120_router_be is not set
++# CONFIG_TARGET_ifxmips_Default is not set
++# CONFIG_TARGET_ppc44x_Default is not set
++# CONFIG_TARGET_etrax_default is not set
++# CONFIG_TARGET_etrax_vhdl_no_fb is not set
++# CONFIG_TARGET_brcm_2_4_Broadcom is not set
++# CONFIG_TARGET_brcm_2_4_BroadcomMimo is not set
++# CONFIG_TARGET_brcm_2_4_Atheros is not set
++# CONFIG_TARGET_brcm_2_4_None is not set
++# CONFIG_TARGET_brcm_2_4_USBGeneric is not set
++# CONFIG_TARGET_brcm_2_4_WL500G is not set
++# CONFIG_TARGET_brcm_2_4_WL500GD is not set
++# CONFIG_TARGET_brcm_2_4_WL500GP is not set
++# CONFIG_TARGET_brcm_2_4_WL700GE is not set
++# CONFIG_TARGET_brcm_2_4_WLHDD is not set
++# CONFIG_TARGET_brcm_2_4_WRT54G3G is not set
++# CONFIG_TARGET_iop32x_Default is not set
++CONFIG_TARGET_x86_generic_Generic=y
++# CONFIG_TARGET_x86_generic_Alix is not set
++# CONFIG_TARGET_x86_generic_Pcengines is not set
++# CONFIG_TARGET_x86_generic_Soekris is not set
++# CONFIG_TARGET_amazon_Default is not set
++# CONFIG_TARGET_orion_Default is not set
++# CONFIG_TARGET_pxa_Default is not set
++# CONFIG_TARGET_magicbox_Default is not set
++# CONFIG_TARGET_ar7_Texas is not set
++# CONFIG_TARGET_ar7_None is not set
++# CONFIG_TARGET_rb532_Default is not set
++# CONFIG_TARGET_olpc_Default is not set
++# CONFIG_TARGET_avr32_Default is not set
++# CONFIG_TARGET_uml_Default is not set
++# CONFIG_TARGET_sibyte_Default is not set
++# CONFIG_TARGET_ixp4xx_generic_Default is not set
++# CONFIG_TARGET_ixp4xx_generic_NSLU2 is not set
++# CONFIG_TARGET_ixp4xx_generic_NAS100d is not set
++# CONFIG_TARGET_ixp4xx_generic_DSMG600RevA is not set
++# CONFIG_TARGET_ixp4xx_harddisk_FSG3 is not set
++# CONFIG_TARGET_storm_Default is not set
++# CONFIG_TARGET_atheros_Default is not set
++# CONFIG_TARGET_ps3_Default is not set
++# CONFIG_TARGET_au1000_Atheros is not set
++# CONFIG_TARGET_au1000_Broadcom is not set
++# CONFIG_TARGET_au1000_Intel is not set
++# CONFIG_TARGET_au1000_InternetBox is not set
++# CONFIG_TARGET_au1000_MeshCube is not set
++# CONFIG_TARGET_rdc_ar525w is not set
++# CONFIG_TARGET_rdc_dir450 is not set
++# CONFIG_TARGET_rdc_wl153 is not set
++# CONFIG_TARGET_adm5120_router_le_Generic is not set
++# CONFIG_TARGET_adm5120_router_le_CAS630 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS630W is not set
++# CONFIG_TARGET_adm5120_router_le_CAS670 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS670W is not set
++# CONFIG_TARGET_adm5120_router_le_CAS700 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS700W is not set
++# CONFIG_TARGET_adm5120_router_le_CAS771 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS771W is not set
++# CONFIG_TARGET_adm5120_router_le_CAS790 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS861 is not set
++# CONFIG_TARGET_adm5120_router_le_CAS861W is not set
++# CONFIG_TARGET_adm5120_router_le_NFS101U is not set
++# CONFIG_TARGET_adm5120_router_le_NFS101WU is not set
++# CONFIG_TARGET_adm5120_router_le_NP27G is not set
++# CONFIG_TARGET_adm5120_router_le_NP28G is not set
++# CONFIG_TARGET_adm5120_router_le_WP54 is not set
++# CONFIG_TARGET_adm5120_router_le_BR6104K is not set
++# CONFIG_TARGET_adm5120_router_le_BR6104KP is not set
++# CONFIG_TARGET_adm5120_router_le_BR6104WG is not set
++# CONFIG_TARGET_adm5120_router_le_BR6114WG is not set
++# CONFIG_TARGET_adm5120_router_le_EASY5120RT is not set
++# CONFIG_TARGET_adm5120_router_le_RouterBoard is not set
++# CONFIG_TARGET_adm5120_router_be_Generic is not set
++# CONFIG_TARGET_adm5120_router_be_P334WT is not set
++# CONFIG_TARGET_adm5120_router_be_P335WT is not set
++# CONFIG_TARGET_brcm63xx_Atheros is not set
++# CONFIG_TARGET_brcm63xx_Broadcom is not set
++# CONFIG_TARGET_brcm63xx_Ralink is not set
++# CONFIG_TARGET_brcm47xx_Atheros is not set
++# CONFIG_TARGET_brcm47xx_Broadcom-b43 is not set
++# CONFIG_TARGET_brcm47xx_None is not set
++# CONFIG_TARGET_brcm47xx_WGT634U is not set
++# CONFIG_TARGET_brcm47xx_WL500GPv1 is not set
++# CONFIG_TARGET_brcm47xx_WRTSL54GS is not set
++# CONFIG_TARGET_at91_Default is not set
++# CONFIG_TARGET_ppc40x_Default is not set
++CONFIG_HAS_SUBTARGETS=y
++CONFIG_TARGET_BOARD="x86"
++CONFIG_LINUX_2_6_25=y
++CONFIG_LINUX_2_6=y
++CONFIG_DISPLAY_SUPPORT=y
++CONFIG_PCI_SUPPORT=y
++CONFIG_USES_SQUASHFS=y
++CONFIG_USES_JFFS2=y
++CONFIG_USES_EXT2=y
++CONFIG_i386=y
++CONFIG_ARCH="i386"
++
++#
++# Target Images
++#
++CONFIG_TARGET_ROOTFS_INITRAMFS=y
++# CONFIG_TARGET_ROOTFS_ISO is not set
++
++#
++# Image Options
++#
++CONFIG_OLPC_BOOTSCRIPT_ROOTPART="/dev/hda2"
++CONFIG_X86_GRUB_ROOTPART="/dev/hda2"
++CONFIG_X86_GRUB_BOOTOPTS=""
++# CONFIG_ALL is not set
++CONFIG_DEVEL=y
++# CONFIG_BROKEN is not set
++CONFIG_LOCALMIRROR=""
++CONFIG_BUILDOPTS=y
++# CONFIG_CLEAN_IPKG is not set
++CONFIG_AUTOREBUILD=y
++CONFIG_BUILD_SUFFIX=""
++# CONFIG_TAR_VERBOSITY is not set
++CONFIG_CCACHE=y
++CONFIG_EXTERNAL_KERNEL_TREE=""
++# CONFIG_BUILD_DEVELOPER_SYSTEM is not set
++# CONFIG_NATIVE_TOOLCHAIN is not set
++CONFIG_TOOLCHAINOPTS=y
++# CONFIG_EXTRA_TARGET_ARCH is not set
++# CONFIG_BINUTILS_VERSION_2_16_1 is not set
++CONFIG_BINUTILS_VERSION_2_17=y
++# CONFIG_BINUTILS_VERSION_2_18 is not set
++CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS=""
++CONFIG_BINUTILS_VERSION="2.17"
++# CONFIG_GCC_VERSION_3_4_6 is not set
++CONFIG_GCC_VERSION_4_1_2=y
++# CONFIG_GCC_VERSION_4_2_0 is not set
++# CONFIG_GCC_VERSION_4_2_1 is not set
++# CONFIG_GCC_VERSION_4_2_2 is not set
++# CONFIG_GCC_VERSION_4_2_3 is not set
++# CONFIG_GCC_VERSION_4_2_4 is not set
++CONFIG_EXTRA_GCC_CONFIG_OPTIONS=""
++CONFIG_INSTALL_LIBSTDCPP=y
++# CONFIG_INSTALL_LIBGCJ is not set
++# CONFIG_UCLIBC_VERSION_SNAPSHOT is not set
++# CONFIG_UCLIBC_VERSION_0_9_28 is not set
++CONFIG_UCLIBC_VERSION_0_9_29=y
++CONFIG_UCLIBC_EXTRA_VERSION=""
++# CONFIG_GDB is not set
++CONFIG_LARGEFILE=y
++CONFIG_SHADOW_PASSWORDS=y
++CONFIG_TARGET_OPTIMIZATION="-O2 -pipe -march=i686"
++CONFIG_GCC_VERSION="4.1.2"
++CONFIG_UCLIBC_VERSION="0.9.29"
++# CONFIG_BUILDSYSTEM_SETTINGS is not set
++# CONFIG_SDK is not set
++# CONFIG_UCI_PRECONFIG is not set
++CONFIG_UCI_PRECONFIG_network_lan_dns=""
++CONFIG_UCI_PRECONFIG_network_lan_proto="static"
++CONFIG_UCI_PRECONFIG_network_lan_gateway=""
++CONFIG_UCI_PRECONFIG_network_lan_netmask=""
++CONFIG_UCI_PRECONFIG_network_lan_ipaddr=""
++
++#
++# Base system
++#
++CONFIG_DEFAULT_base-files=y
++CONFIG_DEFAULT_libgcc=y
++CONFIG_DEFAULT_uclibc=y
++CONFIG_DEFAULT_bridge=y
++CONFIG_DEFAULT_busybox=y
++CONFIG_DEFAULT_dnsmasq=y
++CONFIG_DEFAULT_dropbear=y
++CONFIG_DEFAULT_hotplug2=y
++CONFIG_DEFAULT_iptables=y
++CONFIG_DEFAULT_mtd=y
++CONFIG_DEFAULT_uci=y
++CONFIG_DEFAULT_udevtrigger=y
++CONFIG_PACKAGE_base-files=y
++# CONFIG_PACKAGE_br2684ctl is not set
++CONFIG_PACKAGE_bridge=y
++CONFIG_PACKAGE_busybox=y
++
++#
++# Configuration
++#
++# CONFIG_BUSYBOX_CONFIG_FEATURE_DEVFS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_2_4_MODULES is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_2_6_MODULES=y
++CONFIG_BUSYBOX_CONFIG_HAVE_DOT_CONFIG=y
++
++#
++# Busybox Settings
++#
++
++#
++# General Configuration
++#
++# CONFIG_BUSYBOX_CONFIG_NITPICK is not set
++# CONFIG_BUSYBOX_CONFIG_DESKTOP is not set
++CONFIG_BUSYBOX_CONFIG_SHOW_USAGE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_INSTALLER is not set
++# CONFIG_BUSYBOX_CONFIG_LOCALE_SUPPORT is not set
++CONFIG_BUSYBOX_CONFIG_GETOPT_LONG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_DEVPTS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_PIDFILE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_SUID=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SUID_CONFIG is not set
++# CONFIG_BUSYBOX_CONFIG_SELINUX is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS=y
++CONFIG_BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
++CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_HAVE_RPC=y
++
++#
++# Build Options
++#
++# CONFIG_BUSYBOX_CONFIG_STATIC is not set
++CONFIG_BUSYBOX_CONFIG_LFS=y
++
++#
++# Debugging Options
++#
++# CONFIG_BUSYBOX_CONFIG_DEBUG is not set
++# CONFIG_BUSYBOX_CONFIG_WERROR is not set
++CONFIG_BUSYBOX_CONFIG_NO_DEBUG_LIB=y
++# CONFIG_BUSYBOX_CONFIG_DMALLOC is not set
++# CONFIG_BUSYBOX_CONFIG_EFENCE is not set
++CONFIG_BUSYBOX_CONFIG_INCLUDE_SUSv2=y
++
++#
++# Installation Options
++#
++# CONFIG_BUSYBOX_CONFIG_INSTALL_NO_USR is not set
++CONFIG_BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS=y
++# CONFIG_BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS is not set
++# CONFIG_BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
++# CONFIG_BUSYBOX_CONFIG_INSTALL_APPLET_DONT is not set
++CONFIG_BUSYBOX_CONFIG_PREFIX="./_install"
++
++#
++# Busybox Library Tuning
++#
++CONFIG_BUSYBOX_CONFIG_PASSWORD_MINLEN=6
++CONFIG_BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED=2
++CONFIG_BUSYBOX_CONFIG_FEATURE_FAST_TOP=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN=512
++CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_KEYS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_VI is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY=256
++# CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
++# CONFIG_BUSYBOX_CONFIG_MONOTONIC_SYSCALL is not set
++CONFIG_BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR=y
++
++#
++# Applets
++#
++
++#
++# Archival Utilities
++#
++# CONFIG_BUSYBOX_CONFIG_AR is not set
++CONFIG_BUSYBOX_CONFIG_BUNZIP2=y
++CONFIG_BUSYBOX_CONFIG_BZIP2=y
++# CONFIG_BUSYBOX_CONFIG_CPIO is not set
++# CONFIG_BUSYBOX_CONFIG_DPKG is not set
++# CONFIG_BUSYBOX_CONFIG_DPKG_DEB is not set
++CONFIG_BUSYBOX_CONFIG_GUNZIP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
++CONFIG_BUSYBOX_CONFIG_GZIP=y
++# CONFIG_BUSYBOX_CONFIG_IPKG is not set
++# CONFIG_BUSYBOX_CONFIG_RPM2CPIO is not set
++# CONFIG_BUSYBOX_CONFIG_RPM is not set
++CONFIG_BUSYBOX_CONFIG_TAR=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_CREATE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_BZIP2=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_LZMA is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_FROM=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_GZIP=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_COMPRESS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS=y
++# CONFIG_BUSYBOX_CONFIG_UNCOMPRESS is not set
++# CONFIG_BUSYBOX_CONFIG_UNLZMA is not set
++# CONFIG_BUSYBOX_CONFIG_UNZIP is not set
++
++#
++# Common options for cpio and tar
++#
++# CONFIG_BUSYBOX_CONFIG_FEATURE_UNARCHIVE_TAPE is not set
++
++#
++# Coreutils
++#
++CONFIG_BUSYBOX_CONFIG_BASENAME=y
++# CONFIG_BUSYBOX_CONFIG_CAL is not set
++CONFIG_BUSYBOX_CONFIG_CAT=y
++# CONFIG_BUSYBOX_CONFIG_CATV is not set
++CONFIG_BUSYBOX_CONFIG_CHGRP=y
++CONFIG_BUSYBOX_CONFIG_CHMOD=y
++CONFIG_BUSYBOX_CONFIG_CHOWN=y
++CONFIG_BUSYBOX_CONFIG_CHROOT=y
++# CONFIG_BUSYBOX_CONFIG_CKSUM is not set
++# CONFIG_BUSYBOX_CONFIG_COMM is not set
++CONFIG_BUSYBOX_CONFIG_CP=y
++CONFIG_BUSYBOX_CONFIG_CUT=y
++CONFIG_BUSYBOX_CONFIG_DATE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT=y
++# CONFIG_BUSYBOX_CONFIG_DD is not set
++CONFIG_BUSYBOX_CONFIG_DF=y
++CONFIG_BUSYBOX_CONFIG_DIRNAME=y
++# CONFIG_BUSYBOX_CONFIG_DOS2UNIX is not set
++CONFIG_BUSYBOX_CONFIG_DU=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
++CONFIG_BUSYBOX_CONFIG_ECHO=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_ECHO=y
++CONFIG_BUSYBOX_CONFIG_ENV=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
++# CONFIG_BUSYBOX_CONFIG_EXPAND is not set
++CONFIG_BUSYBOX_CONFIG_EXPR=y
++# CONFIG_BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64 is not set
++CONFIG_BUSYBOX_CONFIG_FALSE=y
++# CONFIG_BUSYBOX_CONFIG_FOLD is not set
++CONFIG_BUSYBOX_CONFIG_HEAD=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_HEAD=y
++CONFIG_BUSYBOX_CONFIG_HOSTID=y
++CONFIG_BUSYBOX_CONFIG_ID=y
++# CONFIG_BUSYBOX_CONFIG_INSTALL is not set
++CONFIG_BUSYBOX_CONFIG_LENGTH=y
++CONFIG_BUSYBOX_CONFIG_LN=y
++# CONFIG_BUSYBOX_CONFIG_LOGNAME is not set
++CONFIG_BUSYBOX_CONFIG_LS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_FILETYPES=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_SORTFILES=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_USERNAME=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_COLOR=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
++CONFIG_BUSYBOX_CONFIG_MD5SUM=y
++CONFIG_BUSYBOX_CONFIG_MKDIR=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
++CONFIG_BUSYBOX_CONFIG_MKFIFO=y
++CONFIG_BUSYBOX_CONFIG_MKNOD=y
++CONFIG_BUSYBOX_CONFIG_MV=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS=y
++CONFIG_BUSYBOX_CONFIG_NICE=y
++CONFIG_BUSYBOX_CONFIG_NOHUP=y
++# CONFIG_BUSYBOX_CONFIG_OD is not set
++# CONFIG_BUSYBOX_CONFIG_PRINTENV is not set
++CONFIG_BUSYBOX_CONFIG_PRINTF=y
++CONFIG_BUSYBOX_CONFIG_PWD=y
++CONFIG_BUSYBOX_CONFIG_READLINK=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW is not set
++# CONFIG_BUSYBOX_CONFIG_REALPATH is not set
++CONFIG_BUSYBOX_CONFIG_RM=y
++CONFIG_BUSYBOX_CONFIG_RMDIR=y
++CONFIG_BUSYBOX_CONFIG_SEQ=y
++CONFIG_BUSYBOX_CONFIG_SHA1SUM=y
++CONFIG_BUSYBOX_CONFIG_SLEEP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP=y
++CONFIG_BUSYBOX_CONFIG_SORT=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SORT_BIG is not set
++CONFIG_BUSYBOX_CONFIG_SPLIT=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY is not set
++# CONFIG_BUSYBOX_CONFIG_STAT is not set
++# CONFIG_BUSYBOX_CONFIG_STTY is not set
++# CONFIG_BUSYBOX_CONFIG_SUM is not set
++CONFIG_BUSYBOX_CONFIG_SYNC=y
++CONFIG_BUSYBOX_CONFIG_TAIL=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_TAIL=y
++CONFIG_BUSYBOX_CONFIG_TEE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
++CONFIG_BUSYBOX_CONFIG_TEST=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TEST_64 is not set
++CONFIG_BUSYBOX_CONFIG_TOUCH=y
++CONFIG_BUSYBOX_CONFIG_TR=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TR_CLASSES is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TR_EQUIV is not set
++CONFIG_BUSYBOX_CONFIG_TRUE=y
++# CONFIG_BUSYBOX_CONFIG_TTY is not set
++CONFIG_BUSYBOX_CONFIG_UNAME=y
++# CONFIG_BUSYBOX_CONFIG_UNEXPAND is not set
++CONFIG_BUSYBOX_CONFIG_UNIQ=y
++CONFIG_BUSYBOX_CONFIG_USLEEP=y
++# CONFIG_BUSYBOX_CONFIG_UUDECODE is not set
++# CONFIG_BUSYBOX_CONFIG_UUENCODE is not set
++CONFIG_BUSYBOX_CONFIG_WC=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_WC_LARGE is not set
++# CONFIG_BUSYBOX_CONFIG_WHO is not set
++CONFIG_BUSYBOX_CONFIG_WHOAMI=y
++CONFIG_BUSYBOX_CONFIG_YES=y
++
++#
++# Common options for cp and mv
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS=y
++
++#
++# Common options for ls, more and telnet
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_AUTOWIDTH=y
++
++#
++# Common options for df, du, ls
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE=y
++
++#
++# Common options for md5sum, sha1sum
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
++
++#
++# Console Utilities
++#
++# CONFIG_BUSYBOX_CONFIG_CHVT is not set
++CONFIG_BUSYBOX_CONFIG_CLEAR=y
++# CONFIG_BUSYBOX_CONFIG_DEALLOCVT is not set
++# CONFIG_BUSYBOX_CONFIG_DUMPKMAP is not set
++# CONFIG_BUSYBOX_CONFIG_KBD_MODE is not set
++# CONFIG_BUSYBOX_CONFIG_LOADFONT is not set
++# CONFIG_BUSYBOX_CONFIG_LOADKMAP is not set
++# CONFIG_BUSYBOX_CONFIG_OPENVT is not set
++CONFIG_BUSYBOX_CONFIG_RESET=y
++# CONFIG_BUSYBOX_CONFIG_RESIZE is not set
++# CONFIG_BUSYBOX_CONFIG_SETCONSOLE is not set
++# CONFIG_BUSYBOX_CONFIG_SETKEYCODES is not set
++# CONFIG_BUSYBOX_CONFIG_SETLOGCONS is not set
++
++#
++# Debian Utilities
++#
++CONFIG_BUSYBOX_CONFIG_MKTEMP=y
++# CONFIG_BUSYBOX_CONFIG_PIPE_PROGRESS is not set
++# CONFIG_BUSYBOX_CONFIG_RUN_PARTS is not set
++CONFIG_BUSYBOX_CONFIG_START_STOP_DAEMON=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
++CONFIG_BUSYBOX_CONFIG_WHICH=y
++
++#
++# Editors
++#
++CONFIG_BUSYBOX_CONFIG_AWK=y
++CONFIG_BUSYBOX_CONFIG_AWX=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_AWK_MATH=y
++# CONFIG_BUSYBOX_CONFIG_CMP is not set
++# CONFIG_BUSYBOX_CONFIG_DIFF is not set
++# CONFIG_BUSYBOX_CONFIG_ED is not set
++# CONFIG_BUSYBOX_CONFIG_PATCH is not set
++CONFIG_BUSYBOX_CONFIG_SED=y
++CONFIG_BUSYBOX_CONFIG_VI=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN=1024
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_COLON=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_YANKMARK=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_SEARCH=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_READONLY=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_SETOPTS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_SET=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC=y
++
++#
++# Finding Utilities
++#
++CONFIG_BUSYBOX_CONFIG_FIND=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_PRINT0=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_MTIME is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_MMIN is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_PERM=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_TYPE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_XDEV=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_NEWER=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_INUM is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_EXEC=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_USER=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_GROUP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_NOT=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_DEPTH=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_PAREN=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_SIZE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_PRUNE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_DELETE is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_PATH=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_FIND_REGEX=y
++CONFIG_BUSYBOX_CONFIG_GREP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT=y
++CONFIG_BUSYBOX_CONFIG_XARGS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
++
++#
++# Init Utilities
++#
++CONFIG_BUSYBOX_CONFIG_INIT=y
++# CONFIG_BUSYBOX_CONFIG_DEBUG_INIT is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_USE_INITTAB=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SCTTY is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_INITRD is not set
++CONFIG_BUSYBOX_CONFIG_HALT=y
++CONFIG_BUSYBOX_CONFIG_MESG=y
++
++#
++# Login/Password Management Utilities
++#
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS is not set
++# CONFIG_BUSYBOX_CONFIG_USE_BB_PWD_GRP is not set
++# CONFIG_BUSYBOX_CONFIG_ADDGROUP is not set
++# CONFIG_BUSYBOX_CONFIG_DELGROUP is not set
++# CONFIG_BUSYBOX_CONFIG_ADDUSER is not set
++# CONFIG_BUSYBOX_CONFIG_DELUSER is not set
++# CONFIG_BUSYBOX_CONFIG_GETTY is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_UTMP is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_WTMP is not set
++# CONFIG_BUSYBOX_CONFIG_LOGIN is not set
++CONFIG_BUSYBOX_CONFIG_PASSWD=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
++# CONFIG_BUSYBOX_CONFIG_CRYPTPW is not set
++# CONFIG_BUSYBOX_CONFIG_CHPASSWD is not set
++CONFIG_BUSYBOX_CONFIG_SU=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SU_SYSLOG is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
++# CONFIG_BUSYBOX_CONFIG_SULOGIN is not set
++# CONFIG_BUSYBOX_CONFIG_VLOCK is not set
++
++#
++# Linux Ext2 FS Progs
++#
++# CONFIG_BUSYBOX_CONFIG_CHATTR is not set
++# CONFIG_BUSYBOX_CONFIG_FSCK is not set
++# CONFIG_BUSYBOX_CONFIG_LSATTR is not set
++
++#
++# Linux Module Utilities
++#
++CONFIG_BUSYBOX_CONFIG_INSMOD=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
++CONFIG_BUSYBOX_CONFIG_RMMOD=y
++CONFIG_BUSYBOX_CONFIG_LSMOD=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
++CONFIG_BUSYBOX_CONFIG_MODPROBE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS is not set
++
++#
++# Options common to multiple modutils
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
++
++#
++# Linux System Utilities
++#
++CONFIG_BUSYBOX_CONFIG_DMESG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY=y
++CONFIG_BUSYBOX_CONFIG_FBSET=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_FBSET_FANCY is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_FBSET_READMODE=y
++# CONFIG_BUSYBOX_CONFIG_FDFLUSH is not set
++# CONFIG_BUSYBOX_CONFIG_FDFORMAT is not set
++# CONFIG_BUSYBOX_CONFIG_FDISK is not set
++CONFIG_BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
++# CONFIG_BUSYBOX_CONFIG_FREERAMDISK is not set
++# CONFIG_BUSYBOX_CONFIG_FSCK_MINIX is not set
++# CONFIG_BUSYBOX_CONFIG_MKFS_MINIX is not set
++CONFIG_BUSYBOX_CONFIG_GETOPT=y
++CONFIG_BUSYBOX_CONFIG_HEXDUMP=y
++CONFIG_BUSYBOX_CONFIG_HWCLOCK=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
++# CONFIG_BUSYBOX_CONFIG_IPCRM is not set
++# CONFIG_BUSYBOX_CONFIG_IPCS is not set
++# CONFIG_BUSYBOX_CONFIG_LOSETUP is not set
++# CONFIG_BUSYBOX_CONFIG_MDEV is not set
++# CONFIG_BUSYBOX_CONFIG_MKSWAP is not set
++# CONFIG_BUSYBOX_CONFIG_MORE is not set
++CONFIG_BUSYBOX_CONFIG_MOUNT=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_NFS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB=y
++CONFIG_BUSYBOX_CONFIG_PIVOT_ROOT=y
++CONFIG_BUSYBOX_CONFIG_RDATE=y
++# CONFIG_BUSYBOX_CONFIG_READPROFILE is not set
++# CONFIG_BUSYBOX_CONFIG_SETARCH is not set
++# CONFIG_BUSYBOX_CONFIG_SWAPONOFF is not set
++CONFIG_BUSYBOX_CONFIG_SWITCH_ROOT=y
++CONFIG_BUSYBOX_CONFIG_UMOUNT=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL=y
++
++#
++# Common options for mount/umount
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT is not set
++
++#
++# Miscellaneous Utilities
++#
++# CONFIG_BUSYBOX_CONFIG_ADJTIMEX is not set
++# CONFIG_BUSYBOX_CONFIG_BBCONFIG is not set
++# CONFIG_BUSYBOX_CONFIG_CHRT is not set
++CONFIG_BUSYBOX_CONFIG_CROND=y
++# CONFIG_BUSYBOX_CONFIG_DEBUG_CROND_OPTION is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
++CONFIG_BUSYBOX_CONFIG_CRONTAB=y
++# CONFIG_BUSYBOX_CONFIG_DC is not set
++# CONFIG_BUSYBOX_CONFIG_DEVFSD is not set
++# CONFIG_BUSYBOX_CONFIG_EJECT is not set
++# CONFIG_BUSYBOX_CONFIG_LAST is not set
++CONFIG_BUSYBOX_CONFIG_LESS=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES=9999999
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_FLAGS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_FLAGCS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_MARKS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP is not set
++# CONFIG_BUSYBOX_CONFIG_HDPARM is not set
++CONFIG_BUSYBOX_CONFIG_LOCK=y
++# CONFIG_BUSYBOX_CONFIG_MAKEDEVS is not set
++# CONFIG_BUSYBOX_CONFIG_MICROCOM is not set
++# CONFIG_BUSYBOX_CONFIG_MOUNTPOINT is not set
++# CONFIG_BUSYBOX_CONFIG_MT is not set
++# CONFIG_BUSYBOX_CONFIG_RAIDAUTORUN is not set
++# CONFIG_BUSYBOX_CONFIG_READAHEAD is not set
++# CONFIG_BUSYBOX_CONFIG_RUNLEVEL is not set
++# CONFIG_BUSYBOX_CONFIG_RX is not set
++CONFIG_BUSYBOX_CONFIG_STRINGS=y
++# CONFIG_BUSYBOX_CONFIG_SETSID is not set
++# CONFIG_BUSYBOX_CONFIG_TASKSET is not set
++CONFIG_BUSYBOX_CONFIG_TIME=y
++# CONFIG_BUSYBOX_CONFIG_TTYSIZE is not set
++CONFIG_BUSYBOX_CONFIG_WATCHDOG=y
++
++#
++# Networking Utilities
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_IPV6=y
++CONFIG_BUSYBOX_CONFIG_VERBOSE_RESOLUTION_ERRORS=y
++CONFIG_BUSYBOX_CONFIG_ARP=y
++CONFIG_BUSYBOX_CONFIG_ARPING=y
++# CONFIG_BUSYBOX_CONFIG_DNSD is not set
++# CONFIG_BUSYBOX_CONFIG_ETHER_WAKE is not set
++# CONFIG_BUSYBOX_CONFIG_FAKEIDENTD is not set
++# CONFIG_BUSYBOX_CONFIG_FTPGET is not set
++# CONFIG_BUSYBOX_CONFIG_FTPPUT is not set
++CONFIG_BUSYBOX_CONFIG_HOSTNAME=y
++# CONFIG_BUSYBOX_CONFIG_HTTPD is not set
++CONFIG_BUSYBOX_CONFIG_IFCONFIG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_IFCONFIG_STATUS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IFCONFIG_SLIP is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_IFCONFIG_HW=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
++# CONFIG_BUSYBOX_CONFIG_IFUPDOWN is not set
++# CONFIG_BUSYBOX_CONFIG_INETD is not set
++CONFIG_BUSYBOX_CONFIG_IP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_IP_ADDRESS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_LINK is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_IP_ROUTE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_TUNNEL is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_RULE is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
++# CONFIG_BUSYBOX_CONFIG_IPADDR is not set
++# CONFIG_BUSYBOX_CONFIG_IPROUTE is not set
++# CONFIG_BUSYBOX_CONFIG_IPCALC is not set
++# CONFIG_BUSYBOX_CONFIG_NAMEIF is not set
++CONFIG_BUSYBOX_CONFIG_NC=y
++CONFIG_BUSYBOX_CONFIG_NETMSG=y
++# CONFIG_BUSYBOX_CONFIG_NC_SERVER is not set
++# CONFIG_BUSYBOX_CONFIG_NC_EXTRA is not set
++CONFIG_BUSYBOX_CONFIG_NETSTAT=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_NETSTAT_WIDE=y
++CONFIG_BUSYBOX_CONFIG_NSLOOKUP=y
++CONFIG_BUSYBOX_CONFIG_PING=y
++# CONFIG_BUSYBOX_CONFIG_PING6 is not set
++# CONFIG_BUSYBOX_CONFIG_PSCAN is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_FANCY_PING=y
++CONFIG_BUSYBOX_CONFIG_ROUTE=y
++# CONFIG_BUSYBOX_CONFIG_SLATTACH is not set
++CONFIG_BUSYBOX_CONFIG_TELNET=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
++# CONFIG_BUSYBOX_CONFIG_TELNETD is not set
++# CONFIG_BUSYBOX_CONFIG_TFTP is not set
++# CONFIG_BUSYBOX_CONFIG_TRACEROUTE is not set
++# CONFIG_BUSYBOX_CONFIG_APP_UDHCPD is not set
++CONFIG_BUSYBOX_CONFIG_APP_UDHCPC=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_UDHCP_DEBUG is not set
++CONFIG_BUSYBOX_CONFIG_FEATURE_RFC3397=y
++CONFIG_BUSYBOX_CONFIG_VCONFIG=y
++# CONFIG_BUSYBOX_CONFIG_WGET is not set
++# CONFIG_BUSYBOX_CONFIG_ZCIP is not set
++
++#
++# Process Utilities
++#
++CONFIG_BUSYBOX_CONFIG_FREE=y
++# CONFIG_BUSYBOX_CONFIG_FUSER is not set
++CONFIG_BUSYBOX_CONFIG_KILL=y
++CONFIG_BUSYBOX_CONFIG_KILLALL=y
++CONFIG_BUSYBOX_CONFIG_KILLALL5=y
++# CONFIG_BUSYBOX_CONFIG_NMETER is not set
++CONFIG_BUSYBOX_CONFIG_PGREP=y
++CONFIG_BUSYBOX_CONFIG_PIDOF=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT is not set
++CONFIG_BUSYBOX_CONFIG_PKILL=y
++CONFIG_BUSYBOX_CONFIG_PS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_PS_WIDE is not set
++# CONFIG_BUSYBOX_CONFIG_RENICE is not set
++CONFIG_BUSYBOX_CONFIG_BB_SYSCTL=y
++CONFIG_BUSYBOX_CONFIG_TOP=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_TOPMEM is not set
++CONFIG_BUSYBOX_CONFIG_UPTIME=y
++CONFIG_BUSYBOX_CONFIG_WATCH=y
++
++#
++# Shells
++#
++CONFIG_BUSYBOX_CONFIG_FEATURE_SH_IS_ASH=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_IS_LASH is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_IS_MSH is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_IS_NONE is not set
++CONFIG_BUSYBOX_CONFIG_ASH=y
++
++#
++# Ash Shell Options
++#
++CONFIG_BUSYBOX_CONFIG_ASH_JOB_CONTROL=y
++# CONFIG_BUSYBOX_CONFIG_ASH_READ_NCHARS is not set
++CONFIG_BUSYBOX_CONFIG_ASH_READ_TIMEOUT=y
++CONFIG_BUSYBOX_CONFIG_ASH_ALIAS=y
++CONFIG_BUSYBOX_CONFIG_ASH_MATH_SUPPORT=y
++CONFIG_BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64=y
++CONFIG_BUSYBOX_CONFIG_ASH_GETOPTS=y
++CONFIG_BUSYBOX_CONFIG_ASH_BUILTIN_ECHO=y
++CONFIG_BUSYBOX_CONFIG_ASH_BUILTIN_TEST=y
++CONFIG_BUSYBOX_CONFIG_ASH_CMDCMD=y
++# CONFIG_BUSYBOX_CONFIG_ASH_MAIL is not set
++# CONFIG_BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
++# CONFIG_BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT is not set
++CONFIG_BUSYBOX_CONFIG_ASH_EXPAND_PRMT=y
++# CONFIG_BUSYBOX_CONFIG_HUSH is not set
++# CONFIG_BUSYBOX_CONFIG_LASH is not set
++# CONFIG_BUSYBOX_CONFIG_MSH is not set
++
++#
++# Bourne Shell Options
++#
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET is not set
++# CONFIG_BUSYBOX_CONFIG_FEATURE_SH_STANDALONE is not set
++# CONFIG_BUSYBOX_CONFIG_CTTYHACK is not set
++
++#
++# System Logging Utilities
++#
++CONFIG_BUSYBOX_CONFIG_SYSLOGD=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_REMOTE_LOG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG=y
++CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
++CONFIG_BUSYBOX_CONFIG_LOGREAD=y
++# CONFIG_BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
++CONFIG_BUSYBOX_CONFIG_KLOGD=y
++CONFIG_BUSYBOX_CONFIG_LOGGER=y
++
++#
++# Runit Utilities
++#
++# CONFIG_BUSYBOX_CONFIG_RUNSV is not set
++# CONFIG_BUSYBOX_CONFIG_RUNSVDIR is not set
++# CONFIG_BUSYBOX_CONFIG_SV is not set
++# CONFIG_BUSYBOX_CONFIG_SVLOGD is not set
++# CONFIG_BUSYBOX_CONFIG_CHPST is not set
++# CONFIG_BUSYBOX_CONFIG_SETUIDGID is not set
++# CONFIG_BUSYBOX_CONFIG_ENVUIDGID is not set
++# CONFIG_BUSYBOX_CONFIG_ENVDIR is not set
++# CONFIG_BUSYBOX_CONFIG_SOFTLIMIT is not set
++
++#
++# ipsvd utilities
++#
++# CONFIG_BUSYBOX_CONFIG_TCPSVD is not set
++# CONFIG_BUSYBOX_CONFIG_UDPSVD is not set
++# CONFIG_PACKAGE_dnsmasq is not set
++# CONFIG_PACKAGE_dropbear is not set
++# CONFIG_PACKAGE_hotplug2 is not set
++CONFIG_PACKAGE_iptables=y
++CONFIG_PACKAGE_iptables-mod-conntrack=y
++# CONFIG_PACKAGE_iptables-mod-extra is not set
++CONFIG_PACKAGE_iptables-mod-filter=y
++CONFIG_PACKAGE_iptables-mod-imq=y
++CONFIG_PACKAGE_iptables-mod-ipopt=y
++CONFIG_PACKAGE_iptables-mod-iprange=y
++# CONFIG_PACKAGE_iptables-mod-ipsec is not set
++# CONFIG_PACKAGE_iptables-mod-ipset is not set
++CONFIG_PACKAGE_iptables-mod-nat=y
++# CONFIG_PACKAGE_iptables-mod-ulog is not set
++CONFIG_PACKAGE_iptables-utils=y
++# CONFIG_PACKAGE_ldconfig is not set
++# CONFIG_PACKAGE_ldd is not set
++CONFIG_PACKAGE_libgcc=y
++CONFIG_PACKAGE_libpthread=y
++CONFIG_PACKAGE_libssp=y
++# CONFIG_PACKAGE_libstdcpp is not set
++# CONFIG_PACKAGE_mtd is not set
++CONFIG_PACKAGE_qos-scripts=y
++# CONFIG_PACKAGE_uci is not set
++# CONFIG_PACKAGE_uci-sh is not set
++CONFIG_PACKAGE_uclibc=y
++# CONFIG_PACKAGE_udevtrigger is not set
++# CONFIG_PACKAGE_wireless-tools is not set
++
++#
++# Libraries
++#
++
++#
++# disc
++#
++# CONFIG_PACKAGE_libfuse is not set
++# CONFIG_PACKAGE_libblkid is not set
++CONFIG_PACKAGE_libevent=y
++CONFIG_PACKAGE_libgmp=y
++# CONFIG_PACKAGE_libiw is not set
++# CONFIG_PACKAGE_libjson is not set
++# CONFIG_PACKAGE_libltdl is not set
++# CONFIG_PACKAGE_liblua is not set
++CONFIG_PACKAGE_libncurses=y
++CONFIG_PACKAGE_libnl=y
++CONFIG_PACKAGE_libopenssl=y
++CONFIG_PACKAGE_libpcap=y
++# CONFIG_PACKAGE_libuci is not set
++# CONFIG_PACKAGE_libuci-lua is not set
++# CONFIG_PACKAGE_libuuid is not set
++# CONFIG_PACKAGE_linux-atm is not set
++CONFIG_PACKAGE_zlib=y
++
++#
++# Network
++#
++CONFIG_DEFAULT_ppp=y
++CONFIG_DEFAULT_ppp-mod-pppoe=y
++CONFIG_PACKAGE_arptables=y
++CONFIG_PACKAGE_ebtables=y
++# CONFIG_PACKAGE_genl is not set
++# CONFIG_PACKAGE_hostapd is not set
++# CONFIG_PACKAGE_hostapd-mini is not set
++CONFIG_PACKAGE_ifenslave=y
++CONFIG_PACKAGE_ip=y
++# CONFIG_PACKAGE_ipsec-tools is not set
++# CONFIG_PACKAGE_ipset is not set
++# CONFIG_PACKAGE_isakmpd is not set
++# CONFIG_PACKAGE_iw is not set
++# CONFIG_PACKAGE_keynote is not set
++# CONFIG_PACKAGE_ppp is not set
++# CONFIG_PACKAGE_pptp is not set
++CONFIG_PACKAGE_tc=y
++CONFIG_PACKAGE_tor=y
++# CONFIG_PACKAGE_wpa-supplicant is not set
++
++#
++# IPv6
++#
++# CONFIG_PACKAGE_ip6tables is not set
++
++#
++# Kernel modules
++#
++CONFIG_DEFAULT_kmod-ipt-nathelper=y
++CONFIG_DEFAULT_kmod-natsemi=y
++CONFIG_DEFAULT_kmod-ne2k-pci=y
++
++#
++# Block Devices
++#
++# CONFIG_PACKAGE_kmod-ata-core is not set
++# CONFIG_PACKAGE_kmod-ide-aec62xx is not set
++CONFIG_PACKAGE_kmod-ide-core=y
++CONFIG_PACKAGE_kmod-loop=y
++# CONFIG_PACKAGE_kmod-nbd is not set
++# CONFIG_PACKAGE_kmod-scsi-core is not set
++# CONFIG_PACKAGE_kmod-scsi-generic is not set
++
++#
++# Cryptographic API modules
++#
++# CONFIG_PACKAGE_kmod-crypto-aead is not set
++# CONFIG_PACKAGE_kmod-crypto-aes is not set
++CONFIG_PACKAGE_kmod-crypto-arc4=y
++# CONFIG_PACKAGE_kmod-crypto-authenc is not set
++CONFIG_PACKAGE_kmod-crypto-core=y
++# CONFIG_PACKAGE_kmod-crypto-des is not set
++# CONFIG_PACKAGE_kmod-crypto-hmac is not set
++# CONFIG_PACKAGE_kmod-crypto-md5 is not set
++# CONFIG_PACKAGE_kmod-crypto-michael-mic is not set
++# CONFIG_PACKAGE_kmod-crypto-misc is not set
++# CONFIG_PACKAGE_kmod-crypto-null is not set
++# CONFIG_PACKAGE_kmod-crypto-ocf is not set
++CONFIG_PACKAGE_kmod-crypto-sha1=y
++# CONFIG_PACKAGE_kmod-crypto-test is not set
++
++#
++# Filesystems
++#
++# CONFIG_PACKAGE_kmod-fs-cifs is not set
++CONFIG_PACKAGE_kmod-fs-ext2=y
++# CONFIG_PACKAGE_kmod-fs-ext3 is not set
++# CONFIG_PACKAGE_kmod-fs-hfs is not set
++# CONFIG_PACKAGE_kmod-fs-hfsplus is not set
++CONFIG_PACKAGE_kmod-fs-isofs=y
++CONFIG_PACKAGE_kmod-fs-mbcache=y
++# CONFIG_PACKAGE_kmod-fs-minix is not set
++# CONFIG_PACKAGE_kmod-fs-msdos is not set
++# CONFIG_PACKAGE_kmod-fs-nfs is not set
++# CONFIG_PACKAGE_kmod-fs-nfsd is not set
++# CONFIG_PACKAGE_kmod-fs-ntfs is not set
++# CONFIG_PACKAGE_kmod-fs-reiserfs is not set
++# CONFIG_PACKAGE_kmod-fs-udf is not set
++# CONFIG_PACKAGE_kmod-fs-vfat is not set
++# CONFIG_PACKAGE_kmod-fs-xfs is not set
++# CONFIG_PACKAGE_kmod-fuse is not set
++CONFIG_PACKAGE_kmod-nls-base=y
++# CONFIG_PACKAGE_kmod-nls-cp1250 is not set
++# CONFIG_PACKAGE_kmod-nls-cp1251 is not set
++# CONFIG_PACKAGE_kmod-nls-cp437 is not set
++# CONFIG_PACKAGE_kmod-nls-cp850 is not set
++# CONFIG_PACKAGE_kmod-nls-iso8859-1 is not set
++# CONFIG_PACKAGE_kmod-nls-iso8859-15 is not set
++# CONFIG_PACKAGE_kmod-nls-iso8859-2 is not set
++# CONFIG_PACKAGE_kmod-nls-koi8r is not set
++# CONFIG_PACKAGE_kmod-nls-utf8 is not set
++
++#
++# Hardware Monitoring Support
++#
++# CONFIG_PACKAGE_kmod-hwmon-core is not set
++
++#
++# I2C support
++#
++# CONFIG_PACKAGE_kmod-i2c-core is not set
++
++#
++# Netfilter Extensions
++#
++CONFIG_PACKAGE_kmod-arptables=y
++# CONFIG_PACKAGE_kmod-ebtables is not set
++# CONFIG_PACKAGE_kmod-ip6tables is not set
++CONFIG_PACKAGE_kmod-ipt-conntrack=y
++# CONFIG_PACKAGE_kmod-ipt-extra is not set
++CONFIG_PACKAGE_kmod-ipt-filter=y
++CONFIG_PACKAGE_kmod-ipt-imq=y
++CONFIG_PACKAGE_kmod-ipt-ipopt=y
++CONFIG_PACKAGE_kmod-ipt-iprange=y
++# CONFIG_PACKAGE_kmod-ipt-ipsec is not set
++# CONFIG_PACKAGE_kmod-ipt-ipset is not set
++CONFIG_PACKAGE_kmod-ipt-nat=y
++CONFIG_PACKAGE_kmod-ipt-nathelper=y
++# CONFIG_PACKAGE_kmod-ipt-nathelper-extra is not set
++# CONFIG_PACKAGE_kmod-ipt-queue is not set
++# CONFIG_PACKAGE_kmod-ipt-ulog is not set
++
++#
++# Network Devices
++#
++# CONFIG_PACKAGE_kmod-3c59x is not set
++CONFIG_PACKAGE_kmod-8139too=y
++CONFIG_PACKAGE_kmod-e100=y
++CONFIG_PACKAGE_kmod-e1000=y
++CONFIG_PACKAGE_kmod-natsemi=y
++CONFIG_PACKAGE_kmod-ne2k-pci=y
++CONFIG_PACKAGE_kmod-pcnet32=y
++CONFIG_PACKAGE_kmod-r8169=y
++# CONFIG_PACKAGE_kmod-sis900 is not set
++# CONFIG_PACKAGE_kmod-sky2 is not set
++# CONFIG_PACKAGE_kmod-tg3 is not set
++# CONFIG_PACKAGE_kmod-via-rhine is not set
++
++#
++# Network Support
++#
++# CONFIG_PACKAGE_kmod-atm is not set
++# CONFIG_PACKAGE_kmod-ax25 is not set
++CONFIG_PACKAGE_kmod-bonding=y
++# CONFIG_PACKAGE_kmod-capi is not set
++CONFIG_PACKAGE_kmod-gre=y
++# CONFIG_PACKAGE_kmod-ip6-tunnel is not set
++# CONFIG_PACKAGE_kmod-ipip is not set
++# CONFIG_PACKAGE_kmod-ipsec is not set
++# CONFIG_PACKAGE_kmod-iptunnel4 is not set
++# CONFIG_PACKAGE_kmod-iptunnel6 is not set
++# CONFIG_PACKAGE_kmod-ipv6 is not set
++# CONFIG_PACKAGE_kmod-mp-alg is not set
++# CONFIG_PACKAGE_kmod-pktgen is not set
++# CONFIG_PACKAGE_kmod-ppp is not set
++CONFIG_PACKAGE_kmod-sched=y
++# CONFIG_PACKAGE_kmod-sit is not set
++CONFIG_PACKAGE_kmod-tun=y
++
++#
++# Other modules
++#
++# CONFIG_PACKAGE_kmod-button-hotplug is not set
++# CONFIG_PACKAGE_kmod-crc-itu-t is not set
++# CONFIG_PACKAGE_kmod-crc7 is not set
++# CONFIG_PACKAGE_kmod-eeprom-93cx6 is not set
++# CONFIG_PACKAGE_kmod-hid is not set
++# CONFIG_PACKAGE_kmod-input-core is not set
++# CONFIG_PACKAGE_kmod-input-evdev is not set
++# CONFIG_PACKAGE_kmod-input-polldev is not set
++# CONFIG_PACKAGE_kmod-leds-alix is not set
++# CONFIG_PACKAGE_kmod-leds-net48xx is not set
++# CONFIG_PACKAGE_kmod-leds-wrap is not set
++# CONFIG_PACKAGE_kmod-ledtrig-morse is not set
++# CONFIG_PACKAGE_kmod-ledtrig-netdev is not set
++# CONFIG_PACKAGE_kmod-mmc is not set
++# CONFIG_PACKAGE_kmod-mmc-spi is not set
++# CONFIG_PACKAGE_kmod-nsc-gpio is not set
++# CONFIG_PACKAGE_kmod-scx200-wdt is not set
++# CONFIG_PACKAGE_kmod-softdog is not set
++# CONFIG_PACKAGE_kmod-spi is not set
++# CONFIG_PACKAGE_kmod-spi-bitbang is not set
++# CONFIG_PACKAGE_kmod-spi-dev is not set
++# CONFIG_PACKAGE_kmod-spi-ks8995 is not set
++
++#
++# Sound Support
++#
++# CONFIG_PACKAGE_kmod-sound-core is not set
++
++#
++# USB Support
++#
++
++#
++# Video Support
++#
++# CONFIG_PACKAGE_kmod-video-core is not set
++
++#
++# W1 support
++#
++# CONFIG_PACKAGE_kmod-w1 is not set
++
++#
++# Wireless Drivers
++#
++# CONFIG_PACKAGE_kmod-hostap is not set
++# CONFIG_PACKAGE_kmod-ieee80211 is not set
++# CONFIG_PACKAGE_kmod-ieee80211-softmac is not set
++# CONFIG_PACKAGE_kmod-mac80211 is not set
++# CONFIG_PACKAGE_kmod-madwifi is not set
++# CONFIG_PACKAGE_kmod-net-airo is not set
++# CONFIG_PACKAGE_kmod-net-hermes is not set
++# CONFIG_PACKAGE_kmod-net-ipw2100 is not set
++# CONFIG_PACKAGE_kmod-net-ipw2200 is not set
++# CONFIG_PACKAGE_kmod-net-prism54 is not set
++# CONFIG_PACKAGE_kmod-rt2400-pci is not set
++# CONFIG_PACKAGE_kmod-rt2500-pci is not set
++# CONFIG_PACKAGE_kmod-rt2x00-lib is not set
++# CONFIG_PACKAGE_kmod-rt2x00-pci is not set
++# CONFIG_PACKAGE_kmod-rt61-pci is not set
++
++#
++# Boot Loaders
++#
++# CONFIG_PACKAGE_grub is not set
++
++#
++# Utilities
++#
++
++#
++# disc
++#
++# CONFIG_PACKAGE_cfdisk is not set
++# CONFIG_PACKAGE_fdisk is not set
++# CONFIG_PACKAGE_fuse-utils is not set
++# CONFIG_PACKAGE_swap-utils is not set
++# CONFIG_PACKAGE_dropbearconvert is not set
++# CONFIG_PACKAGE_e2fsprogs is not set
++# CONFIG_PACKAGE_fconfig is not set
++CONFIG_PACKAGE_hwclock=y
++# CONFIG_PACKAGE_kexec-tools is not set
++CONFIG_KEXEC_TOOLS_TARGET_NAME="i386"
++# CONFIG_PACKAGE_losetup is not set
++# CONFIG_PACKAGE_mount-utils is not set
++CONFIG_PACKAGE_openssl-util=y
++# CONFIG_PACKAGE_qc-usb-utils is not set
++# CONFIG_PACKAGE_robocfg is not set
++# CONFIG_PACKAGE_udev is not set
++# CONFIG_PACKAGE_udevextras is not set
++# CONFIG_UDEVEXTRAS_ata_id is not set
++# CONFIG_UDEVEXTRAS_cdrom_id is not set
++# CONFIG_UDEVEXTRAS_dasd_id is not set
++# CONFIG_UDEVEXTRAS_edd_id is not set
++# CONFIG_UDEVEXTRAS_path_id is not set
++# CONFIG_UDEVEXTRAS_scsi_id is not set
++# CONFIG_UDEVEXTRAS_usb_id is not set
++# CONFIG_UDEVEXTRAS_volume_id is not set
++
++#
++# Languages
++#
++
++#
++# LUA
++#
++# CONFIG_PACKAGE_lua is not set
++# CONFIG_PACKAGE_luac is not set



More information about the tor-commits mailing list