Initial revision
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..d19b251
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,206 @@
+# Makefile for user-mode-linux with a simple busybox/uClibc root filesystem
+#
+# Copyright (C) 2001 by Erik Andersen <andersen@codepoet.org>
+# Copyright (C) 2001 by Alcove, Julien Gaulmin <julien.gaulmin@fr.alcove.com>
+# Copyright (C) 2001 by Jon Nelson <jnelson@boa.org>
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library 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 Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library 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
+
+# Known problems :
+#  - genext2fs: couldn't allocate a block (no free space)
+#    As genext2fs allocate only one group of blocks, the FS size
+#    is limited to 8Mb.
+
+# Update this stuff by hand :
+ARCH = i386
+# If you are running a cross compiler, you may want to set this
+# to something more interesting, like "arm-linux-".
+#CROSS = $(ARCH)-linux-
+
+#IMAGE_SIZE=8192 # Max size
+#IMAGE_INODES=500
+IMAGE_SIZE=550 # library is 550K
+IMAGE_INODES=300
+
+LINUX_SOURCE=linux-2.4.14.tar.bz2
+USERMODELINUX_PATCH=uml-patch-2.4.14-6.bz2
+UCLIBC_SOURCE=uClibc-snapshot.tar.gz
+
+LINUX_URI=http://www.kernel.org/pub/linux/kernel/v2.4
+USERMODELINUX_URI=http://prdownloads.sourceforge.net/user-mode-linux
+UCLIBC_URI=http://uclibc.org/downloads/
+
+# Don't alter below this line unless you (think) you know
+# what you are doing! Danger, Danger!
+
+.SUFFIXES:            # Delete the default suffixes
+.SUFFIXES: .c .o .h   # Define our suffix list
+
+# Directories
+BASE_DIR=${shell pwd}
+TARGET_DIR=$(BASE_DIR)/root
+STAGING_DIR=$(BASE_DIR)/staging_dir
+SOURCE_DIR=$(BASE_DIR)/sources
+LINUX_DIR=$(BASE_DIR)/linux
+UCLIBC_DIR=$(BASE_DIR)/uClibc
+GENEXT2FS_DIR=$(BASE_DIR)/genext2fs
+
+TARGET_CC=$(STAGING_DIR)/bin/gcc
+TARGET_CC1=$(STAGING_DIR)/usr/bin/$(ARCH)-uclibc-gcc
+TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(ARCH)-uclibc-
+TARGET_PATH=$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:/bin:/sbin:/usr/bin:/usr/sbin
+
+LINUX=$(BASE_DIR)/UMlinux
+IMAGE=$(BASE_DIR)/root_fs
+
+KCONFIG=$(SOURCE_DIR)/linux-uml.config
+
+all:   world
+
+#So what shall we build today?
+TARGETS=
+
+-include busybox.mk
+-include boa.mk
+
+world:	$(TARGETS) $(GENEXT2FS_DIR)/genext2fs $(TARGET_DIR)
+	$(GENEXT2FS_DIR)/genext2fs \
+	 -b `echo $(IMAGE_SIZE) | bc` \
+	 -i `echo $(IMAGE_INODES) | bc` \
+	 -d $(TARGET_DIR) \
+	 -D $(SOURCE_DIR)/device_table.txt root_fs
+
+$(STAGING_DIR):
+	rm -rf $(STAGING_DIR)
+	mkdir $(STAGING_DIR)
+
+$(TARGET_DIR):
+	rm -rf $(TARGET_DIR)
+	tar -xf $(SOURCE_DIR)/skel.tar
+
+# The kernel
+$(SOURCE_DIR)/$(LINUX_SOURCE):
+	while [ ! -f $(SOURCE_DIR)/$(LINUX_SOURCE) ] ; do \
+		wget -P $(SOURCE_DIR) --passive $(LINUX_URI)/$(LINUX_SOURCE); \
+	done
+
+$(LINUX_DIR)/.unpacked:	$(SOURCE_DIR)/$(LINUX_SOURCE)
+	bunzip2 -c $(SOURCE_DIR)/$(LINUX_SOURCE) | tar -xv
+	touch $(LINUX_DIR)/.unpacked
+
+$(SOURCE_DIR)/$(USERMODELINUX_PATCH):
+	while [ ! -f $(SOURCE_DIR)/$(USERMODELINUX_PATCH) ] ; do \
+		wget -P $(SOURCE_DIR) --passive $(USERMODELINUX_URI)/$(USERMODELINUX_PATCH); \
+	done
+        
+$(LINUX_DIR)/.patched:	$(LINUX_DIR)/.unpacked $(SOURCE_DIR)/$(USERMODELINUX_PATCH)
+	bzcat $(SOURCE_DIR)/$(USERMODELINUX_PATCH) | patch -d $(LINUX_DIR) -p1
+	touch $(LINUX_DIR)/.patched
+
+$(LINUX_DIR)/.um:	$(LINUX_DIR)/.patched
+	sed -e 's/^ARCH :=.*/ARCH=um/g' < $(LINUX_DIR)/Makefile > $(LINUX_DIR)/Makefile.new && mv -f $(LINUX_DIR)/Makefile.new $(LINUX_DIR)/Makefile
+	touch $(LINUX_DIR)/.um
+
+$(LINUX_DIR)/.configdone:	$(LINUX_DIR)/.um
+	cp -f $(KCONFIG) $(LINUX_DIR)/.config
+	make -C $(LINUX_DIR) oldconfig menuconfig
+	touch $(LINUX_DIR)/.configdone
+
+$(LINUX_DIR)/.dep:	$(LINUX_DIR)/.configdone
+	make -C $(LINUX_DIR) dep
+	touch $(LINUX_DIR)/.dep
+
+$(LINUX_DIR)/linux:	$(LINUX_DIR)/.dep
+	(cd $(LINUX_DIR); make linux)
+        
+$(LINUX): $(LINUX_DIR)/linux
+	ln -sf $(LINUX_DIR)/linux $(LINUX)
+
+# uClibc
+$(SOURCE_DIR)/$(UCLIBC_SOURCE):
+	while [ ! -f $(SOURCE_DIR)/$(UCLIBC_SOURCE) ] ; do \
+	    wget -P $(SOURCE_DIR) --passive $(UCLIBC_URI)/$(UCLIBC_SOURCE) ; \
+	done;
+
+$(UCLIBC_DIR)/Config:	$(SOURCE_DIR)/$(UCLIBC_SOURCE)
+	tar -xzf $(SOURCE_DIR)/$(UCLIBC_SOURCE)
+	for p in `find $(SOURCE_DIR) -name uClibc-*.patch | sort -g`;do \
+		patch -p0 < $$p ; \
+	done
+	awk 'BEGIN { FS=" ="; REG="DODEBUG|DOLFS|INCLUDE_RPC|DOPIC";} \
+	{  if ($$0 ~ "^" REG) { print $$1 " = false" } else { print $$0 } }' < \
+	$(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) > $(UCLIBC_DIR)/Config;
+
+$(UCLIBC_DIR)/lib/libc.a:	$(LINUX) $(UCLIBC_DIR)/Config
+	$(MAKE) CROSS=$(CROSS) \
+		DEVEL_PREFIX=$(STAGING_DIR) \
+		SYSTEM_DEVEL_PREFIX=$(STAGING_DIR)/usr \
+		SHARED_LIB_LOADER_PATH=/lib \
+		KERNEL_SOURCE=$(LINUX_DIR) \
+		-C $(UCLIBC_DIR)
+
+uclibc:	$(UCLIBC_DIR)/lib/libc.a $(STAGING_DIR) $(TARGET_DIR)
+	@A=`cksum $(STAGING_DIR)/lib/libuClibc-0.9.5.so 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(UCLIBC_DIR)/lib/libuClibc-0.9.5.so 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		set -x; \
+		$(MAKE) \
+		DEVEL_PREFIX=$(STAGING_DIR) \
+		SYSTEM_DEVEL_PREFIX=$(STAGING_DIR)/usr \
+		SHARED_LIB_LOADER_PATH=$(STAGING_DIR)/lib \
+		-C $(UCLIBC_DIR) install; \
+	fi;
+	@A=`cksum $(TARGET_DIR)/lib/libuClibc-0.9.5.so 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(UCLIBC_DIR)/lib/libuClibc-0.9.5.so 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		set -x; \
+		$(MAKE) \
+		PREFIX=$(TARGET_DIR) \
+		DEVEL_PREFIX=/ \
+		SYSTEM_DEVEL_PREFIX=/usr \
+		SHARED_LIB_LOADER_PATH=/lib \
+		-C $(UCLIBC_DIR) install_runtime; \
+	fi
+        
+# genext2fs
+$(GENEXT2FS_DIR)/genext2fs:
+	$(MAKE) -C $(GENEXT2FS_DIR)
+
+# others
+clean:	$(TARGETS_CLEAN)
+	make -C $(GENEXT2FS_DIR) clean
+	@if [ -d $(UCLIBC_DIR) ] ; then \
+		make -C $(UCLIBC_DIR) clean; \
+	fi;
+	@if [ -d $(LINUX_DIR) ] ; then \
+		make -C $(UCLIBC_DIR) clean; \
+	fi;
+	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
+	rm -f *~
+
+mrproper: $(TARGETS_MRPROPER)
+	rm -rf $(UCLIBC_DIR);
+	rm -rf $(LINUX_DIR);
+	rm -f root_fs $(LINUX)
+	make -C $(GENEXT2FS_DIR) clean
+	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
+	rm -f *~
+
+distclean: mrproper $(TARGETS_DISTCLEAN)
+	rm -f $(SOURCE_DIR)/$(UCLIBC_SOURCE)
+	rm -f $(SOURCE_DIR)/$(USERMODELINUX_PATCH)
+	rm -f $(SOURCE_DIR)/$(LINUX_SOURCE)
+
+.PHONY: uclibc $(TARGETS) world test clean mrproper distclean
diff --git a/README b/README
new file mode 100644
index 0000000..aef5389
--- /dev/null
+++ b/README
@@ -0,0 +1,28 @@
+To build and use the buildroot stuff, do the following:
+
+1) run 'make'
+2) wait while it compiles 
+3) run './UMlinux' to test out your root filesystem using User Mode Linux.
+
+You do not need to be root to build or run this system.  Each Virtual Terminal
+will be opened in its own window.  You must be running X and have xterm
+installed for this to work -- otherwise you see a few errors on bootup as it
+tries to launch xterms.   It will still work on a console, but you will not
+have access to the other Virtual Terminals.
+
+Also, you the uClibc and busybox source trees that
+are downloaded are fully set up for anonymous CVS access.  You may need to set
+up your system for anonymous CVS access by running the following command:
+
+    cvs -d:pserver:anonymous@busybox.net:/var/cvs login
+
+Then just hit Enter when it prompts you for a password.  You only need to do
+this once.  Then, whenever you want to update your system, just go into the
+busybox or uClibc directory and run 'cvs update'.
+
+Have fun!
+
+ -Erik
+
+Please feed suggestions, bug reports, insults, and bribes back to:
+	Erik Andersen <andersen@codepoet.org>
diff --git a/boa.mk b/boa.mk
new file mode 100644
index 0000000..c7b62c5
--- /dev/null
+++ b/boa.mk
@@ -0,0 +1,78 @@
+# 
+TARGETS += boa
+TARGETS_CLEAN += boa_clean
+TARGETS_MRPROPER += boa_mrproper
+TARGETS_DISTCLEAN += boa_distclean
+
+# Don't alter below this line unless you (think) you know
+# what you are doing! Danger, Danger!
+
+BOA_DIR=$(BASE_DIR)/${shell basename $(BOA_SOURCE) .tar.gz}
+BOA_WORKDIR=$(BASE_DIR)/boa_workdir
+BOA_URI=http://www.boa.org
+BOA_SOURCE=boa-0.94.12pre1.tar.gz
+
+IMAGE_SIZE += +100
+
+$(SOURCE_DIR)/$(BOA_SOURCE):
+	while [ ! -f $(SOURCE_DIR)/$(BOA_SOURCE) ] ; do \
+		wget -P $(SOURCE_DIR) --passive-ftp $(BOA_URI)/$(BOA_SOURCE); \
+	done
+
+$(BOA_DIR)/.unpacked:	$(SOURCE_DIR)/$(BOA_SOURCE)
+	tar -xzf $(SOURCE_DIR)/$(BOA_SOURCE)
+	touch $(BOA_DIR)/.unpacked
+
+$(BOA_WORKDIR)/Makefile: uclibc $(BOA_DIR)/.unpacked
+	mkdir -p $(BOA_WORKDIR)
+	if [ -f $(SOURCE_DIR)/boa-config.site-$(ARCH) ]; then \
+		(cd $(BOA_WORKDIR) && CONFIG_SITE=$(SOURCE_DIR)/boa-config.site-$(ARCH) CC=$(TARGET_CC) $(BOA_DIR)/src/configure); \
+	else \
+		(cd $(BOA_WORKDIR) && CC=$(TARGET_CC) $(BOA_DIR)/src/configure); \
+	fi
+
+$(BOA_WORKDIR)/.built:	$(BOA_WORKDIR)/Makefile
+	touch $(BOA_WORKDIR)/.depend
+	make VPATH=$(BOA_DIR)/src/ -C $(BOA_WORKDIR)
+	(cd $(BOA_WORKDIR) && strip --strip-all boa boa_indexer)
+	touch $(BOA_WORKDIR)/.built
+
+boa_install_dirs = /usr/sbin /etc/boa /usr/lib/boa /var/www /usr/lib/cgi-bin
+
+TARGET_DIRS = $(foreach dir,$(boa_install_dirs),$(TARGET_DIR)/$(dir))
+
+$(TARGET_DIRS):
+	mkdir -p $@
+
+boa:	$(BOA_WORKDIR)/.built $(TARGET_DIRS) 
+	@A=`cksum $(TARGET_DIR)/usr/sbin/boa 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(BOA_WORKDIR)/boa 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		cp -f $(BOA_WORKDIR)/boa $(TARGET_DIR)/usr/sbin/boa ; \
+	fi;
+	@A=`cksum $(TARGET_DIR)/usr/lib/boa/boa_indexer 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(BOA_WORKDIR)/boa_indexer 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		cp -f $(BOA_WORKDIR)/boa_indexer $(TARGET_DIR)/usr/lib/boa/boa_indexer ; \
+	fi;
+	@A=`cksum $(TARGET_DIR)/etc/boa/boa.conf 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(SOURCE_DIR)/boa.conf 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		cp -f $(SOURCE_DIR)/boa.conf $(TARGET_DIR)/etc/boa ; \
+	fi;
+	@A=`cksum $(TARGET_DIR)/etc/mime.types 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(SOURCE_DIR)/mime.types 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		cp -f $(SOURCE_DIR)/mime.types $(TARGET_DIR)/etc/mime.types ; \
+	fi;
+
+boa_clean:
+	@if [ -d $(BOA_WORKDIR)/Makefile ] ; then \
+		make -C $(BOA_WORKDIR) clean ; \
+	fi;
+
+boa_mrproper:
+	rm -rf $(BOA_DIR) $(BOA_WORKDIR)
+
+boa_distclean:	boa_mrproper
+	rm -f $(SOURCE_DIR)/$(BOA_SOURCE)
diff --git a/busybox.mk b/busybox.mk
new file mode 100644
index 0000000..fcb61ce
--- /dev/null
+++ b/busybox.mk
@@ -0,0 +1,63 @@
+TARGETS += busybox
+TARGETS_CLEAN += busybox_clean
+TARGETS_MRPROPER += busybox_mrproper
+TARGETS_DISTCLEAN += busybox_distclean
+
+# Don't alter below this line unless you (think) you know
+# what you are doing! Danger, Danger!
+
+BUSYBOX_DIR=$(BASE_DIR)/${shell basename $(BUSYBOX_SOURCE) .tar.gz}
+BUSYBOX_WORKDIR=$(BASE_DIR)/busybox_workdir
+BUSYBOX_URI=http://busybox.net/downloads/
+BUSYBOX_SOURCE=busybox-0.60.2.tar.gz
+
+IMAGE_SIZE += +500
+
+$(SOURCE_DIR)/$(BUSYBOX_SOURCE):
+	while [ ! -f $(SOURCE_DIR)/$(BUSYBOX_SOURCE) ] ; do \
+	    wget -P $(SOURCE_DIR) --passive $(BUSYBOX_URI)/$(BUSYBOX_SOURCE) ; \
+	done
+
+$(BUSYBOX_DIR)/.unpacked:	$(SOURCE_DIR)/$(BUSYBOX_SOURCE)
+	tar -xzf $(SOURCE_DIR)/$(BUSYBOX_SOURCE)
+	touch $(BUSYBOX_DIR)/.unpacked
+	
+$(BUSYBOX_WORKDIR)/.config:	$(BUSYBOX_DIR)/.unpacked
+	rm -rf $(BUSYBOX_WORKDIR)
+	mkdir -p $(BUSYBOX_WORKDIR)
+	(cd $(BUSYBOX_WORKDIR) && sh $(BUSYBOX_DIR)/pristine_setup.sh)
+	@perl -i -p \
+		-e 's|//(#define\s+BB_)(?!FEATURE)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_VERBOSE_USAGE)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_NEW_MODULE_INTERFACE)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_COMMAND_USERNAME_COMPLETION)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_SH_FANCY_PROMPT)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_INSMOD_VERSION_CHECKING)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_IFCONFIG)|$$1|;' \
+		-e 's|//(#define\s+BB_FEATURE_DEVFS)|$$1|;' \
+		$(BUSYBOX_WORKDIR)/Config.h
+	touch $(BUSYBOX_WORKDIR)/.config
+
+$(BUSYBOX_WORKDIR)/busybox:	uclibc $(BUSYBOX_WORKDIR)/.config
+	make CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_WORKDIR)
+
+$(TARGET_DIR)/bin/busybox:	$(BUSYBOX_WORKDIR)/busybox
+	@A=`cksum $(TARGET_DIR)/bin/busybox 2>/dev/null | awk '{ print $$1 }'`; \
+	B=`cksum $(BUSYBOX_WORKDIR)/busybox 2>/dev/null | awk '{ print $$1 }'`; \
+	if [ "$$A" != "$$B" ] ; then \
+		make CROSS="$(TARGET_CROSS)" PREFIX=$(TARGET_DIR) \
+		-C $(BUSYBOX_WORKDIR) install; \
+	fi;
+
+busybox: uclibc $(TARGET_DIR)/bin/busybox
+
+busybox_clean:
+	@if [ -d $(BUSYBOX_WORKDIR)/Makefile ] ; then \
+		make -C $(BUSYBOX_WORKDIR) clean ; \
+	fi;
+
+busybox_mrproper:
+	rm -rf $(BUSYBOX_DIR) $(BUSYBOX_WORKDIR)
+
+busybox_distclean:	busybox_mrproper
+	rm -f $(SOURCE_DIR)/$(BUSYBOX_SOURCE)
diff --git a/sources/boa-config.site-i386 b/sources/boa-config.site-i386
new file mode 100644
index 0000000..425d948
--- /dev/null
+++ b/sources/boa-config.site-i386
@@ -0,0 +1 @@
+ac_cv_func_setvbuf_reversed=no
diff --git a/sources/boa.conf b/sources/boa.conf
new file mode 100644
index 0000000..ccb9563
--- /dev/null
+++ b/sources/boa.conf
@@ -0,0 +1,187 @@
+# Boa v0.94 configuration file
+# File format has not changed from 0.93
+# File format has changed little from 0.92
+# version changes are noted in the comments
+#
+# The Boa configuration file is parsed with a lex/yacc or flex/bison
+# generated parser.  If it reports an error, the line number will be
+# provided; it should be easy to spot.  The syntax of each of these
+# rules is very simple, and they can occur in any order.  Where possible
+# these directives mimic those of NCSA httpd 1.3; I saw no reason to 
+# introduce gratuitous differences.
+
+# $Id: boa.conf,v 1.1 2001/12/22 00:56:12 andersen Exp $
+
+# The "ServerRoot" is not in this configuration file.  It can be compiled
+# into the server (see defines.h) or specified on the command line with
+# the -c option, for example:
+#
+# boa -c /usr/local/boa
+
+
+# Port: The port Boa runs on.  The default port for http servers is 80.
+# If it is less than 1024, the server must be started as root.
+
+Port 80
+
+# Listen: the Internet address to bind(2) to.  If you leave it out,
+# it takes the behavior before 0.93.17.2, which is to bind to all
+# addresses (INADDR_ANY).  You only get one "Listen" directive,
+# if you want service on multiple IP addresses, you have three choices:
+#    1. Run boa without a "Listen" directive
+#       a. All addresses are treated the same; makes sense if the addresses
+#          are localhost, ppp, and eth0.
+#       b. Use the VirtualHost directive below to point requests to different
+#          files.  Should be good for a very large number of addresses (web
+#          hosting clients).
+#    2. Run one copy of boa per IP address, each has its own configuration
+#       with a "Listen" directive.  No big deal up to a few tens of addresses.
+#       Nice separation between clients.
+# The name you provide gets run through inet_aton(3), so you have to use dotted
+# quad notation.  This configuration is too important to trust some DNS.
+
+#Listen 192.68.0.5
+
+#  User: The name or UID the server should run as.
+# Group: The group name or GID the server should run as.
+
+User nobody
+Group nobody
+
+# ServerAdmin: The email address where server problems should be sent.
+# Note: this is not currently used, except as an environment variable
+# for CGIs.
+
+#ServerAdmin root@localhost
+
+# ErrorLog: The location of the error log file. If this does not start
+# with /, it is considered relative to the server root.
+# Set to /dev/null if you don't want errors logged.
+# If unset, defaults to /dev/stderr
+
+ErrorLog /var/log/boa/error_log
+# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
+#  is somewhat experimental and might fail under heavy load.
+# "Usual libc implementations of printf will stall the whole
+#  process if the receiving end of a pipe stops reading."
+#ErrorLog "|/usr/sbin/cronolog --symlink=/var/log/boa/error_log /var/log/boa/error-%Y%m%d.log"
+
+# AccessLog: The location of the access log file. If this does not
+# start with /, it is considered relative to the server root.
+# Comment out or set to /dev/null (less effective) to disable 
+# Access logging.
+
+AccessLog /var/log/boa/access_log
+# Please NOTE: Sending the logs to a pipe ('|'), as shown below,
+#  is somewhat experimental and might fail under heavy load.
+# "Usual libc implementations of printf will stall the whole
+#  process if the receiving end of a pipe stops reading."
+#AccessLog  "|/usr/sbin/cronolog --symlink=/var/log/boa/access_log /var/log/boa/access-%Y%m%d.log"
+
+# UseLocaltime: Logical switch.  Uncomment to use localtime 
+# instead of UTC time
+#UseLocaltime
+
+# VerboseCGILogs: this is just a logical switch.
+#  It simply notes the start and stop times of cgis in the error log
+# Comment out to disable.
+
+#VerboseCGILogs
+
+# ServerName: the name of this server that should be sent back to 
+# clients if different than that returned by gethostname + gethostbyname 
+
+#ServerName www.your.org.here
+
+# VirtualHost: a logical switch.
+# Comment out to disable.
+# Given DocumentRoot /var/www, requests on interface 'A' or IP 'IP-A'
+# become /var/www/IP-A.
+# Example: http://localhost/ becomes /var/www/127.0.0.1
+#
+# Not used until version 0.93.17.2.  This "feature" also breaks commonlog
+# output rules, it prepends the interface number to each access_log line.
+# You are expected to fix that problem with a postprocessing script.
+
+#VirtualHost 
+
+# DocumentRoot: The root directory of the HTML documents.
+# Comment out to disable server non user files.
+
+DocumentRoot /var/www
+
+# UserDir: The name of the directory which is appended onto a user's home
+# directory if a ~user request is recieved.
+
+UserDir public_html
+
+# DirectoryIndex: Name of the file to use as a pre-written HTML
+# directory index.  Please MAKE AND USE THESE FILES.  On the
+# fly creation of directory indexes can be _slow_.
+# Comment out to always use DirectoryMaker
+
+DirectoryIndex index.html
+
+# DirectoryMaker: Name of program used to create a directory listing.
+# Comment out to disable directory listings.  If both this and
+# DirectoryIndex are commented out, accessing a directory will give
+# an error (though accessing files in the directory are still ok).
+
+DirectoryMaker /usr/lib/boa/boa_indexer
+
+# DirectoryCache: If DirectoryIndex doesn't exist, and DirectoryMaker
+# has been commented out, the the on-the-fly indexing of Boa can be used
+# to generate indexes of directories. Be warned that the output is 
+# extremely minimal and can cause delays when slow disks are used.
+# Note: The DirectoryCache must be writable by the same user/group that 
+# Boa runs as.
+
+# DirectoryCache /var/spool/boa/dircache
+
+# KeepAliveMax: Number of KeepAlive requests to allow per connection
+# Comment out, or set to 0 to disable keepalive processing
+
+KeepAliveMax 1000
+
+# KeepAliveTimeout: seconds to wait before keepalive connection times out
+
+KeepAliveTimeout 10
+
+# MimeTypes: This is the file that is used to generate mime type pairs
+# and Content-Type fields for boa.
+# Set to /dev/null if you do not want to load a mime types file.
+# Do *not* comment out (better use AddType!)
+
+MimeTypes /etc/mime.types
+
+# DefaultType: MIME type used if the file extension is unknown, or there
+# is no file extension.
+
+DefaultType text/plain
+
+# AddType: adds types without editing mime.types
+# Example: AddType type extension [extension ...]
+
+# Uncomment the next line if you want .cgi files to execute from anywhere
+#AddType application/x-httpd-cgi cgi
+
+# Redirect, Alias, and ScriptAlias all have the same semantics -- they
+# match the beginning of a request and take appropriate action.  Use
+# Redirect for other servers, Alias for the same server, and ScriptAlias
+# to enable directories for script execution.
+
+# Redirect allows you to tell clients about documents which used to exist in
+# your server's namespace, but do not anymore. This allows you to tell the
+# clients where to look for the relocated document.
+# Example: Redirect /bar http://elsewhere/feh/bar
+
+# Aliases: Aliases one path to another.
+# Example: Alias /path1/bar /path2/foo
+
+# Alias /doc /usr/doc
+
+# ScriptAlias: Maps a virtual path to a directory for serving scripts
+# Example: ScriptAlias /htbin/ /www/htbin/
+
+ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
+
diff --git a/sources/device_table.txt b/sources/device_table.txt
new file mode 100644
index 0000000..cd2ba99
--- /dev/null
+++ b/sources/device_table.txt
@@ -0,0 +1,76 @@
+# device list table
+#<name>		<type>	<mode>	<uid>	<gid>	<major>	<minor>	<start>	<inc>	<count>
+/dev		d	755	0	0	-	-	-	-	-
+/dev/mem	c	640	0	0	1	1	0	0	-
+/dev/kmem	c	640	0	0	1	2	0	0	-
+/dev/null	c	640	0	0	1	3	0	0	-
+/dev/zero	c	640	0	0	1	5	0	0	-
+/dev/random	c	640	0	0	1	8	0	0	-
+/dev/urandom	c	640	0	0	1	9	0	0	-
+/dev/tty	c	640	0	0	5	0	0	0	-
+/dev/tty	c	640	0	0	4	0	0	1	6
+/dev/console	c	640	0	0	5	1	0	0	-
+/dev/ram	b	640	0	0	1	1	0	0	-
+/dev/ram	b	640	0	0	1	0	0	1	4
+/dev/loop	b	640	0	0	7	0	0	1	2
+/dev/ttyS	c	640	0	0	4	64	0	1	4
+#
+#
+#/dev/psaux	c	640	0	0	10	1	0	0	-
+#/dev/rtc	c	640	0	0	10	135	0	0	-
+#/dev/fd	b	640	0	0	2	0	0	0	1
+#
+# IDE Devices
+/dev/hda	b	640	0	0	3	0	0	0	-
+/dev/hda	b	640	0	0	3	1	1	1	1
+/dev/hdb	b	640	0	0	3	64	0	0	-
+/dev/hdb	b	640	0	0	3	65	1	1	1
+#/dev/hdc	b	640	0	0	22	0	0	0	-
+#/dev/hdc	b	640	0	0	22	1	1	1	1
+#/dev/hdd	b	640	0	0	22	64	0	0	-
+#/dev/hdd	b	640	0	0	22	65	1	1	1
+#/dev/hde	b	640	0	0	33	0	0	0	-
+#/dev/hde	b	640	0	0	33	1	1	1	1
+#/dev/hdf	b	640	0	0	33	64	0	0	-
+#/dev/hdf	b	640	0	0	33	65	1	1	1
+#/dev/hdg	b	640	0	0	34	64	0	0	-
+#/dev/hdg	b	640	0	0	34	65	1	1	1
+#/dev/hdh	b	640	0	0	34	64	0	0	-
+#/dev/hdh	b	640	0	0	34	65	1	1	1
+# SCSI Devices
+#/dev/sda	b	640	0	0	8	0	0	0	-
+#/dev/sda	b	640	0	0	8	1	1	1	1
+#/dev/sdb	b	640	0	0	8	16	0	0	-
+#/dev/sdb	b	640	0	0	8	17	1	1	1
+#/dev/sdc	b	640	0	0	8	32	0	0	-
+#/dev/sdc	b	640	0	0	8	33	1	1	1
+#/dev/sdd	b	640	0	0	8	48	0	0	-
+#/dev/sdd	b	640	0	0	8	49	1	1	1
+#/dev/sde	b	640	0	0	8	64	0	0	-
+#/dev/sde	b	640	0	0	8	65	1	1	1
+#/dev/sdf	b	640	0	0	8	80	0	0	-
+#/dev/sdf	b	640	0	0	8	81	1	1	1
+#/dev/sdg	b	640	0	0	8	96	0	0	-
+#/dev/sdg	b	640	0	0	8	97	1	1	1
+#/dev/sdh	b	640	0	0	8	112	0	0	-
+#/dev/sdh	b	640	0	0	8	113	1	1	1
+#/dev/sg		c	640	0	0	21	0	0	1	1
+#/dev/scd	b	640	0	0	11	0	0	1	1
+#/dev/st		b	640	0	0	9	0	1	1	4
+#/dev/st	b	640	0	0	9	32	1	1	4
+#/dev/st	b	640	0	0	9	64	1	1	4
+#/dev/st	b	640	0	0	9	96	1	1	4
+# All the proprietary cdrom devices in the world
+#/dev/aztcd	b	640	0	0	29	0	0	0	-
+#/dev/bpcd	b	640	0	0	41	0	0	0	-
+#/dev/capi20	c	640	0	0	68	0	0	1	2
+#/dev/cdu31a	b	640	0	0	15	0	0	0	-
+#/dev/cdu535	b	640	0	0	24	0	0	0	-
+#/dev/cm206cd	b	640	0	0	32	0	0	0	-
+#/dev/sjcd	b	640	0	0	18	0	0	0	-
+#/dev/sonycd	b	640	0	0	15	0	0	0	-
+#/dev/gscd	b	640	0	0	16	0	0	0	-
+#/dev/sbpcd	b	640	0	0	25	0	0	0	-
+#/dev/sbpcd	b	640	0	0	25	0	0	1	4
+#/dev/mcd	b	640	0	0	23	0	0	0	-
+#/dev/optcd	b	640	0	0	17	0	0	0	-
diff --git a/sources/linux-uml.config b/sources/linux-uml.config
new file mode 100644
index 0000000..977472e
--- /dev/null
+++ b/sources/linux-uml.config
@@ -0,0 +1,322 @@
+#
+# Automatically generated make config: don't edit
+#
+CONFIG_USERMODE=y
+CONFIG_ISA=y
+# CONFIG_SBUS is not set
+CONFIG_UID16=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+
+#
+# Processor features
+#
+
+#
+# General Setup
+#
+CONFIG_STDIO_CONSOLE=y
+CONFIG_NET=y
+CONFIG_SYSVIPC=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_UNIX98_PTY_COUNT=256
+CONFIG_SSL=y
+CONFIG_HOSTFS=y
+CONFIG_MCONSOLE=y
+CONFIG_MAGIC_SYSRQ=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_KMOD=y
+
+#
+# Devices
+#
+CONFIG_BLK_DEV_UBD=y
+CONFIG_BLK_DEV_UBD_SYNC=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_MMAPPER is not set
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_NETLINK=y
+CONFIG_RTNETLINK=y
+# CONFIG_NETLINK_DEV is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_FILTER is not set
+CONFIG_UNIX=y
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_INET_ECN is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_IPV6 is not set
+# CONFIG_KHTTPD is not set
+# CONFIG_ATM is not set
+
+#
+#  
+#
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_DECNET is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_LLC is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_FASTROUTE is not set
+# CONFIG_NET_HW_FLOWCONTROL is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network drivers
+#
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+CONFIG_ETHERTAP=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_MYRI_SBUS is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PLIP is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPPOE is not set
+CONFIG_SLIP=y
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+# CONFIG_NET_FC is not set
+# CONFIG_RCPCI is not set
+# CONFIG_SHAPER is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+CONFIG_UML_NET=y
+CONFIG_UML_NET_ETHERTAP=y
+CONFIG_UML_NET_TUNTAP=y
+CONFIG_UML_NET_SLIP=y
+CONFIG_UML_NET_DAEMON=y
+CONFIG_UML_NET_MCAST=y
+CONFIG_ETHERTAP=y
+CONFIG_TUN=y
+
+#
+# File systems
+#
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_ADFS_FS_RW is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_CMS_FS is not set
+CONFIG_EXT3_FS=y
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_UMSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_CRAMFS=y
+CONFIG_TMPFS=y
+CONFIG_RAMFS=y
+# CONFIG_ISO9660_FS is not set
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+CONFIG_MINIX_FS=y
+# CONFIG_FREEVXFS_FS is not set
+# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS_RW is not set
+# CONFIG_HPFS_FS is not set
+CONFIG_PROC_FS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVFS_MOUNT is not set
+# CONFIG_DEVFS_DEBUG is not set
+CONFIG_DEVPTS_FS=y
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX4FS_RW is not set
+CONFIG_ROMFS_FS=y
+CONFIG_EXT2_FS=y
+# CONFIG_SYSV_FS is not set
+# CONFIG_UDF_FS is not set
+# CONFIG_UDF_RW is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_UFS_FS_WRITE is not set
+
+#
+# Network File Systems
+#
+# CONFIG_CODA_FS is not set
+# CONFIG_INTERMEZZO_FS is not set
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_ROOT_NFS is not set
+# CONFIG_NFSD is not set
+# CONFIG_NFSD_V3 is not set
+CONFIG_SUNRPC=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+# CONFIG_SMB_FS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_NCPFS_SMALLDOS is not set
+# CONFIG_NCPFS_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
+# CONFIG_ZISOFS_FS is not set
+CONFIG_ZLIB_FS_INFLATE=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+CONFIG_ATARI_PARTITION=y
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+CONFIG_SGI_PARTITION=y
+CONFIG_ULTRIX_PARTITION=y
+CONFIG_SUN_PARTITION=y
+# CONFIG_SMB_NLS is not set
+CONFIG_NLS=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Kernel hacking
+#
+# CONFIG_DEBUGSYM is not set
+# CONFIG_PT_PROXY is not set
+# CONFIG_GPROF is not set
+# CONFIG_GCOV is not set
diff --git a/sources/mime.types b/sources/mime.types
new file mode 100644
index 0000000..53f6ea1
--- /dev/null
+++ b/sources/mime.types
@@ -0,0 +1,205 @@
+###############################################################################
+#
+#  MIME-TYPES and the extensions that represent them
+#
+#  This file is part of the "mime-support" package.  Please send email (not a
+#  bug report) to mime-support@packages.debian.org if you would like new types
+#  and/or extensions to be added.
+#
+#  Note: Compression schemes like "gzip", "bzip", and "compress" are not
+#  actually "mime-types".  They are "encodings" and hence must _not_ have
+#  entries in this file to map their extensions.  The "mime-type" of an
+#  encoded file refers to the type of data that has been encoded, not the
+#  type of the encoding.
+#
+###############################################################################
+
+
+application/activemessage
+application/andrew-inset
+application/applefile
+application/atomicmail
+application/cu-seeme				csm cu
+application/dca-rft
+application/dec-dx
+application/dsptype				tsp
+application/futuresplash			spl
+application/ghostview
+application/mac-binhex40			hqx
+application/macwriteii
+application/msaccess				mdb
+application/msword				doc dot
+application/news-message-id
+application/news-transmission
+application/octet-stream			bin
+application/oda					oda
+application/pdf					pdf
+application/pgp-signature			pgp
+application/postscript				ps ai eps
+application/remote-printing
+application/rtf					rtf
+application/slate
+application/vnd.ms-excel			xls xlb
+application/vnd.ms-powerpoint			ppt pps pot
+application/vnd.wap.wmlc			wmlc
+application/vnd.wap.wmlscriptc			wmlsc
+application/wita
+application/wordperfect5.1			wp5
+application/zip					zip
+application/x-123				wk
+application/x-bcpio				bcpio
+application/x-chess-pgn				pgn
+application/x-core
+application/x-cpio				cpio
+application/x-csh
+application/x-debian-package			deb
+application/x-director				dcr dir dxr
+application/x-dms				dms
+application/x-dvi				dvi
+application/x-executable
+application/x-font				pfa pfb gsf pcf pcf.Z
+application/x-gnumeric				gnumeric
+application/x-gtar				gtar tgz
+application/x-hdf				hdf
+application/x-httpd-php				phtml pht php
+application/x-httpd-php3			php3
+application/x-httpd-php3-source			phps
+application/x-httpd-php3-preprocessed 		php3p
+application/x-httpd-php4			php4
+application/x-ica				ica
+application/x-java				class
+application/x-javascript			js
+application/x-kdelnk
+application/x-kchart				chrt
+application/x-killustrator			kil
+application/x-kpresenter			kpr kpt
+application/x-kspread				ksp
+application/x-kword				kwd kwt
+application/x-latex				latex
+application/x-lha				lha
+application/x-lzh				lzh
+application/x-lzx				lzx
+application/x-maker				frm maker frame fm fb book fbdoc
+application/x-mif				mif
+application/x-msdos-program			com exe bat dll
+application/x-msi				msi
+application/x-netcdf				nc cdf
+application/x-ns-proxy-autoconfig		pac
+application/x-object				o
+application/x-ogg				ogg
+application/x-oz-application			oza
+application/x-perl				pl pm
+application/x-redhat-package-manager		rpm
+application/x-rx
+application/x-sh
+application/x-shar				shar
+application/x-shellscript
+application/x-shockwave-flash			swf swfl
+application/x-stuffit				sit
+application/x-sv4cpio				sv4cpio
+application/x-sv4crc				sv4crc
+application/x-tar				tar
+application/x-tcl
+application/x-tex
+application/x-tex-gf				gf
+application/x-tex-pk				pk PK
+application/x-texinfo				texinfo texi
+application/x-trash				~ % bak old sik
+application/x-troff				t tr roff
+application/x-troff-man				man
+application/x-troff-me				me
+application/x-troff-ms				ms
+application/x-ustar				ustar
+application/x-wais-source			src
+application/x-wingz				wz
+
+audio/basic					au snd
+audio/midi					mid midi
+audio/mpeg					mpga mpega mp2 mp3
+audio/mpegurl					m3u
+audio/prs.sid					sid
+audio/x-aiff					aif aiff aifc
+audio/x-gsm					gsm
+audio/x-pn-realaudio				ra rm ram
+audio/x-wav					wav
+
+image/bitmap					bmp
+image/gif					gif
+image/ief					ief
+image/jpeg					jpeg jpg jpe
+image/pcx					pcx
+image/png					png
+image/tiff					tiff tif
+image/vnd.wap.wbmp				wbmp
+image/x-cmu-raster				ras
+image/x-coreldraw				cdr
+image/x-coreldrawpattern			pat
+image/x-coreldrawtemplate			cdt
+image/x-corelphotopaint				cpt
+image/x-jng					jng
+image/x-portable-anymap				pnm
+image/x-portable-bitmap				pbm
+image/x-portable-graymap			pgm
+image/x-portable-pixmap				ppm
+image/x-rgb					rgb
+image/x-xbitmap					xbm
+image/x-xpixmap					xpm
+image/x-xwindowdump				xwd
+
+inode/chardevice
+inode/blockdevice
+inode/directory-locked
+inode/directory
+inode/fifo
+inode/socket
+
+message/external-body
+message/news
+message/partial
+message/rfc822
+
+multipart/alternative
+multipart/appledouble
+multipart/digest
+multipart/mixed
+multipart/parallel
+
+text/comma-separated-values			csv
+text/css					css
+text/english
+text/html					htm html xhtml
+text/mathml					mml
+text/plain					txt text diff
+text/richtext					rtx
+text/tab-separated-values			tsv
+text/vnd.wap.wml				wml
+text/vnd.wap.wmlscript				wmls
+text/xml					xml
+text/x-c++hdr					h++ hpp hxx hh
+text/x-c++src					c++ cpp cxx cc
+text/x-chdr					h
+text/x-crontab
+text/x-csh					csh
+text/x-csrc					c
+text/x-java					java
+text/x-makefile
+text/x-moc					moc
+text/x-pascal					p pas
+text/x-setext					etx
+text/x-sh					sh
+text/x-tcl					tcl tk
+text/x-tex					tex ltx sty cls
+text/x-vcalendar				vcs
+text/x-vcard					vcf
+
+video/dl					dl
+video/fli					fli
+video/gl					gl
+video/mpeg					mpeg mpg mpe
+video/quicktime					qt mov
+video/x-mng					mng
+video/x-ms-asf					asf asx
+video/x-msvideo					avi
+video/x-sgi-movie				movie
+
+x-world/x-vrml					vrm vrml wrl
diff --git a/sources/skel.tar b/sources/skel.tar
new file mode 100644
index 0000000..24b36c4
--- /dev/null
+++ b/sources/skel.tar
Binary files differ