Initial revision

This commit is contained in:
Eric Andersen 2001-12-22 00:56:11 +00:00
commit ffde94bd2c
10 changed files with 1166 additions and 0 deletions

206
Makefile Normal file
View File

@ -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

28
README Normal file
View File

@ -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>

78
boa.mk Normal file
View File

@ -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)

63
busybox.mk Normal file
View File

@ -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)

View File

@ -0,0 +1 @@
ac_cv_func_setvbuf_reversed=no

187
sources/boa.conf Normal file
View File

@ -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/

76
sources/device_table.txt Normal file
View File

@ -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 -

322
sources/linux-uml.config Normal file
View File

@ -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

205
sources/mime.types Normal file
View File

@ -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

BIN
sources/skel.tar Normal file

Binary file not shown.