summaryrefslogtreecommitdiffstats
path: root/projectroot
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2015-06-11 12:18:01 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2015-06-18 16:22:13 +0200
commit28db1773524eb763569939d4066e32dbf50c69a0 (patch)
tree964e2f4165b48179d7ac39ac8d472788d60f99f0 /projectroot
parent878707bd943a04fc8e3a55a151499359e81ce780 (diff)
downloadptxdist-28db1773524eb763569939d4066e32dbf50c69a0.tar.gz
ptxdist-28db1773524eb763569939d4066e32dbf50c69a0.tar.xz
generic: rename generic -> projectroot
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'projectroot')
l---------projectroot1
-rw-r--r--projectroot/bin/ipkg_log_wrapper19
-rw-r--r--projectroot/bin/rtps3
-rw-r--r--projectroot/boot/grub/menu.lst18
-rw-r--r--projectroot/etc/NetworkManager/NetworkManager.conf5
-rw-r--r--projectroot/etc/X11/xorg.conf78
-rw-r--r--projectroot/etc/acpi/events/power_button4
-rw-r--r--projectroot/etc/apache2/httpd.conf1037
-rw-r--r--projectroot/etc/at.deny24
-rw-r--r--projectroot/etc/boa/boa.conf183
-rw-r--r--projectroot/etc/busybox.conf5
-rw-r--r--projectroot/etc/chatscripts/disconnect8
-rw-r--r--projectroot/etc/chatscripts/provider19
-rw-r--r--projectroot/etc/chrony/chrony.conf97
-rw-r--r--projectroot/etc/chrony/chrony.keys4
-rw-r--r--projectroot/etc/collectd.conf46
-rw-r--r--projectroot/etc/collectd.d/cpu.conf1
-rw-r--r--projectroot/etc/collectd.d/logfile.conf9
-rw-r--r--projectroot/etc/collectd.d/rrdtool.conf10
-rw-r--r--projectroot/etc/collectd.d/syslog.conf6
-rw-r--r--projectroot/etc/dbus-1/session.conf61
-rw-r--r--projectroot/etc/dbus-1/system.conf83
-rw-r--r--projectroot/etc/dbus-1/system.d/avahi-dbus.conf28
-rw-r--r--projectroot/etc/dhclient-script302
-rw-r--r--projectroot/etc/dhclient.conf36
-rw-r--r--projectroot/etc/dhcpd.conf104
-rw-r--r--projectroot/etc/directfbrc2
-rw-r--r--projectroot/etc/dnsmasq.conf506
-rw-r--r--projectroot/etc/frodorc26
-rw-r--r--projectroot/etc/fstab17
-rw-r--r--projectroot/etc/fw_env.config19
-rw-r--r--projectroot/etc/group24
-rw-r--r--projectroot/etc/gshadow3
-rw-r--r--projectroot/etc/hostname1
-rw-r--r--projectroot/etc/hosts1
-rw-r--r--projectroot/etc/hosts.allow12
-rw-r--r--projectroot/etc/hosts.deny19
-rw-r--r--projectroot/etc/hosts.equiv7
-rw-r--r--projectroot/etc/inadyn.conf32
-rw-r--r--projectroot/etc/inetd.conf.d/cvs1
-rw-r--r--projectroot/etc/inetd.conf.d/dnsmasq1
-rw-r--r--projectroot/etc/inetd.conf.d/fam1
-rw-r--r--projectroot/etc/inetd.conf.d/ftpd3
-rw-r--r--projectroot/etc/inetd.conf.d/inetutils-rshd1
-rw-r--r--projectroot/etc/inetd.conf.d/portmap1
-rw-r--r--projectroot/etc/inetd.conf.d/rsync1
-rw-r--r--projectroot/etc/inetd.conf.d/telnetd1
-rw-r--r--projectroot/etc/inetd.conf.d/tftp1
-rw-r--r--projectroot/etc/init.d/NetworkManager84
-rw-r--r--projectroot/etc/init.d/acpid41
-rw-r--r--projectroot/etc/init.d/alsa-utils30
-rw-r--r--projectroot/etc/init.d/apache244
-rw-r--r--projectroot/etc/init.d/atd37
-rw-r--r--projectroot/etc/init.d/avahi-daemon101
-rw-r--r--projectroot/etc/init.d/boa23
-rw-r--r--projectroot/etc/init.d/chrony167
-rw-r--r--projectroot/etc/init.d/connman37
-rw-r--r--projectroot/etc/init.d/crond13
-rw-r--r--projectroot/etc/init.d/cvs4
-rw-r--r--projectroot/etc/init.d/dbus84
-rw-r--r--projectroot/etc/init.d/dibbler-client50
-rw-r--r--projectroot/etc/init.d/dibbler-relay50
-rw-r--r--projectroot/etc/init.d/dibbler-server50
-rw-r--r--projectroot/etc/init.d/dnsmasq32
-rw-r--r--projectroot/etc/init.d/dropbear77
-rw-r--r--projectroot/etc/init.d/fake-overlayfs18
-rw-r--r--projectroot/etc/init.d/famd13
-rw-r--r--projectroot/etc/init.d/gpsd32
-rw-r--r--projectroot/etc/init.d/hwclock21
-rw-r--r--projectroot/etc/init.d/inetd51
-rw-r--r--projectroot/etc/init.d/lighttpd55
-rwxr-xr-xprojectroot/etc/init.d/lldpd139
-rw-r--r--projectroot/etc/init.d/logrotate49
-rw-r--r--projectroot/etc/init.d/lvm224
-rw-r--r--projectroot/etc/init.d/modules42
-rw-r--r--projectroot/etc/init.d/monit167
-rw-r--r--projectroot/etc/init.d/mysql4
-rw-r--r--projectroot/etc/init.d/networking35
-rw-r--r--projectroot/etc/init.d/nfsd22
-rw-r--r--projectroot/etc/init.d/ntp-client64
-rw-r--r--projectroot/etc/init.d/ntp-server64
-rw-r--r--projectroot/etc/init.d/ntpclient13
-rw-r--r--projectroot/etc/init.d/openssh60
-rw-r--r--projectroot/etc/init.d/portmapd12
-rw-r--r--projectroot/etc/init.d/pppd60
-rw-r--r--projectroot/etc/init.d/proftpd88
-rw-r--r--projectroot/etc/init.d/pureftpd117
-rw-r--r--projectroot/etc/init.d/rc-once36
-rw-r--r--projectroot/etc/init.d/rcS22
-rw-r--r--projectroot/etc/init.d/rngd40
-rw-r--r--projectroot/etc/init.d/rsyncd13
-rw-r--r--projectroot/etc/init.d/rt-set-bandwidth36
-rw-r--r--projectroot/etc/init.d/samba45
-rw-r--r--projectroot/etc/init.d/smartd30
-rw-r--r--projectroot/etc/init.d/splashutils53
-rw-r--r--projectroot/etc/init.d/sramdisk71
-rw-r--r--projectroot/etc/init.d/startup5
-rw-r--r--projectroot/etc/init.d/sysctl23
-rw-r--r--projectroot/etc/init.d/syslog-ng47
-rw-r--r--projectroot/etc/init.d/syslogd26
-rw-r--r--projectroot/etc/init.d/telnetd21
-rw-r--r--projectroot/etc/init.d/tftpd13
-rw-r--r--projectroot/etc/init.d/thttpd52
-rw-r--r--projectroot/etc/init.d/tomcat52
-rw-r--r--projectroot/etc/init.d/udev96
-rw-r--r--projectroot/etc/init.d/udhcpd21
-rw-r--r--projectroot/etc/init.d/urshd34
-rw-r--r--projectroot/etc/init.d/zeroconf103
-rw-r--r--projectroot/etc/inittab11
-rw-r--r--projectroot/etc/inputrc44
-rw-r--r--projectroot/etc/ipkg.conf12
-rw-r--r--projectroot/etc/irssi.conf246
-rw-r--r--projectroot/etc/issue6
-rw-r--r--projectroot/etc/lighttpd/conf.d/mod_fastcgi_php.conf17
-rw-r--r--projectroot/etc/lighttpd/lighttpd.conf72
-rwxr-xr-xprojectroot/etc/mdev.conf6
-rw-r--r--projectroot/etc/minirc.dfl7
-rw-r--r--projectroot/etc/mke2fs.conf44
-rw-r--r--projectroot/etc/modprobe.conf0
-rw-r--r--projectroot/etc/modules0
-rw-r--r--projectroot/etc/monitrc8
-rw-r--r--projectroot/etc/mtab0
-rw-r--r--projectroot/etc/network/interfaces6
-rw-r--r--projectroot/etc/nsswitch.conf22
-rw-r--r--projectroot/etc/ntp-client.conf1
-rw-r--r--projectroot/etc/ntp-server.conf1
-rw-r--r--projectroot/etc/ntpd.conf0
-rw-r--r--projectroot/etc/opkg/opkg.conf16
-rw-r--r--projectroot/etc/os-release14
-rw-r--r--projectroot/etc/passwd12
-rw-r--r--projectroot/etc/php5/php.ini1337
-rw-r--r--projectroot/etc/ppp/chap-secrets2
-rw-r--r--projectroot/etc/ppp/ip-down46
-rw-r--r--projectroot/etc/ppp/ip-up46
-rw-r--r--projectroot/etc/ppp/options47
-rw-r--r--projectroot/etc/ppp/options.server8
-rw-r--r--projectroot/etc/ppp/options.ttyS05
-rw-r--r--projectroot/etc/ppp/pap-secrets43
-rw-r--r--projectroot/etc/ppp/peers/provider21
-rw-r--r--projectroot/etc/prelink.conf7
-rw-r--r--projectroot/etc/prelink.conf.d/apache22
-rw-r--r--projectroot/etc/prelink.conf.d/classpath1
-rw-r--r--projectroot/etc/prelink.conf.d/directfb1
-rw-r--r--projectroot/etc/prelink.conf.d/gstreamer1
-rw-r--r--projectroot/etc/prelink.conf.d/gstreamer11
-rw-r--r--projectroot/etc/prelink.conf.d/qt41
-rw-r--r--projectroot/etc/prelink.conf.d/xorg2
-rw-r--r--projectroot/etc/profile27
-rw-r--r--projectroot/etc/profile.d/systemd.sh2
-rw-r--r--projectroot/etc/profile.environment12
-rw-r--r--projectroot/etc/proftpd.conf78
-rw-r--r--projectroot/etc/protocols5
-rw-r--r--projectroot/etc/pure-ftpd.conf1
-rw-r--r--projectroot/etc/radvd.conf11
-rw-r--r--projectroot/etc/rc.once.d/dropbear33
-rw-r--r--projectroot/etc/rc.once.d/fc-cache3
-rw-r--r--projectroot/etc/rc.once.d/machine-id14
-rw-r--r--projectroot/etc/rc.once.d/openssh33
-rw-r--r--projectroot/etc/rc.once.d/prelink17
-rw-r--r--projectroot/etc/resolv.conf1
-rw-r--r--projectroot/etc/rsyncd.conf31
-rw-r--r--projectroot/etc/rsyncd.secrets2
-rw-r--r--projectroot/etc/rsyslog.conf11
-rw-r--r--projectroot/etc/samba/smb.conf38
-rw-r--r--projectroot/etc/screenrc89
-rw-r--r--projectroot/etc/services563
-rw-r--r--projectroot/etc/shadow4
-rw-r--r--projectroot/etc/smartd.conf2
-rw-r--r--projectroot/etc/snmp/snmpd.conf193
-rw-r--r--projectroot/etc/ssh/ssh_config42
-rw-r--r--projectroot/etc/ssh/sshd_config105
-rw-r--r--projectroot/etc/ssmtp/ssmtp.conf43
-rw-r--r--projectroot/etc/sudoers33
-rw-r--r--projectroot/etc/sysctl.conf4
-rw-r--r--projectroot/etc/syslog-ng.conf37
-rw-r--r--projectroot/etc/syslog.conf7
-rw-r--r--projectroot/etc/systemd/journald.conf32
-rw-r--r--projectroot/etc/timezone1
-rw-r--r--projectroot/etc/ts.conf25
-rw-r--r--projectroot/etc/udev/rules.d/udev.rules14
-rw-r--r--projectroot/etc/udev/udev.conf9
-rw-r--r--projectroot/etc/udhcpc.script39
-rw-r--r--projectroot/etc/udhcpd.conf115
-rw-r--r--projectroot/etc/vconsole.conf4
-rw-r--r--projectroot/etc/vga/libvga.config52
-rw-r--r--projectroot/etc/wpa_supplicant.conf0
-rw-r--r--projectroot/initramfs/etc/udev/udev.conf4
-rwxr-xr-xprojectroot/lib/init/initmethod-bbinit-functions.sh32
-rw-r--r--projectroot/lib/init/nm-unmanage.sh29
-rw-r--r--projectroot/lib/init/rc-once.sh25
-rwxr-xr-xprojectroot/lib/systemd/connman-ignore15
-rwxr-xr-xprojectroot/lib/systemd/ifupdown-prepare7
-rw-r--r--projectroot/lib/systemd/network/eth0.network5
-rw-r--r--projectroot/lib/systemd/system/NetworkManager-unmanage.service11
-rw-r--r--projectroot/lib/systemd/system/NetworkManager.service22
-rw-r--r--projectroot/lib/systemd/system/alfred@.service8
-rw-r--r--projectroot/lib/systemd/system/batadv-vis@.service9
-rw-r--r--projectroot/lib/systemd/system/collectd.service9
-rw-r--r--projectroot/lib/systemd/system/connman-ignore.service12
-rw-r--r--projectroot/lib/systemd/system/connman.service15
-rw-r--r--projectroot/lib/systemd/system/dnsmasq.service11
-rw-r--r--projectroot/lib/systemd/system/fake-overlayfs.service11
-rw-r--r--projectroot/lib/systemd/system/ifupdown-prepare.service11
-rw-r--r--projectroot/lib/systemd/system/ifupdown.service10
-rw-r--r--projectroot/lib/systemd/system/lighttpd.service10
-rw-r--r--projectroot/lib/systemd/system/munin-node.service11
-rw-r--r--projectroot/lib/systemd/system/nfs.target5
-rw-r--r--projectroot/lib/systemd/system/ntpd.service8
-rw-r--r--projectroot/lib/systemd/system/pure-ftpd.socket9
-rw-r--r--projectroot/lib/systemd/system/pure-ftpd@.service7
-rw-r--r--projectroot/lib/systemd/system/pure-uploadscript.service5
-rw-r--r--projectroot/lib/systemd/system/radvd.service7
-rw-r--r--projectroot/lib/systemd/system/rc-once.service13
-rw-r--r--projectroot/lib/systemd/system/rpc-statd.service10
-rw-r--r--projectroot/lib/systemd/system/sshd.socket9
-rw-r--r--projectroot/lib/systemd/system/sshd@.service8
-rw-r--r--projectroot/lib/systemd/system/telnetd.socket10
-rw-r--r--projectroot/lib/systemd/system/telnetd@.service7
-rw-r--r--projectroot/lib/systemd/system/urshd.service10
-rw-r--r--projectroot/lib/systemd/system/utelnetd.service9
-rw-r--r--projectroot/lib/systemd/systemd-rc-once48
-rw-r--r--projectroot/loader/entries/default.conf5
-rw-r--r--projectroot/sbin/bootchartd48
-rw-r--r--projectroot/sbin/enable-rc-once11
-rw-r--r--projectroot/sbin/fake-overlayfs26
-rwxr-xr-xprojectroot/sbin/init16
-rwxr-xr-xprojectroot/usr/bin/chrony_command27
-rwxr-xr-xprojectroot/usr/bin/chrony_stat107
-rwxr-xr-xprojectroot/usr/bin/ldd213
-rw-r--r--projectroot/usr/bin/poff15
-rw-r--r--projectroot/usr/bin/pon15
-rw-r--r--projectroot/usr/lib/crda/regulatory.binbin0 -> 4344 bytes
-rw-r--r--projectroot/usr/lib/tmpfiles.d/lighttpd.conf1
-rw-r--r--projectroot/usr/lib/tmpfiles.d/nfs.conf6
-rw-r--r--projectroot/usr/lib/tmpfiles.d/ssh.conf1
-rw-r--r--projectroot/var/lib/connman/settings6
-rw-r--r--projectroot/var/www/bottles.php58
-rw-r--r--projectroot/var/www/httpd.html10
-rw-r--r--projectroot/var/www/index.html19
-rw-r--r--projectroot/var/www/lighttpd.html23
-rw-r--r--projectroot/var/www/more_bottles.php211
-rw-r--r--projectroot/var/www/thttpd.html15
242 files changed, 10896 insertions, 1 deletions
diff --git a/projectroot b/projectroot
deleted file mode 120000
index df999dd7e..000000000
--- a/projectroot
+++ /dev/null
@@ -1 +0,0 @@
-generic \ No newline at end of file
diff --git a/projectroot/bin/ipkg_log_wrapper b/projectroot/bin/ipkg_log_wrapper
new file mode 100644
index 000000000..aac142fca
--- /dev/null
+++ b/projectroot/bin/ipkg_log_wrapper
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# ipkg wrapper - log when installing / removing things
+#
+
+[ -e "/etc/ipkg_log_wrapper.cf" ] && . /etc/ipkg_log_wrapper.cf
+
+FULLARGS="$@"
+IDENT="$(date -R)"
+IPKG=${IPKG:=/usr/bin/ipkg-cl}
+LOGDIR=${LOGDIR:=/var/cache/ipkg}
+LOGFILENAME=${LOGFILENAME:=ipkg_activities.log}
+LOGFILE=$LOGDIR/$LOGFILENAME
+
+[ -e "$LOGDIR" ] || mkdir -p $LOGDIR
+echo -n "$IDENT - $FULLARGS" >> $LOGFILE
+$IPKG $FULLARGS
+echo " ($?)" >> $LOGFILE
+
diff --git a/projectroot/bin/rtps b/projectroot/bin/rtps
new file mode 100644
index 000000000..80fcd0944
--- /dev/null
+++ b/projectroot/bin/rtps
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm \ No newline at end of file
diff --git a/projectroot/boot/grub/menu.lst b/projectroot/boot/grub/menu.lst
new file mode 100644
index 000000000..acf8c8359
--- /dev/null
+++ b/projectroot/boot/grub/menu.lst
@@ -0,0 +1,18 @@
+serial --unit=0 --speed=115200
+terminal --timeout=2 serial console
+
+default saved
+timeout 2
+color cyan/blue white/blue
+
+title Standalone Boot
+root (hd0,0)
+kernel /boot/bzImage root=@ROOTDEV@ console=ttyS0,115200 ide=nodma
+savedefault
+
+title Network Boot
+ifconfig --server=@SERVERIP@ --gateway=@GATEWAY@ --mask=@NETMASK@ --address=@IPADDR@
+root (nd)
+kernel @TFTP_PATH@/linux root=/dev/nfs console=ttyS0,115200 ide=nodma ip=@IPADDR@:@SERVERIP@:@GATEWAY@:@NETMASK@::eth0: nfsroot=@NFSROOT_PATH@
+savedefault
+
diff --git a/projectroot/etc/NetworkManager/NetworkManager.conf b/projectroot/etc/NetworkManager/NetworkManager.conf
new file mode 100644
index 000000000..d8b33d914
--- /dev/null
+++ b/projectroot/etc/NetworkManager/NetworkManager.conf
@@ -0,0 +1,5 @@
+[main]
+plugins=ifupdown,keyfile
+
+[ifupdown]
+managed=false
diff --git a/projectroot/etc/X11/xorg.conf b/projectroot/etc/X11/xorg.conf
new file mode 100644
index 000000000..9fa7fe737
--- /dev/null
+++ b/projectroot/etc/X11/xorg.conf
@@ -0,0 +1,78 @@
+
+Section "Files"
+ FontPath "/usr/lib/X11/fonts/misc"
+ FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
+ FontPath "/usr/lib/X11/fonts/75dpi"
+EndSection
+
+### Disable default modules
+#Section "Module"
+# Disable "dbe"
+# Disable "glx"
+# Disable "freetype"
+# Disable "type1"
+# Disable "record"
+# Disable "dri"
+#EndSection
+
+Section "InputDevice"
+ Identifier "Generic Keyboard"
+ Driver "keyboard"
+ Option "CoreKeyboard"
+ Option "XkbRules" "xfree86"
+ Option "XkbModel" "pc105"
+ Option "XkbLayout" "de"
+ Option "XkbVariant" "nodeadkeys"
+ Option "XkbOptions" "de"
+EndSection
+
+Section "InputDevice"
+ Identifier "tslib"
+ Driver "tslib"
+ Option "SendCoreEvents"
+ Option "TslibDevice" "/dev/input/event0"
+EndSection
+
+Section "InputDevice"
+ Identifier "Configured Mouse"
+ Driver "mouse"
+ Option "CorePointer"
+ Option "Device" "/dev/input/mice"
+ Option "Protocol" "ImPS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+
+Section "Device"
+ Identifier "Generic Video Card"
+ Driver "fbdev"
+ Option "DontSetTiming" "true"
+EndSection
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+EndSection
+
+Section "Screen"
+ Identifier "Default Screen"
+ Device "Generic Video Card"
+ Monitor "Generic Monitor"
+ DefaultDepth 16
+ SubSection "Display"
+ Depth 16
+ Modes "640x480"
+ EndSubSection
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "Default Screen"
+ InputDevice "Generic Keyboard"
+ InputDevice "Configured Mouse"
+ InputDevice "tslib"
+EndSection
+
+Section "ServerFlags"
+ Option "BlankTime" "0"
+EndSection
+
diff --git a/projectroot/etc/acpi/events/power_button b/projectroot/etc/acpi/events/power_button
new file mode 100644
index 000000000..11cc7167f
--- /dev/null
+++ b/projectroot/etc/acpi/events/power_button
@@ -0,0 +1,4 @@
+# care about the power button
+
+event=button/power.*
+action=/sbin/poweroff
diff --git a/projectroot/etc/apache2/httpd.conf b/projectroot/etc/apache2/httpd.conf
new file mode 100644
index 000000000..7b7e6c82f
--- /dev/null
+++ b/projectroot/etc/apache2/httpd.conf
@@ -0,0 +1,1037 @@
+#
+# Based upon the NCSA server configuration files originally by Rob McCool.
+#
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
+# the directives.
+#
+# Do NOT simply read the instructions in here without understanding
+# what they do. They're here only as hints or reminders. If you are unsure
+# consult the online docs. You have been warned.
+#
+# The configuration directives are grouped into three basic sections:
+# 1. Directives that control the operation of the Apache server process as a
+# whole (the 'global environment').
+# 2. Directives that define the parameters of the 'main' or 'default' server,
+# which responds to requests that aren't handled by a virtual host.
+# These directives also provide default values for the settings
+# of all virtual hosts.
+# 3. Settings for virtual hosts, which allow Web requests to be sent to
+# different IP addresses or hostnames and have them handled by the
+# same Apache server process.
+#
+# Configuration and logfile names: If the filenames you specify for many
+# of the server's control files begin with "/" (or "drive:/" for Win32), the
+# server will use that explicit path. If the filenames do *not* begin
+# with "/", the value of ServerRoot is prepended -- so "@rel_logfiledir@/foo.log"
+# with ServerRoot set to "@@ServerRoot@@" will be interpreted by the
+# server as "@@ServerRoot@@/@rel_logfiledir@/foo.log".
+#
+
+### Section 1: Global Environment
+#
+# The directives in this section affect the overall operation of Apache,
+# such as the number of concurrent requests it can handle or where it
+# can find its configuration files.
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the LockFile documentation (available
+# at <URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>);
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+ServerRoot @SERVERROOT@
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+<IfModule !mpm_winnt.c>
+<IfModule !mpm_netware.c>
+#LockFile @rel_logfiledir@/accept.lock
+</IfModule>
+</IfModule>
+
+#
+# ScoreBoardFile: File used to store internal server process information.
+# If unspecified (the default), the scoreboard will be stored in an
+# anonymous shared memory segment, and will be unavailable to third-party
+# applications.
+# If specified, ensure that no two invocations of Apache share the same
+# scoreboard file. The scoreboard file MUST BE STORED ON A LOCAL DISK.
+#
+<IfModule !mpm_netware.c>
+<IfModule !perchild.c>
+#ScoreBoardFile @rel_logfiledir@/apache_runtime_status
+</IfModule>
+</IfModule>
+
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+#
+<IfModule !mpm_netware.c>
+PidFile @PIDFILE@
+</IfModule>
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 15
+
+##
+## Server-Pool Size Regulation (MPM specific)
+##
+
+# prefork MPM
+# StartServers: number of server processes to start
+# MinSpareServers: minimum number of server processes which are kept spare
+# MaxSpareServers: maximum number of server processes which are kept spare
+# MaxClients: maximum number of server processes allowed to start
+# MaxRequestsPerChild: maximum number of requests a server process serves
+<IfModule prefork.c>
+StartServers 2
+MinSpareServers 1
+MaxSpareServers 5
+MaxClients 10
+MaxRequestsPerChild 0
+</IfModule>
+
+# worker MPM
+# StartServers: initial number of server processes to start
+# MaxClients: maximum number of simultaneous client connections
+# MinSpareThreads: minimum number of worker threads which are kept spare
+# MaxSpareThreads: maximum number of worker threads which are kept spare
+# ThreadsPerChild: constant number of worker threads in each server process
+# MaxRequestsPerChild: maximum number of requests a server process serves
+<IfModule worker.c>
+StartServers 2
+MaxClients 150
+MinSpareThreads 25
+MaxSpareThreads 75
+ThreadsPerChild 25
+MaxRequestsPerChild 0
+</IfModule>
+
+# perchild MPM
+# NumServers: constant number of server processes
+# StartThreads: initial number of worker threads in each server process
+# MinSpareThreads: minimum number of worker threads which are kept spare
+# MaxSpareThreads: maximum number of worker threads which are kept spare
+# MaxThreadsPerChild: maximum number of worker threads in each server process
+# MaxRequestsPerChild: maximum number of connections per server process
+<IfModule perchild.c>
+NumServers 5
+StartThreads 5
+MinSpareThreads 5
+MaxSpareThreads 10
+MaxThreadsPerChild 20
+MaxRequestsPerChild 0
+</IfModule>
+
+# WinNT MPM
+# ThreadsPerChild: constant number of worker threads in the server process
+# MaxRequestsPerChild: maximum number of requests a server process serves
+<IfModule mpm_winnt.c>
+ThreadsPerChild 250
+MaxRequestsPerChild 0
+</IfModule>
+
+# BeOS MPM
+# StartThreads: how many threads do we initially spawn?
+# MaxClients: max number of threads we can have (1 thread == 1 client)
+# MaxRequestsPerThread: maximum number of requests each thread will process
+<IfModule beos.c>
+StartThreads 10
+MaxClients 50
+MaxRequestsPerThread 10000
+</IfModule>
+
+# NetWare MPM
+# ThreadStackSize: Stack size allocated for each worker thread
+# StartThreads: Number of worker threads launched at server startup
+# MinSpareThreads: Minimum number of idle threads, to handle request spikes
+# MaxSpareThreads: Maximum number of idle threads
+# MaxThreads: Maximum number of worker threads alive at the same time
+# MaxRequestsPerChild: Maximum number of requests a thread serves. It is
+# recommended that the default value of 0 be set for this
+# directive on NetWare. This will allow the thread to
+# continue to service requests indefinitely.
+<IfModule mpm_netware.c>
+ThreadStackSize 65536
+StartThreads 250
+MinSpareThreads 25
+MaxSpareThreads 250
+MaxThreads 1000
+MaxRequestsPerChild 0
+MaxMemFree 100
+</IfModule>
+
+# OS/2 MPM
+# StartServers: Number of server processes to maintain
+# MinSpareThreads: Minimum number of idle threads per process,
+# to handle request spikes
+# MaxSpareThreads: Maximum number of idle threads per process
+# MaxRequestsPerChild: Maximum number of connections per server process
+<IfModule mpmt_os2.c>
+StartServers 2
+MinSpareThreads 5
+MaxSpareThreads 10
+MaxRequestsPerChild 0
+</IfModule>
+
+#
+# Listen: Allows you to bind Apache to specific IP addresses and/or
+# ports, instead of the default. See also the <VirtualHost>
+# directive.
+#
+# Change this to Listen on specific IP addresses as shown below to
+# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
+#
+#Listen localhost:80
+Listen @LISTEN@
+#@nonssl_listen_stmt_1@
+
+#
+# Dynamic Shared Object (DSO) Support
+#
+# To be able to use the functionality of a module which was built as a DSO you
+# have to place corresponding `LoadModule' lines at this location so the
+# directives contained in it are actually available _before_ they are used.
+# Statically compiled modules (those listed by `httpd -l') do not need
+# to be loaded here.
+#
+# Example:
+# LoadModule foo_module modules/mod_foo.so
+#
+#@@LoadModule@@
+
+#
+# ExtendedStatus controls whether Apache will generate "full" status
+# information (ExtendedStatus On) or just basic information (ExtendedStatus
+# Off) when the "server-status" handler is called. The default is Off.
+#
+#ExtendedStatus On
+
+### Section 2: 'Main' server configuration
+#
+# The directives in this section set up the values used by the 'main'
+# server, which responds to any requests that aren't handled by a
+# <VirtualHost> definition. These values also provide defaults for
+# any <VirtualHost> containers you may define later in the file.
+#
+# All of these directives may appear inside <VirtualHost> containers,
+# in which case these default settings will be overridden for the
+# virtual host being defined.
+#
+
+<IfModule !mpm_winnt.c>
+<IfModule !mpm_netware.c>
+#
+# If you wish httpd to run as a different user or group, you must run
+# httpd as root initially and it will switch.
+#
+# User/Group: The name (or #number) of the user/group to run httpd as.
+# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
+# . On HPUX you may not be able to use shared memory as nobody, and the
+# suggested workaround is to create a user www and use that user.
+# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
+# when the value of (unsigned)Group is above 60000;
+# don't use Group www on these systems!
+#
+User www
+Group www
+</IfModule>
+</IfModule>
+
+#
+# ServerAdmin: Your address, where problems with the server should be
+# e-mailed. This address appears on some server-generated pages, such
+# as error documents. e.g. admin@your-domain.com
+#
+ServerAdmin @SERVERADMIN@
+
+#
+# ServerName gives the name and port that the server uses to identify itself.
+# This can often be determined automatically, but we recommend you specify
+# it explicitly to prevent problems during startup.
+#
+# If this is not set to valid DNS name for your host, server-generated
+# redirections will not work. See also the UseCanonicalName directive.
+#
+# If your host doesn't have a registered DNS name, enter its IP address here.
+# You will have to access it by its address anyway, and this will make
+# redirections work in a sensible way.
+#
+
+ServerName @SERVERNAME@
+
+#
+# UseCanonicalName: Determines how Apache constructs self-referencing
+# URLs and the SERVER_NAME and SERVER_PORT variables.
+# When set "Off", Apache will use the Hostname and Port supplied
+# by the client. When set "On", Apache will use the value of the
+# ServerName directive.
+#
+UseCanonicalName Off
+
+#
+# DocumentRoot: The directory out of which you will serve your
+# documents. By default, all requests are taken from this directory, but
+# symbolic links and aliases may be used to point to other locations.
+#
+DocumentRoot @DOCUMENTROOT@
+
+#
+# Each directory to which Apache has access can be configured with respect
+# to which services and features are allowed and/or disabled in that
+# directory (and its subdirectories).
+#
+# First, we configure the "default" to be a very restrictive set of
+# features.
+#
+<Directory />
+ Options FollowSymLinks
+ AllowOverride None
+</Directory>
+
+#
+# Note that from this point forward you must specifically allow
+# particular features to be enabled - so if something's not working as
+# you might expect, make sure that you have specifically enabled it
+# below.
+#
+
+#
+# This should be changed to whatever you set DocumentRoot to.
+#
+<Directory @DOCUMENTROOT@>
+
+#
+# Possible values for the Options directive are "None", "All",
+# or any combination of:
+# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
+#
+# Note that "MultiViews" must be named *explicitly* --- "Options All"
+# doesn't give it to you.
+#
+# The Options directive is both complicated and important. Please see
+# http://httpd.apache.org/docs-2.0/mod/core.html#options
+# for more information.
+#
+ Options Indexes FollowSymLinks
+
+#
+# AllowOverride controls what directives may be placed in .htaccess files.
+# It can be "All", "None", or any combination of the keywords:
+# Options FileInfo AuthConfig Limit Indexes
+#
+ AllowOverride None
+
+#
+# Controls who can get stuff from this server.
+#
+ Order allow,deny
+ Allow from all
+
+</Directory>
+
+#
+# UserDir: The name of the directory that is appended onto a user's home
+# directory if a ~user request is received.
+#
+UserDir public_html
+
+#
+# Control access to UserDir directories. The following is an example
+# for a site where these directories are restricted to read-only.
+#
+#<Directory /home/*/public_html>
+# AllowOverride FileInfo AuthConfig Limit Indexes
+# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
+# <Limit GET POST OPTIONS PROPFIND>
+# Order allow,deny
+# Allow from all
+# </Limit>
+# <LimitExcept GET POST OPTIONS PROPFIND>
+# Order deny,allow
+# Deny from all
+# </LimitExcept>
+#</Directory>
+
+#
+# DirectoryIndex: sets the file that Apache will serve if a directory
+# is requested.
+#
+# The index.html.var file (a type-map) is used to deliver content-
+# negotiated documents. The MultiViews Option can be used for the
+# same purpose, but it is much slower.
+#
+DirectoryIndex index.html index.html.var
+
+#
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+<FilesMatch "^\.ht">
+ Order allow,deny
+ Deny from all
+</FilesMatch>
+
+#
+# TypesConfig describes where the mime.types file (or equivalent) is
+# to be found.
+#
+TypesConfig @SERVERROOT@/conf/mime.types
+
+#
+# DefaultType is the default MIME type the server will use for a document
+# if it cannot otherwise determine one, such as from filename extensions.
+# If your server contains mostly text or HTML documents, "text/plain" is
+# a good value. If most of your content is binary, such as applications
+# or images, you may want to use "application/octet-stream" instead to
+# keep browsers from trying to display binary files as though they are
+# text.
+#
+DefaultType text/plain
+
+#
+# The mod_mime_magic module allows the server to use various hints from the
+# contents of the file itself to determine its type. The MIMEMagicFile
+# directive tells the module where the hint definitions are located.
+#
+<IfModule mod_mime_magic.c>
+ MIMEMagicFile @SERVERROOT@/conf/magic
+</IfModule>
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+#
+# EnableMMAP: Control whether memory-mapping is used to deliver
+# files (assuming that the underlying OS supports it).
+# The default is on; turn this off if you serve from NFS-mounted
+# filesystems. On some systems, turning it off (regardless of
+# filesystem) can improve performance; for details, please see
+# http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap
+#
+#EnableMMAP off
+
+#
+# EnableSendfile: Control whether the sendfile kernel support is
+# used to deliver files (assuming that the OS supports it).
+# The default is on; turn this off if you serve from NFS-mounted
+# filesystems. Please see
+# http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
+#
+#EnableSendfile off
+
+#
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a <VirtualHost>
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a <VirtualHost>
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog @LOGPATH@/error_log
+
+#
+# LogLevel: Control the number of messages logged to the error_log.
+# Possible values include: debug, info, notice, warn, error, crit,
+# alert, emerg.
+#
+LogLevel warn
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive (see below).
+#
+LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# You need to enable mod_logio.c to use %I and %O
+#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
+
+#
+# The location and format of the access logfile (Common Logfile Format).
+# If you do not define any access logfiles within a <VirtualHost>
+# container, they will be logged here. Contrariwise, if you *do*
+# define per-<VirtualHost> access logfiles, transactions will be
+# logged therein and *not* in this file.
+#
+CustomLog @LOGPATH@/access_log common
+
+#
+# If you would like to have agent and referer logfiles, uncomment the
+# following directives.
+#
+#CustomLog @rel_logfiledir@/referer_log referer
+#CustomLog @rel_logfiledir@/agent_log agent
+
+#
+# If you prefer a single logfile with access, agent, and referer information
+# (Combined Logfile Format) you can use the following directive.
+#
+#CustomLog @rel_logfiledir@/access_log combined
+
+#
+# ServerTokens
+# This directive configures what you return as the Server HTTP response
+# Header. The default is 'Full' which sends information about the OS-Type
+# and compiled in modules.
+# Set to one of: Full | OS | Minor | Minimal | Major | Prod
+# where Full conveys the most information, and Prod the least.
+#
+ServerTokens Full
+
+#
+# Optionally add a line containing the server version and virtual host
+# name to server-generated pages (internal error documents, FTP directory
+# listings, mod_status and mod_info output etc., but not CGI generated
+# documents or custom error documents).
+# Set to "EMail" to also include a mailto: link to the ServerAdmin.
+# Set to one of: On | Off | EMail
+#
+ServerSignature On
+
+#
+# Aliases: Add here as many aliases as you need (with no limit). The format is
+# Alias fakename realname
+#
+# Note that if you include a trailing / on fakename then the server will
+# require it to be present in the URL. So "/icons" isn't aliased in this
+# example, only "/icons/". If the fakename is slash-terminated, then the
+# realname must also be slash terminated, and if the fakename omits the
+# trailing slash, the realname must also omit it.
+#
+# We include the /icons/ alias for FancyIndexed directory listings. If you
+# do not use FancyIndexing, you may comment this out.
+#
+Alias /icons/ "icons/"
+
+<Directory "icons">
+ Options Indexes MultiViews
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+</Directory>
+
+#
+# This should be changed to the ServerRoot/manual/. The alias provides
+# the manual, even if you choose to move your DocumentRoot. You may comment
+# this out if you do not care for the documentation.
+#
+#AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "manual$1"
+
+#<Directory "manual">
+# Options Indexes
+# AllowOverride None
+# Order allow,deny
+# Allow from all
+#
+# <Files *.html>
+# SetHandler type-map
+# </Files>
+#
+# SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|ru)/ prefer-language=$1
+# RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2
+#</Directory>
+
+#
+# ScriptAlias: This controls which directories contain server scripts.
+# ScriptAliases are essentially the same as Aliases, except that
+# documents in the realname directory are treated as applications and
+# run by the server when requested rather than as documents sent to the client.
+# The same rules about trailing "/" apply to ScriptAlias directives as to
+# Alias.
+#
+ScriptAlias /cgi-bin/ "cgi-bin/"
+
+<IfModule mod_cgid.c>
+#
+# Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>
+# for setting UNIX socket for communicating with cgid.
+#
+#Scriptsock @rel_runtimedir@/cgisock
+</IfModule>
+
+#
+# "bin_cgi" should be changed to whatever your ScriptAliased
+# CGI directory exists, if you have that configured.
+#
+<Directory "cgi-bin">
+ AllowOverride None
+ Options None
+ Order allow,deny
+ Allow from all
+</Directory>
+
+#
+# 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 permanent /foo http://www.example.com/bar
+
+#
+# Directives controlling the display of server-generated directory listings.
+#
+
+#
+# IndexOptions: Controls the appearance of server-generated directory
+# listings.
+#
+IndexOptions FancyIndexing VersionSort
+
+#
+# AddIcon* directives tell the server which icon to show for different
+# files or filename extensions. These are only displayed for
+# FancyIndexed directories.
+#
+AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
+
+AddIconByType (TXT,/icons/text.gif) text/*
+AddIconByType (IMG,/icons/image2.gif) image/*
+AddIconByType (SND,/icons/sound2.gif) audio/*
+AddIconByType (VID,/icons/movie.gif) video/*
+
+AddIcon /icons/binary.gif .bin .exe
+AddIcon /icons/binhex.gif .hqx
+AddIcon /icons/tar.gif .tar
+AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
+AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
+AddIcon /icons/a.gif .ps .ai .eps
+AddIcon /icons/layout.gif .html .shtml .htm .pdf
+AddIcon /icons/text.gif .txt
+AddIcon /icons/c.gif .c
+AddIcon /icons/p.gif .pl .py
+AddIcon /icons/f.gif .for
+AddIcon /icons/dvi.gif .dvi
+AddIcon /icons/uuencoded.gif .uu
+AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
+AddIcon /icons/tex.gif .tex
+AddIcon /icons/bomb.gif core
+
+AddIcon /icons/back.gif ..
+AddIcon /icons/hand.right.gif README
+AddIcon /icons/folder.gif ^^DIRECTORY^^
+AddIcon /icons/blank.gif ^^BLANKICON^^
+
+#
+# DefaultIcon is which icon to show for files which do not have an icon
+# explicitly set.
+#
+DefaultIcon /icons/unknown.gif
+
+#
+# AddDescription allows you to place a short description after a file in
+# server-generated indexes. These are only displayed for FancyIndexed
+# directories.
+# Format: AddDescription "description" filename
+#
+#AddDescription "GZIP compressed document" .gz
+#AddDescription "tar archive" .tar
+#AddDescription "GZIP compressed tar archive" .tgz
+
+#
+# ReadmeName is the name of the README file the server will look for by
+# default, and append to directory listings.
+#
+# HeaderName is the name of a file which should be prepended to
+# directory indexes.
+ReadmeName README.html
+HeaderName HEADER.html
+
+#
+# IndexIgnore is a set of filenames which directory indexing should ignore
+# and not include in the listing. Shell-style wildcarding is permitted.
+#
+IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
+
+#
+# DefaultLanguage and AddLanguage allows you to specify the language of
+# a document. You can then use content negotiation to give a browser a
+# file in a language the user can understand.
+#
+# Specify a default language. This means that all data
+# going out without a specific language tag (see below) will
+# be marked with this one. You probably do NOT want to set
+# this unless you are sure it is correct for all cases.
+#
+# * It is generally better to not mark a page as
+# * being a certain language than marking it with the wrong
+# * language!
+#
+# DefaultLanguage nl
+#
+# Note 1: The suffix does not have to be the same as the language
+# keyword --- those with documents in Polish (whose net-standard
+# language code is pl) may wish to use "AddLanguage pl .po" to
+# avoid the ambiguity with the common suffix for perl scripts.
+#
+# Note 2: The example entries below illustrate that in some cases
+# the two character 'Language' abbreviation is not identical to
+# the two character 'Country' code for its country,
+# E.g. 'Danmark/dk' versus 'Danish/da'.
+#
+# Note 3: In the case of 'ltz' we violate the RFC by using a three char
+# specifier. There is 'work in progress' to fix this and get
+# the reference data for rfc1766 cleaned up.
+#
+# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)
+# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de)
+# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja)
+# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
+# Norwegian (no) - Polish (pl) - Portugese (pt)
+# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
+# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
+#
+AddLanguage ca .ca
+AddLanguage cs .cz .cs
+AddLanguage da .dk
+AddLanguage de .de
+AddLanguage el .el
+AddLanguage en .en
+AddLanguage eo .eo
+AddLanguage es .es
+AddLanguage et .et
+AddLanguage fr .fr
+AddLanguage he .he
+AddLanguage hr .hr
+AddLanguage it .it
+AddLanguage ja .ja
+AddLanguage ko .ko
+AddLanguage ltz .ltz
+AddLanguage nl .nl
+AddLanguage nn .nn
+AddLanguage no .no
+AddLanguage pl .po
+AddLanguage pt .pt
+AddLanguage pt-BR .pt-br
+AddLanguage ru .ru
+AddLanguage sv .sv
+AddLanguage zh-CN .zh-cn
+AddLanguage zh-TW .zh-tw
+
+#
+# LanguagePriority allows you to give precedence to some languages
+# in case of a tie during content negotiation.
+#
+# Just list the languages in decreasing order of preference. We have
+# more or less alphabetized them here. You probably want to change this.
+#
+LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
+
+#
+# ForceLanguagePriority allows you to serve a result page rather than
+# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)
+# [in case no accepted languages matched the available variants]
+#
+ForceLanguagePriority Prefer Fallback
+
+#
+# Commonly used filename extensions to character sets. You probably
+# want to avoid clashes with the language extensions, unless you
+# are good at carefully testing your setup after each change.
+# See http://www.iana.org/assignments/character-sets for the
+# official list of charset names and their respective RFCs.
+#
+AddCharset ISO-8859-1 .iso8859-1 .latin1
+AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
+AddCharset ISO-8859-3 .iso8859-3 .latin3
+AddCharset ISO-8859-4 .iso8859-4 .latin4
+AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
+AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
+AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
+AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
+AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
+AddCharset ISO-2022-JP .iso2022-jp .jis
+AddCharset ISO-2022-KR .iso2022-kr .kis
+AddCharset ISO-2022-CN .iso2022-cn .cis
+AddCharset Big5 .Big5 .big5
+# For russian, more than one charset is used (depends on client, mostly):
+AddCharset WINDOWS-1251 .cp-1251 .win-1251
+AddCharset CP866 .cp866
+AddCharset KOI8-r .koi8-r .koi8-ru
+AddCharset KOI8-ru .koi8-uk .ua
+AddCharset ISO-10646-UCS-2 .ucs2
+AddCharset ISO-10646-UCS-4 .ucs4
+AddCharset UTF-8 .utf8
+
+# The set below does not map to a specific (iso) standard
+# but works on a fairly wide range of browsers. Note that
+# capitalization actually matters (it should not, but it
+# does for some browsers).
+#
+# See http://www.iana.org/assignments/character-sets
+# for a list of sorts. But browsers support few.
+#
+AddCharset GB2312 .gb2312 .gb
+AddCharset utf-7 .utf7
+AddCharset utf-8 .utf8
+AddCharset big5 .big5 .b5
+AddCharset EUC-TW .euc-tw
+AddCharset EUC-JP .euc-jp
+AddCharset EUC-KR .euc-kr
+AddCharset shift_jis .sjis
+
+#
+# AddType allows you to add to or override the MIME configuration
+# file mime.types for specific file types.
+#
+#AddType application/x-tar .tgz
+#
+# AddEncoding allows you to have certain browsers uncompress
+# information on the fly. Note: Not all browsers support this.
+# Despite the name similarity, the following Add* directives have nothing
+# to do with the FancyIndexing customization directives above.
+#
+#AddEncoding x-compress .Z
+#AddEncoding x-gzip .gz .tgz
+#
+# If the AddEncoding directives above are commented-out, then you
+# probably should define those extensions to indicate media types:
+#
+AddType application/x-compress .Z
+AddType application/x-gzip .gz .tgz
+
+#
+# AddHandler allows you to map certain file extensions to "handlers":
+# actions unrelated to filetype. These can be either built into the server
+# or added with the Action directive (see below)
+#
+# To use CGI scripts outside of ScriptAliased directories:
+# (You will also need to add "ExecCGI" to the "Options" directive.)
+#
+#AddHandler cgi-script .cgi
+
+#
+# For files that include their own HTTP headers:
+#
+#AddHandler send-as-is asis
+
+#
+# For server-parsed imagemap files:
+#
+#AddHandler imap-file map
+
+#
+# For type maps (negotiated resources):
+# (This is enabled by default to allow the Apache "It Worked" page
+# to be distributed in multiple languages.)
+#
+AddHandler type-map var
+
+#
+# Filters allow you to process content before it is sent to the client.
+#
+# To parse .shtml files for server-side includes (SSI):
+# (You will also need to add "Includes" to the "Options" directive.)
+#
+#AddType text/html .shtml
+#AddOutputFilter INCLUDES .shtml
+
+#
+# Action lets you define media types that will execute a script whenever
+# a matching file is called. This eliminates the need for repeated URL
+# pathnames for oft-used CGI file processors.
+# Format: Action media/type /cgi-script/location
+# Format: Action handler-name /cgi-script/location
+#
+
+#
+# Customizable error responses come in three flavors:
+# 1) plain text 2) local redirects 3) external redirects
+#
+# Some examples:
+#ErrorDocument 500 "The server made a boo boo."
+#ErrorDocument 404 /missing.html
+#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
+#ErrorDocument 402 http://www.example.com/subscription_info.html
+#
+
+#
+# Putting this all together, we can internationalize error responses.
+#
+# We use Alias to redirect any /error/HTTP_<error>.html.var response to
+# our collection of by-error message multi-language collections. We use
+# includes to substitute the appropriate text.
+#
+# You can modify the messages' appearance without changing any of the
+# default HTTP_<error>.html.var files by adding the line:
+#
+# Alias /error/include/ "/your/include/path/"
+#
+# which allows you to create your own set of files by starting with the
+# @exp_errordir@/include/ files and copying them to /your/include/path/,
+# even on a per-VirtualHost basis. The default include files will display
+# your Apache version number and your ServerAdmin email address regardless
+# of the setting of ServerSignature.
+#
+# The internationalized error documents require mod_alias, mod_include
+# and mod_negotiation. To activate them, uncomment the following 30 lines.
+
+# Alias /error/ "@exp_errordir@/"
+#
+# <Directory "@exp_errordir@">
+# AllowOverride None
+# Options IncludesNoExec
+# AddOutputFilter Includes html
+# AddHandler type-map var
+# Order allow,deny
+# Allow from all
+# LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr
+# ForceLanguagePriority Prefer Fallback
+# </Directory>
+#
+# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
+# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
+# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
+# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
+# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
+# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
+# ErrorDocument 410 /error/HTTP_GONE.html.var
+# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
+# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
+# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
+# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
+# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
+# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
+# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
+# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
+# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
+# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
+
+
+#
+# The following directives modify normal HTTP response behavior to
+# handle known problems with browser implementations.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+
+#
+# The following directive disables redirects on non-GET requests for
+# a directory that does not include the trailing slash. This fixes a
+# problem with Microsoft WebFolders which does not appropriately handle
+# redirects for folders with DAV methods.
+# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
+#
+BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
+BrowserMatch "MS FrontPage" redirect-carefully
+BrowserMatch "^WebDrive" redirect-carefully
+BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
+BrowserMatch "^gnome-vfs" redirect-carefully
+BrowserMatch "^XML Spy" redirect-carefully
+BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
+
+#
+# Allow server status reports generated by mod_status,
+# with the URL of http://servername/server-status
+# Change the ".example.com" to match your domain to enable.
+#
+#<Location /server-status>
+# SetHandler server-status
+# Order deny,allow
+# Deny from all
+# Allow from .example.com
+#</Location>
+
+#
+# Allow remote server configuration reports, with the URL of
+# http://servername/server-info (requires that mod_info.c be loaded).
+# Change the ".example.com" to match your domain to enable.
+#
+#<Location /server-info>
+# SetHandler server-info
+# Order deny,allow
+# Deny from all
+# Allow from .example.com
+#</Location>
+
+
+#
+# Bring in additional module-specific configurations
+#
+#<IfModule mod_ssl.c>
+# Include @rel_sysconfdir@/ssl.conf
+#</IfModule>
+
+
+### Section 3: Virtual Hosts
+#
+# VirtualHost: If you want to maintain multiple domains/hostnames on your
+# machine you can setup VirtualHost containers for them. Most configurations
+# use only name-based virtual hosts so the server doesn't need to worry about
+# IP addresses. This is indicated by the asterisks in the directives below.
+#
+# Please see the documentation at
+# <URL:http://httpd.apache.org/docs-2.0/vhosts/>
+# for further details before you try to setup virtual hosts.
+#
+# You may use the command line option '-S' to verify your virtual host
+# configuration.
+
+#
+# Use name-based virtual hosting.
+#
+#NameVirtualHost *:80
+
+#
+# VirtualHost example:
+# Almost any Apache directive may go into a VirtualHost container.
+# The first VirtualHost section is used for requests without a known
+# server name.
+#
+#<VirtualHost *:80>
+# ServerAdmin webmaster@dummy-host.example.com
+# DocumentRoot /www/docs/dummy-host.example.com
+# ServerName dummy-host.example.com
+# ErrorLog @rel_logfiledir@/dummy-host.example.com-error_log
+# CustomLog @rel_logfiledir@/dummy-host.example.com-access_log common
+#</VirtualHost>
diff --git a/projectroot/etc/at.deny b/projectroot/etc/at.deny
new file mode 100644
index 000000000..0d5a3826c
--- /dev/null
+++ b/projectroot/etc/at.deny
@@ -0,0 +1,24 @@
+alias
+backup
+bin
+daemon
+ftp
+games
+gnats
+guest
+irc
+lp
+mail
+man
+nobody
+operator
+proxy
+qmaild
+qmaill
+qmailp
+qmailq
+qmailr
+qmails
+sync
+sys
+www-data
diff --git a/projectroot/etc/boa/boa.conf b/projectroot/etc/boa/boa.conf
new file mode 100644
index 000000000..8e4b0502b
--- /dev/null
+++ b/projectroot/etc/boa/boa.conf
@@ -0,0 +1,183 @@
+# 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.2 2001/09/25 03:28:31 jnelson 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"
+
+# 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 /home/httpd/html
+
+# 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/ /home/httpd/cgi-bin/
+
diff --git a/projectroot/etc/busybox.conf b/projectroot/etc/busybox.conf
new file mode 100644
index 000000000..71a5bd534
--- /dev/null
+++ b/projectroot/etc/busybox.conf
@@ -0,0 +1,5 @@
+[SUID]
+#lines starting with # are comments
+#<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
+
+#reboot = ssx root.0 # applet reboot can be run by anyone and runs with euid=0/egid=0
diff --git a/projectroot/etc/chatscripts/disconnect b/projectroot/etc/chatscripts/disconnect
new file mode 100644
index 000000000..9d91a48ec
--- /dev/null
+++ b/projectroot/etc/chatscripts/disconnect
@@ -0,0 +1,8 @@
+ABORT 'BUSY'
+ABORT 'ERROR'
+ABORT 'NO ANSWER'
+ABORT 'NO DIALTONE'
+ABORT 'RINGING\r\n\r\nRINGING'
+TIMEOUT 10
+'' '\d\d+++\d\dATH'
+OK 'ATZ'
diff --git a/projectroot/etc/chatscripts/provider b/projectroot/etc/chatscripts/provider
new file mode 100644
index 000000000..efcb04a6f
--- /dev/null
+++ b/projectroot/etc/chatscripts/provider
@@ -0,0 +1,19 @@
+# This is the chat script used to dial out to your default service provider.
+# Please customize the entries enclosed in parenthesis to match your setup.
+# Only the "provider" file will be handled by poff and pon (unless with
+# extra command line arguments).
+#
+# Remember to edit /etc/ppp/peers/provider accordingly.
+#
+# ATZW2 as a default init string
+# - On all hayes compatible modems, W2 will correctly report the connect
+# speed.
+#
+ABORT BUSY
+ABORT "NO CARRIER"
+ABORT VOICE
+ABORT "NO DIALTONE"
+"" ATZW2
+OK ATDT<put phone number here>
+ogin <put login name here>
+word \q<put password here>
diff --git a/projectroot/etc/chrony/chrony.conf b/projectroot/etc/chrony/chrony.conf
new file mode 100644
index 000000000..f2d594978
--- /dev/null
+++ b/projectroot/etc/chrony/chrony.conf
@@ -0,0 +1,97 @@
+# ----------------------------------------------------------------------
+# chrony client configuration for Comsoft AG NTP Client
+# ----------------------------------------------------------------------
+# Author: Bjørn Bürger <b.buerger@pengutronix.de>
+# Last Change: Tue Mar 6 15:12:41 UTC 2007
+#
+# Hints:
+# ----------------------------------------------------------------------
+# a comment
+! a comment
+# ----------------------------------------------------------------------
+# Specify your own NTP Servers:
+
+server @UNCONFIGURED_CHRONY_SERVER_IP@ auto_offline minpoll 5 maxpoll 10
+
+# other servers may be referenced here, but they will only be requested,
+# if set online by /etc/init.d/chrony online
+! server 0.pool.ntp.org offline minpoll 8
+! server 1.pool.ntp.org offline minpoll 8
+! server 2.pool.ntp.org offline minpoll 8
+
+# To avoid changes being made to your computer's gain/loss compensation
+# when the measurement history is too erratic, you might want to enable
+# one of the following lines. The first seems good for dial-up (or
+# other high-latency connections like slow leased lines), the second
+# seems OK for a LAN environment.
+! maxupdateskew 100
+! maxupdateskew 5
+maxupdateskew 20
+
+# rtc
+rtcdevice /dev/rtc
+rtcfile /var/run/chrony.rtc
+rtconutc
+
+# driftfile
+driftfile /var/run/chrony.drift
+
+# pidfile
+pidfile /var/run/chronyd.pid
+
+# keyfile for chronyc
+keyfile /etc/chrony/chrony.keys
+commandkey 1
+
+# chronyd can save the measurement history for the servers to files when
+# it it exits. However, this will affect the lifetime of you flash
+# medium, if this is not used on a ramdisk. Be careful.
+dumponexit
+dumpdir /var/run/chrony
+
+# INITIAL CLOCK CORRECTION
+# This option is only useful if your NTP servers are visible at
+# start-time of chrony. The value '10' means that if the error is less
+# than 10 seconds, it will be gradually removed by speeding up or
+# slowing down your computer's clock until it is correct. If the error
+# is above 10 seconds, an immediate time jump will be applied to correct
+# it.
+#
+# Get Time from your configured NTP Server
+#
+initstepslew 10 @UNCONFIGURED_CHRONY_SERVER_IP@
+
+# Logging
+# Comment this line out to turn off logging.
+! log measurements statistics tracking rtc
+logdir /var/run/chrony
+
+# Access Rules
+! allow 10.0.0.0/8
+! allow 192.168.0.0/16
+
+# Send Broadcast every 60 Seconds
+! broadcast 60 10.255.255.255
+
+# Let computer be a server when it is unsynchronised.
+# set local straum below 15, even if unsynced
+# this will circumwent long delays when starting clients
+local stratum 10
+
+# we dont need an accesslog.
+noclientlog
+
+# The next option causes a message to be written to syslog when chronyd
+# has to correct an error above 0.5 seconds (you can use any amount you
+# like).
+! logchange 0.5
+
+# This directive defines an email address to which mail should be sent
+# if chronyd applies a correction exceeding a particular threshold to the
+# system clock.
+! mailonchange root@localhost 0.5
+
+# Allow command access
+! cmdallow 10/8
+! cmdallow 192.168/16
+cmdallow 127.0.0.1
diff --git a/projectroot/etc/chrony/chrony.keys b/projectroot/etc/chrony/chrony.keys
new file mode 100644
index 000000000..25e507188
--- /dev/null
+++ b/projectroot/etc/chrony/chrony.keys
@@ -0,0 +1,4 @@
+# Key File for chronyc
+# this is needed, to access chronyd from chronyc client
+#
+1 @UNCONFIGURED_CHRONY_ACCESS_KEY@
diff --git a/projectroot/etc/collectd.conf b/projectroot/etc/collectd.conf
new file mode 100644
index 000000000..400ff6d56
--- /dev/null
+++ b/projectroot/etc/collectd.conf
@@ -0,0 +1,46 @@
+#
+# Config file for collectd(1).
+# Please read collectd.conf(5) for a list of options.
+# http://collectd.org/
+#
+
+##############################################################################
+# Global #
+#----------------------------------------------------------------------------#
+# Global settings for the daemon. #
+##############################################################################
+
+Hostname "localhost"
+FQDNLookup true
+BaseDir "/var/lib/collectd"
+PIDFile "/var/run/collectd.pid"
+PluginDir "/usr/lib/collectd"
+TypesDB "/usr/share/collectd/types.db"
+
+#----------------------------------------------------------------------------#
+# When enabled, plugins are loaded automatically with the default options #
+# when an appropriate <Plugin ...> block is encountered. #
+# Disabled by default. #
+#----------------------------------------------------------------------------#
+AutoLoadPlugin false
+
+#----------------------------------------------------------------------------#
+# Interval at which to query values. This may be overwritten on a per-plugin #
+# base by using the 'Interval' option of the LoadPlugin block: #
+# <LoadPlugin foo> #
+# Interval 60 #
+# </LoadPlugin> #
+#----------------------------------------------------------------------------#
+Interval 10
+
+Timeout 2
+ReadThreads 2
+WriteThreads 2
+
+# Limit the size of the write queue. Default is no limit. Setting up a limit is
+# recommended for servers handling a high volume of traffic.
+#WriteQueueLimitHigh 1000000
+#WriteQueueLimitLow 800000
+
+Include "/etc/collectd.d/*.conf"
+
diff --git a/projectroot/etc/collectd.d/cpu.conf b/projectroot/etc/collectd.d/cpu.conf
new file mode 100644
index 000000000..30fcc38f9
--- /dev/null
+++ b/projectroot/etc/collectd.d/cpu.conf
@@ -0,0 +1 @@
+LoadPlugin cpu
diff --git a/projectroot/etc/collectd.d/logfile.conf b/projectroot/etc/collectd.d/logfile.conf
new file mode 100644
index 000000000..2c7549b83
--- /dev/null
+++ b/projectroot/etc/collectd.d/logfile.conf
@@ -0,0 +1,9 @@
+LoadPlugin logfile
+
+<Plugin logfile>
+ LogLevel info
+ File "/var/log/collectd.log"
+ Timestamp true
+ PrintSeverity false
+</Plugin>
+
diff --git a/projectroot/etc/collectd.d/rrdtool.conf b/projectroot/etc/collectd.d/rrdtool.conf
new file mode 100644
index 000000000..1f1190eae
--- /dev/null
+++ b/projectroot/etc/collectd.d/rrdtool.conf
@@ -0,0 +1,10 @@
+LoadPlugin rrdtool
+
+<Plugin rrdtool>
+ DataDir "/var/lib/collectd/rrd"
+ CreateFilesAsync false
+ CacheTimeout 120
+ CacheFlush 900
+ WritesPerSecond 50
+</Plugin>
+
diff --git a/projectroot/etc/collectd.d/syslog.conf b/projectroot/etc/collectd.d/syslog.conf
new file mode 100644
index 000000000..bd78ae047
--- /dev/null
+++ b/projectroot/etc/collectd.d/syslog.conf
@@ -0,0 +1,6 @@
+LoadPlugin syslog
+
+<Plugin syslog>
+ LogLevel info
+</Plugin>
+
diff --git a/projectroot/etc/dbus-1/session.conf b/projectroot/etc/dbus-1/session.conf
new file mode 100644
index 000000000..df9d433cc
--- /dev/null
+++ b/projectroot/etc/dbus-1/session.conf
@@ -0,0 +1,61 @@
+<!-- This configuration file controls the per-user-login-session message bus.
+ Add a session-local.conf and edit that rather than changing this
+ file directly. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <!-- Our well-known bus type, don't change this -->
+ <type>session</type>
+
+ <!-- If we fork, keep the user's original umask to avoid affecting
+ the behavior of child processes. -->
+ <keep_umask/>
+
+ <listen>unix:tmpdir=/tmp</listen>
+
+ <standard_session_servicedirs />
+
+ <policy context="default">
+ <!-- Allow everything to be sent -->
+ <allow send_destination="*" eavesdrop="true"/>
+ <!-- Allow everything to be received -->
+ <allow eavesdrop="true"/>
+ <!-- Allow anyone to own anything -->
+ <allow own="*"/>
+ </policy>
+
+ <!-- Config files are placed here that among other things,
+ further restrict the above policy for specific services. -->
+ <includedir>session.d</includedir>
+
+ <!-- This is included last so local configuration can override what's
+ in this standard file -->
+ <include ignore_missing="yes">session-local.conf</include>
+
+ <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
+
+ <!-- For the session bus, override the default relatively-low limits
+ with essentially infinite limits, since the bus is just running
+ as the user anyway, using up bus resources is not something we need
+ to worry about. In some cases, we do set the limits lower than
+ "all available memory" if exceeding the limit is almost certainly a bug,
+ having the bus enforce a limit is nicer than a huge memory leak. But the
+ intent is that these limits should never be hit. -->
+
+ <!-- the memory limits are 1G instead of say 4G because they can't exceed 32-bit signed int max -->
+ <limit name="max_incoming_bytes">1000000000</limit>
+ <limit name="max_outgoing_bytes">1000000000</limit>
+ <limit name="max_message_size">1000000000</limit>
+ <limit name="service_start_timeout">120000</limit>
+ <limit name="auth_timeout">240000</limit>
+ <limit name="max_completed_connections">100000</limit>
+ <limit name="max_incomplete_connections">10000</limit>
+ <limit name="max_connections_per_user">100000</limit>
+ <limit name="max_pending_service_starts">10000</limit>
+ <limit name="max_names_per_connection">50000</limit>
+ <limit name="max_match_rules_per_connection">50000</limit>
+ <limit name="max_replies_per_connection">50000</limit>
+ <limit name="reply_timeout">300000</limit>
+
+</busconfig>
diff --git a/projectroot/etc/dbus-1/system.conf b/projectroot/etc/dbus-1/system.conf
new file mode 100644
index 000000000..553efaf60
--- /dev/null
+++ b/projectroot/etc/dbus-1/system.conf
@@ -0,0 +1,83 @@
+<!-- This configuration file controls the systemwide message bus.
+ Add a system-local.conf and edit that rather than changing this
+ file directly. -->
+
+<!-- Note that there are any number of ways you can hose yourself
+ security-wise by screwing up this file; in particular, you
+ probably don't want to listen on any more addresses, add any more
+ auth mechanisms, run as a different user, etc. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <!-- Our well-known bus type, do not change this -->
+ <type>system</type>
+
+ <!-- Run as special user -->
+ <user>messagebus</user>
+
+ <!-- Fork into daemon mode -->
+ <fork/>
+
+ <!-- We use system service launching using a helper -->
+ <standard_system_servicedirs/>
+
+ <!-- This is a setuid helper that is used to launch system services -->
+ <servicehelper>/usr/libexec/dbus-daemon-launch-helper</servicehelper>
+
+ <!-- Write a pid file -->
+ <pidfile>/var/run/dbus/pid</pidfile>
+
+ <!-- Enable logging to syslog -->
+ <syslog/>
+
+ <!-- Only allow socket-credentials-based authentication -->
+ <auth>EXTERNAL</auth>
+
+ <!-- Only listen on a local socket. (abstract=/path/to/socket
+ means use abstract namespace, don't really create filesystem
+ file; only Linux supports this. Use path=/whatever on other
+ systems.) -->
+ <listen>unix:path=/var/run/dbus/system_bus_socket</listen>
+
+ <policy context="default">
+ <!-- All users can connect to system bus -->
+ <allow user="*"/>
+
+ <!-- Holes must be punched in service configuration files for
+ name ownership and sending method calls -->
+ <deny own="*"/>
+ <deny send_type="method_call"/>
+
+ <!-- Signals and reply messages (method returns, errors) are allowed
+ by default -->
+ <allow send_type="signal"/>
+ <allow send_requested_reply="true" send_type="method_return"/>
+ <allow send_requested_reply="true" send_type="error"/>
+
+ <!-- All messages may be received by default -->
+ <allow receive_type="method_call"/>
+ <allow receive_type="method_return"/>
+ <allow receive_type="error"/>
+ <allow receive_type="signal"/>
+
+ <!-- Allow anyone to talk to the message bus -->
+ <allow send_destination="org.freedesktop.DBus"/>
+ <!-- But disallow some specific bus services -->
+ <deny send_destination="org.freedesktop.DBus"
+ send_interface="org.freedesktop.DBus"
+ send_member="UpdateActivationEnvironment"/>
+ </policy>
+
+ <!-- Config files are placed here that among other things, punch
+ holes in the above policy for specific services. -->
+ <includedir>system.d</includedir>
+
+ <!-- This is included last so local configuration can override what's
+ in this standard file -->
+ <include ignore_missing="yes">system-local.conf</include>
+
+ <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
+
+</busconfig>
diff --git a/projectroot/etc/dbus-1/system.d/avahi-dbus.conf b/projectroot/etc/dbus-1/system.d/avahi-dbus.conf
new file mode 100644
index 000000000..ecea91430
--- /dev/null
+++ b/projectroot/etc/dbus-1/system.d/avahi-dbus.conf
@@ -0,0 +1,28 @@
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <!-- Only root or user avahi can own the Avahi service -->
+ <policy user="avahi">
+ <allow own="org.freedesktop.Avahi"/>
+ </policy>
+ <policy user="root">
+ <allow own="org.freedesktop.Avahi"/>
+ </policy>
+
+ <!-- Allow anyone to invoke methods on Avahi server, except SetHostName -->
+ <policy context="default">
+ <allow send_destination="org.freedesktop.Avahi"/>
+ <allow receive_sender="org.freedesktop.Avahi"/>
+
+ <deny send_destination="org.freedesktop.Avahi"
+ send_interface="org.freedesktop.Avahi.Server" send_member="SetHostName"/>
+ </policy>
+
+ <!-- Allow everything, including access to SetHostName to users of the group "netdev" -->
+ <policy group="netdev">
+ <allow send_destination="org.freedesktop.Avahi"/>
+ <allow receive_sender="org.freedesktop.Avahi"/>
+ </policy>
+</busconfig>
diff --git a/projectroot/etc/dhclient-script b/projectroot/etc/dhclient-script
new file mode 100644
index 000000000..555437158
--- /dev/null
+++ b/projectroot/etc/dhclient-script
@@ -0,0 +1,302 @@
+#!/bin/sh
+# dhclient-script for Linux. Dan Halbert, March, 1997.
+# Updated for Linux 2.[12] by Brian J. Murrell, January 1999.
+# No guarantees about this. I'm a novice at the details of Linux
+# networking.
+
+# Notes:
+
+# 0. This script is based on the netbsd script supplied with dhcp-970306.
+
+# 1. ifconfig down apparently deletes all relevant routes and flushes
+# the arp cache, so this doesn't need to be done explicitly.
+
+# 2. The alias address handling here has not been tested AT ALL.
+# I'm just going by the doc of modern Linux ip aliasing, which uses
+# notations like eth0:0, eth0:1, for each alias.
+
+# 3. I have to calculate the network address, and calculate the broadcast
+# address if it is not supplied. This might be much more easily done
+# by the dhclient C code, and passed on.
+
+# 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
+# of the $1 in its args.
+
+# busybox installs /bin/ip but iproute2 installs /sbin/ip, so put all the
+# possible locations of ip, ifconfig and route in the PATH to make sure
+# these tools can be found.
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+make_resolv_conf() {
+ if [ x"$new_domain_name_servers" != x ]; then
+ cat /dev/null > /etc/resolv.conf.dhclient
+ chmod 644 /etc/resolv.conf.dhclient
+ if [ x"$new_domain_search" != x ]; then
+ echo search $new_domain_search >> /etc/resolv.conf.dhclient
+ elif [ x"$new_domain_name" != x ]; then
+ # Note that the DHCP 'Domain Name Option' is really just a domain
+ # name, and that this practice of using the domain name option as
+ # a search path is both nonstandard and deprecated.
+ echo search $new_domain_name >> /etc/resolv.conf.dhclient
+ fi
+ for nameserver in $new_domain_name_servers; do
+ echo nameserver $nameserver >>/etc/resolv.conf.dhclient
+ done
+
+ mv /etc/resolv.conf.dhclient /etc/resolv.conf
+ elif [ "x${new_dhcp6_name_servers}" != x ] ; then
+ cat /dev/null > /etc/resolv.conf.dhclient6
+ chmod 644 /etc/resolv.conf.dhclient6
+
+ if [ "x${new_dhcp6_domain_search}" != x ] ; then
+ echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
+ fi
+ for nameserver in ${new_dhcp6_name_servers} ; do
+ echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
+ done
+
+ mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
+ fi
+}
+
+# Must be used on exit. Invokes the local dhcp client exit hooks, if any.
+exit_with_hooks() {
+ exit_status=$1
+ if [ -f /etc/dhclient-exit-hooks ]; then
+ . /etc/dhclient-exit-hooks
+ fi
+# probably should do something with exit status of the local script
+ exit $exit_status
+}
+
+# Invoke the local dhcp client enter hooks, if they exist.
+if [ -f /etc/dhclient-enter-hooks ]; then
+ exit_status=0
+ . /etc/dhclient-enter-hooks
+ # allow the local script to abort processing of this state
+ # local script must set exit_status variable to nonzero.
+ if [ $exit_status -ne 0 ]; then
+ exit $exit_status
+ fi
+fi
+
+release=`uname -r`
+release=`expr $release : '\(.*\)\..*'`
+relminor=`echo $release |sed -e 's/[0-9]*\.\([0-9][0-9]*\)\(\..*\)*$/\1/'`
+relmajor=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'`
+
+###
+### DHCPv4 Handlers
+###
+
+if [ x$new_broadcast_address != x ]; then
+ new_broadcast_arg="broadcast $new_broadcast_address"
+fi
+if [ x$old_broadcast_address != x ]; then
+ old_broadcast_arg="broadcast $old_broadcast_address"
+fi
+if [ x$new_subnet_mask != x ]; then
+ new_subnet_arg="netmask $new_subnet_mask"
+fi
+if [ x$old_subnet_mask != x ]; then
+ old_subnet_arg="netmask $old_subnet_mask"
+fi
+if [ x$alias_subnet_mask != x ]; then
+ alias_subnet_arg="netmask $alias_subnet_mask"
+fi
+
+if [ x$reason = xMEDIUM ]; then
+ # Linux doesn't do mediums (ok, ok, media).
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xPREINIT ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Bring down alias interface. Its routes will disappear too.
+ ifconfig $interface:0- inet 0
+ fi
+ if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] )
+ then
+ ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \
+ broadcast 255.255.255.255 up
+ # Add route to make broadcast work. Do not omit netmask.
+ route add default dev $interface netmask 0.0.0.0
+ else
+ ifconfig $interface 0 up
+ fi
+
+ # We need to give the kernel some time to get the interface up.
+ sleep 1
+
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xARPCHECK ] || [ x$reason = xARPSEND ]; then
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
+ [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
+ current_hostname=`hostname`
+ if [ x$current_hostname = x ] || \
+ [ x$current_hostname = x$old_host_name ]; then
+ if [ x$current_hostname = x ] || \
+ [ x$new_host_name != x$old_host_name ]; then
+ hostname $new_host_name
+ fi
+ fi
+
+ if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+ [ x$alias_ip_address != x$old_ip_address ]; then
+ # Possible new alias. Remove old alias.
+ ifconfig $interface:0- inet 0
+ fi
+ if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
+ # IP address changed. Bringing down the interface will delete all routes,
+ # and clear the ARP cache.
+ ifconfig $interface inet 0 down
+
+ fi
+ if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
+ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
+
+ ifconfig $interface inet $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg
+ # Add a network route to the computed network address.
+ if [ $relmajor -lt 2 ] || \
+ ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+ route add -net $new_network_number $new_subnet_arg dev $interface
+ fi
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
+ route add default gw $router
+ done
+ fi
+ if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+ then
+ ifconfig $interface:0- inet 0
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address $interface:0
+ fi
+ make_resolv_conf
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \
+ || [ x$reason = xSTOP ]; then
+ if [ x$alias_ip_address != x ]; then
+ # Turn off alias interface.
+ ifconfig $interface:0- inet 0
+ fi
+ if [ x$old_ip_address != x ]; then
+ # Shut down interface, which will delete routes and clear arp cache.
+ ifconfig $interface inet 0 down
+ fi
+ if [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address $interface:0
+ fi
+ exit_with_hooks 0
+fi
+
+if [ x$reason = xTIMEOUT ]; then
+ if [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0- inet 0
+ fi
+ ifconfig $interface inet $new_ip_address $new_subnet_arg \
+ $new_broadcast_arg
+ set $new_routers
+ if ping -q -c 1 $1; then
+ if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address dev $interface:0
+ fi
+ if [ $relmajor -lt 2 ] || \
+ ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+ route add -net $new_network_number
+ fi
+ for router in $new_routers; do
+ if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
+ route add -host $router dev $interface
+ fi
+ route add default gw $router
+ done
+ make_resolv_conf
+ exit_with_hooks 0
+ fi
+ ifconfig $interface inet 0 down
+ exit_with_hooks 1
+fi
+
+###
+### DHCPv6 Handlers
+###
+
+if [ ${reason} = PREINIT6 ] ; then
+ # Ensure interface is up.
+ ip link set ${interface} up
+
+ # Remove any stale addresses from aborted clients.
+ ip -f inet6 addr flush dev ${interface} scope global permanent
+
+ exit_with_hooks 0
+fi
+
+if [ x${old_ip6_prefix} != x ] || [ x${new_ip6_prefix} != x ] ; then
+ echo Prefix ${reason} old=${old_ip6_prefix} new=${new_ip6_prefix}
+
+ exit_with_hooks 0
+fi
+
+if [ ${reason} = BOUND6 ] ; then
+ if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ip -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
+ dev ${interface} scope global
+
+ # Check for nameserver options.
+ make_resolv_conf
+
+ exit_with_hooks 0
+fi
+
+if [ ${reason} = RENEW6 ] || [ ${reason} = REBIND6 ] ; then
+ # Make sure nothing has moved around on us.
+
+ # Nameservers/domains/etc.
+ if [ "x${new_dhcp6_name_servers}" != "x${old_dhcp6_name_servers}" ] ||
+ [ "x${new_dhcp6_domain_search}" != "x${old_dhcp6_domain_search}" ] ; then
+ make_resolv_conf
+ fi
+
+ exit_with_hooks 0
+fi
+
+if [ ${reason} = DEPREF6 ] ; then
+ if [ x${new_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ip -f inet6 addr change ${new_ip6_address}/${new_ip6_prefixlen} \
+ dev ${interface} scope global preferred_lft 0
+
+ exit_with_hooks 0
+fi
+
+if [ ${reason} = EXPIRE6 -o ${reason} = RELEASE6 -o ${reason} = STOP6 ] ; then
+ if [ x${old_ip6_address} = x ] || [ x${old_ip6_prefixlen} = x ] ; then
+ exit_with_hooks 2;
+ fi
+
+ ip -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \
+ dev ${interface}
+
+ exit_with_hooks 0
+fi
+
+exit_with_hooks 0
diff --git a/projectroot/etc/dhclient.conf b/projectroot/etc/dhclient.conf
new file mode 100644
index 000000000..6a994e6ed
--- /dev/null
+++ b/projectroot/etc/dhclient.conf
@@ -0,0 +1,36 @@
+#send host-name "andare.fugue.com";
+#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
+#send dhcp-lease-time 3600;
+#supersede domain-name "fugue.com home.vix.com";
+#prepend domain-name-servers 127.0.0.1;
+request subnet-mask, broadcast-address, time-offset, routers,
+ domain-name, domain-name-servers, host-name;
+#require subnet-mask, domain-name-servers;
+#timeout 60;
+#retry 60;
+#reboot 10;
+#select-timeout 5;
+#initial-interval 2;
+#script "/etc/dhclient-script";
+#media "-link0 -link1 -link2", "link0 link1";
+#reject 192.33.137.209;
+
+#alias {
+# interface "ep0";
+# fixed-address 192.5.5.213;
+# option subnet-mask 255.255.255.255;
+#}
+
+#lease {
+# interface "ep0";
+# fixed-address 192.33.137.200;
+# medium "link0 link1";
+# option host-name "andare.swiftmedia.com";
+# option subnet-mask 255.255.255.0;
+# option broadcast-address 192.33.137.255;
+# option routers 192.33.137.250;
+# option domain-name-servers 127.0.0.1;
+# renew 2 2000/1/12 00:00:01;
+# rebind 2 2000/1/12 00:00:01;
+# expire 2 2000/1/12 00:00:01;
+#}
diff --git a/projectroot/etc/dhcpd.conf b/projectroot/etc/dhcpd.conf
new file mode 100644
index 000000000..5eab9516d
--- /dev/null
+++ b/projectroot/etc/dhcpd.conf
@@ -0,0 +1,104 @@
+# dhcpd.conf
+#
+# Sample configuration file for ISC dhcpd
+#
+
+# option definitions common to all supported networks...
+option domain-name "example.org";
+option domain-name-servers ns1.example.org, ns2.example.org;
+
+default-lease-time 600;
+max-lease-time 7200;
+
+# Use this to enble / disable dynamic dns updates globally.
+#ddns-update-style none;
+
+# If this DHCP server is the official DHCP server for the local
+# network, the authoritative directive should be uncommented.
+#authoritative;
+
+# Use this to send dhcp log messages to a different log file (you also
+# have to hack syslog.conf to complete the redirection).
+log-facility local7;
+
+# No service will be given on this subnet, but declaring it helps the
+# DHCP server to understand the network topology.
+
+subnet 10.152.187.0 netmask 255.255.255.0 {
+}
+
+# This is a very basic subnet declaration.
+
+subnet 10.254.239.0 netmask 255.255.255.224 {
+ range 10.254.239.10 10.254.239.20;
+ option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
+}
+
+# This declaration allows BOOTP clients to get dynamic addresses,
+# which we don't really recommend.
+
+subnet 10.254.239.32 netmask 255.255.255.224 {
+ range dynamic-bootp 10.254.239.40 10.254.239.60;
+ option broadcast-address 10.254.239.31;
+ option routers rtr-239-32-1.example.org;
+}
+
+# A slightly different configuration for an internal subnet.
+subnet 10.5.5.0 netmask 255.255.255.224 {
+ range 10.5.5.26 10.5.5.30;
+ option domain-name-servers ns1.internal.example.org;
+ option domain-name "internal.example.org";
+ option routers 10.5.5.1;
+ option broadcast-address 10.5.5.31;
+ default-lease-time 600;
+ max-lease-time 7200;
+}
+
+# Hosts which require special configuration options can be listed in
+# host statements. If no address is specified, the address will be
+# allocated dynamically (if possible), but the host-specific information
+# will still come from the host declaration.
+
+host passacaglia {
+ hardware ethernet 0:0:c0:5d:bd:95;
+ filename "vmunix.passacaglia";
+ server-name "toccata.fugue.com";
+}
+
+# Fixed IP addresses can also be specified for hosts. These addresses
+# should not also be listed as being available for dynamic assignment.
+# Hosts for which fixed IP addresses have been specified can boot using
+# BOOTP or DHCP. Hosts for which no fixed address is specified can only
+# be booted with DHCP, unless there is an address range on the subnet
+# to which a BOOTP client is connected which has the dynamic-bootp flag
+# set.
+host fantasia {
+ hardware ethernet 08:00:07:26:c0:a5;
+ fixed-address fantasia.fugue.com;
+}
+
+# You can declare a class of clients and then do address allocation
+# based on that. The example below shows a case where all clients
+# in a certain class get addresses on the 10.17.224/24 subnet, and all
+# other clients get addresses on the 10.0.29/24 subnet.
+
+class "foo" {
+ match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
+}
+
+shared-network 224-29 {
+ subnet 10.17.224.0 netmask 255.255.255.0 {
+ option routers rtr-224.example.org;
+ }
+ subnet 10.0.29.0 netmask 255.255.255.0 {
+ option routers rtr-29.example.org;
+ }
+ pool {
+ allow members of "foo";
+ range 10.17.224.10 10.17.224.250;
+ }
+ pool {
+ deny members of "foo";
+ range 10.0.29.10 10.0.29.230;
+ }
+}
diff --git a/projectroot/etc/directfbrc b/projectroot/etc/directfbrc
new file mode 100644
index 000000000..be229df95
--- /dev/null
+++ b/projectroot/etc/directfbrc
@@ -0,0 +1,2 @@
+system=x11
+depth=24
diff --git a/projectroot/etc/dnsmasq.conf b/projectroot/etc/dnsmasq.conf
new file mode 100644
index 000000000..1856481d1
--- /dev/null
+++ b/projectroot/etc/dnsmasq.conf
@@ -0,0 +1,506 @@
+# Configuration file for dnsmasq.
+#
+# Format is one option per line, legal options are the same
+# as the long options legal on the command line. See
+# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.
+
+# The following two options make you a better netizen, since they
+# tell dnsmasq to filter out queries which the public DNS cannot
+# answer, and which load the servers (especially the root servers)
+# uneccessarily. If you have a dial-on-demand link they also stop
+# these requests from bringing up the link uneccessarily.
+
+# Never forward plain names (without a dot or domain part)
+#domain-needed
+# Never forward addresses in the non-routed address spaces.
+#bogus-priv
+
+
+# Uncomment this to filter useless windows-originated DNS requests
+# which can trigger dial-on-demand links needlessly.
+# Note that (amongst other things) this blocks all SRV requests,
+# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk.
+# This option only affects forwarding, SRV records originating for
+# dnsmasq (via srv-host= lines) are not suppressed by it.
+#filterwin2k
+
+# Change this line if you want dns to get its upstream servers from
+# somewhere other that /etc/resolv.conf
+#resolv-file=
+
+# By default, dnsmasq will send queries to any of the upstream
+# servers it knows about and tries to favour servers to are known
+# to be up. Uncommenting this forces dnsmasq to try each query
+# with each server strictly in the order they appear in
+# /etc/resolv.conf
+#strict-order
+
+# If you don't want dnsmasq to read /etc/resolv.conf or any other
+# file, getting its servers from this file instead (see below), then
+# uncomment this.
+#no-resolv
+
+# If you don't want dnsmasq to poll /etc/resolv.conf or other resolv
+# files for changes and re-read them then uncomment this.
+#no-poll
+
+# Add other name servers here, with domain specs if they are for
+# non-public domains.
+#server=/localnet/192.168.0.1
+
+# Example of routing PTR queries to nameservers: this will send all
+# address->name queries for 192.168.3/24 to nameserver 10.1.2.3
+#server=/3.168.192.in-addr.arpa/10.1.2.3
+
+# Add local-only domains here, queries in these domains are answered
+# from /etc/hosts or DHCP only.
+#local=/localnet/
+
+# Add domains which you want to force to an IP address here.
+# The example below send any host in doubleclick.net to a local
+# webserver.
+#address=/doubleclick.net/127.0.0.1
+
+# --address (and --server) work with IPv6 addresses too.
+#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83
+
+# You can control how dnsmasq talks to a server: this forces
+# queries to 10.1.2.3 to be routed via eth1
+# --server=10.1.2.3@eth1
+
+# and this sets the source (ie local) address used to talk to
+# 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
+# IP on the machine, obviously).
+# --server=10.1.2.3@192.168.1.1#55
+
+# If you want dnsmasq to change uid and gid to something other
+# than the default, edit the following lines.
+#user=
+#group=
+
+# If you want dnsmasq to listen for DHCP and DNS requests only on
+# specified interfaces (and the loopback) give the name of the
+# interface (eg eth0) here.
+# Repeat the line for more than one interface.
+#interface=
+# Or you can specify which interface _not_ to listen on
+#except-interface=
+# Or which to listen on by address (remember to include 127.0.0.1 if
+# you use this.)
+#listen-address=
+# If you want dnsmasq to provide only DNS service on an interface,
+# configure it as shown above, and then use the following line to
+# disable DHCP on it.
+#no-dhcp-interface=
+
+# On systems which support it, dnsmasq binds the wildcard address,
+# even when it is listening on only some interfaces. It then discards
+# requests that it shouldn't reply to. This has the advantage of
+# working even when interfaces come and go and change address. If you
+# want dnsmasq to really bind only the interfaces it is listening on,
+# uncomment this option. About the only time you may need this is when
+# running another nameserver on the same machine.
+#bind-interfaces
+
+# If you don't want dnsmasq to read /etc/hosts, uncomment the
+# following line.
+#no-hosts
+# or if you want it to read another file, as well as /etc/hosts, use
+# this.
+#addn-hosts=/etc/banner_add_hosts
+
+# Set this (and domain: see below) if you want to have a domain
+# automatically added to simple names in a hosts-file.
+#expand-hosts
+
+# Set the domain for dnsmasq. this is optional, but if it is set, it
+# does the following things.
+# 1) Allows DHCP hosts to have fully qualified domain names, as long
+# as the domain part matches this setting.
+# 2) Sets the "domain" DHCP option thereby potentially setting the
+# domain of all systems configured by DHCP
+# 3) Provides the domain part for "expand-hosts"
+#domain=thekelleys.org.uk
+
+# Set a different domain for a particular subnet
+#domain=wireless.thekelleys.org.uk,192.168.2.0/24
+
+# Same idea, but range rather then subnet
+#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200
+
+# Uncomment this to enable the integrated DHCP server, you need
+# to supply the range of addresses available for lease and optionally
+# a lease time. If you have more than one network, you will need to
+# repeat this for each network on which you want to supply DHCP
+# service.
+#dhcp-range=192.168.0.50,192.168.0.150,12h
+
+# This is an example of a DHCP range where the netmask is given. This
+# is needed for networks we reach the dnsmasq DHCP server via a relay
+# agent. If you don't know what a DHCP relay agent is, you probably
+# don't need to worry about this.
+#dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
+
+# This is an example of a DHCP range with a network-id, so that
+# some DHCP options may be set only for this network.
+#dhcp-range=red,192.168.0.50,192.168.0.150
+
+# Supply parameters for specified hosts using DHCP. There are lots
+# of valid alternatives, so we will give examples of each. Note that
+# IP addresses DO NOT have to be in the range given above, they just
+# need to be on the same network. The order of the parameters in these
+# do not matter, it's permissible to give name,address and MAC in any order
+
+# Always allocate the host with ethernet address 11:22:33:44:55:66
+# The IP address 192.168.0.60
+#dhcp-host=11:22:33:44:55:66,192.168.0.60
+
+# Always set the name of the host with hardware address
+# 11:22:33:44:55:66 to be "fred"
+#dhcp-host=11:22:33:44:55:66,fred
+
+# Always give the host with ethernet address 11:22:33:44:55:66
+# the name fred and IP address 192.168.0.60 and lease time 45 minutes
+#dhcp-host=11:22:33:44:55:66,fred,192.168.0.60,45m
+
+# Give a host with ethernet address 11:22:33:44:55:66 or
+# 12:34:56:78:90:12 the IP address 192.168.0.60. Dnsmasq will assume
+# that these two ethernet interfaces will never be in use at the same
+# time, and give the IP address to the second, even if it is already
+# in use by the first. Useful for laptops with wired and wireless
+# addresses.
+#dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60
+
+# Give the machine which says its name is "bert" IP address
+# 192.168.0.70 and an infinite lease
+#dhcp-host=bert,192.168.0.70,infinite
+
+# Always give the host with client identifier 01:02:02:04
+# the IP address 192.168.0.60
+#dhcp-host=id:01:02:02:04,192.168.0.60
+
+# Always give the host with client identifier "marjorie"
+# the IP address 192.168.0.60
+#dhcp-host=id:marjorie,192.168.0.60
+
+# Enable the address given for "judge" in /etc/hosts
+# to be given to a machine presenting the name "judge" when
+# it asks for a DHCP lease.
+#dhcp-host=judge
+
+# Never offer DHCP service to a machine whose ethernet
+# address is 11:22:33:44:55:66
+#dhcp-host=11:22:33:44:55:66,ignore
+
+# Ignore any client-id presented by the machine with ethernet
+# address 11:22:33:44:55:66. This is useful to prevent a machine
+# being treated differently when running under different OS's or
+# between PXE boot and OS boot.
+#dhcp-host=11:22:33:44:55:66,id:*
+
+# Send extra options which are tagged as "red" to
+# the machine with ethernet address 11:22:33:44:55:66
+#dhcp-host=11:22:33:44:55:66,net:red
+
+# Send extra options which are tagged as "red" to
+# any machine with ethernet address starting 11:22:33:
+#dhcp-host=11:22:33:*:*:*,net:red
+
+# Ignore any clients which are specified in dhcp-host lines
+# or /etc/ethers. Equivalent to ISC "deny unkown-clients".
+# This relies on the special "known" tag which is set when
+# a host is matched.
+#dhcp-ignore=#known
+
+# Send extra options which are tagged as "red" to any machine whose
+# DHCP vendorclass string includes the substring "Linux"
+#dhcp-vendorclass=red,Linux
+
+# Send extra options which are tagged as "red" to any machine one
+# of whose DHCP userclass strings includes the substring "accounts"
+#dhcp-userclass=red,accounts
+
+# Send extra options which are tagged as "red" to any machine whose
+# MAC address matches the pattern.
+#dhcp-mac=red,00:60:8C:*:*:*
+
+# If this line is uncommented, dnsmasq will read /etc/ethers and act
+# on the ethernet-address/IP pairs found there just as if they had
+# been given as --dhcp-host options. Useful if you keep
+# MAC-address/host mappings there for other purposes.
+#read-ethers
+
+# Send options to hosts which ask for a DHCP lease.
+# See RFC 2132 for details of available options.
+# Common options can be given to dnsmasq by name:
+# run "dnsmasq --help dhcp" to get a list.
+# Note that all the common settings, such as netmask and
+# broadcast address, DNS server and default route, are given
+# sane defaults by dnsmasq. You very likely will not need
+# any dhcp-options. If you use Windows clients and Samba, there
+# are some options which are recommended, they are detailed at the
+# end of this section.
+
+# Override the default route supplied by dnsmasq, which assumes the
+# router is the same machine as the one running dnsmasq.
+#dhcp-option=3,1.2.3.4
+
+# Do the same thing, but using the option name
+#dhcp-option=option:router,1.2.3.4
+
+# Override the default route supplied by dnsmasq and send no default
+# route at all. Note that this only works for the options sent by
+# default (1, 3, 6, 12, 28) the same line will send a zero-length option
+# for all other option numbers.
+#dhcp-option=3
+
+# Set the NTP time server addresses to 192.168.0.4 and 10.10.0.5
+#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
+
+# Set the NTP time server address to be the same machine as
+# is running dnsmasq
+#dhcp-option=42,0.0.0.0
+
+# Set the NIS domain name to "welly"
+#dhcp-option=40,welly
+
+# Set the default time-to-live to 50
+#dhcp-option=23,50
+
+# Set the "all subnets are local" flag
+#dhcp-option=27,1
+
+# Send the etherboot magic flag and then etherboot options (a string).
+#dhcp-option=128,e4:45:74:68:00:00
+#dhcp-option=129,NIC=eepro100
+
+# Specify an option which will only be sent to the "red" network
+# (see dhcp-range for the declaration of the "red" network)
+# Note that the net: part must precede the option: part.
+#dhcp-option = net:red, option:ntp-server, 192.168.1.1
+
+# The following DHCP options set up dnsmasq in the same way as is specified
+# for the ISC dhcpcd in
+# http://www.samba.org/samba/ftp/docs/textdocs/DHCP-Server-Configuration.txt
+# adapted for a typical dnsmasq installation where the host running
+# dnsmasq is also the host running samba.
+# you may want to uncomment some or all of them if you use
+# Windows clients and Samba.
+#dhcp-option=19,0 # option ip-forwarding off
+#dhcp-option=44,0.0.0.0 # set netbios-over-TCP/IP nameserver(s) aka WINS server(s)
+#dhcp-option=45,0.0.0.0 # netbios datagram distribution server
+#dhcp-option=46,8 # netbios node type
+
+# Send RFC-3397 DNS domain search DHCP option. WARNING: Your DHCP client
+# probably doesn't support this......
+#dhcp-option=option:domain-search,eng.apple.com,marketing.apple.com
+
+# Send RFC-3442 classless static routes (note the netmask encoding)
+#dhcp-option=121,192.168.1.0/24,1.2.3.4,10.0.0.0/8,5.6.7.8
+
+# Send vendor-class specific options encapsulated in DHCP option 43.
+# The meaning of the options is defined by the vendor-class so
+# options are sent only when the client supplied vendor class
+# matches the class given here. (A substring match is OK, so "MSFT"
+# matches "MSFT" and "MSFT 5.0"). This example sets the
+# mtftp address to 0.0.0.0 for PXEClients.
+#dhcp-option=vendor:PXEClient,1,0.0.0.0
+
+# Send microsoft-specific option to tell windows to release the DHCP lease
+# when it shuts down. Note the "i" flag, to tell dnsmasq to send the
+# value as a four-byte integer - that's what microsoft wants. See
+# http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true
+#dhcp-option=vendor:MSFT,2,1i
+
+# Send the Encapsulated-vendor-class ID needed by some configurations of
+# Etherboot to allow is to recognise the DHCP server.
+#dhcp-option=vendor:Etherboot,60,"Etherboot"
+
+# Send options to PXELinux. Note that we need to send the options even
+# though they don't appear in the parameter request list, so we need
+# to use dhcp-option-force here.
+# See http://syslinux.zytor.com/pxe.php#special for details.
+# Magic number - needed before anything else is recognised
+#dhcp-option-force=208,f1:00:74:7e
+# Configuration file name
+#dhcp-option-force=209,configs/common
+# Path prefix
+#dhcp-option-force=210,/tftpboot/pxelinux/files/
+# Reboot time. (Note 'i' to send 32-bit value)
+#dhcp-option-force=211,30i
+
+# Set the boot filename for BOOTP. You will only need
+# this is you want to boot machines over the network and you will need
+# a TFTP server; either dnsmasq's built in TFTP server or an
+# external one. (See below for how to enable the TFTP server.)
+#dhcp-boot=pxelinux.0
+
+# Boot for Etherboot gPXE. The idea is to send two different
+# filenames, the first loads gPXE, and the second tells gPXE what to
+# load. The dhcp-match sets the gpxe tag for requests from gPXE.
+#dhcp-match=gpxe,175 # gPXE sends a 175 option.
+#dhcp-boot=net:#gpxe,undionly.kpxe
+#dhcp-boot=mybootimage
+
+# Encapsulated options for Etherboot gPXE. All the options are
+# encapsulated within option 175
+#dhcp-option=encap:175, 1, 5b # priority code
+#dhcp-option=encap:175, 176, 1b # no-proxydhcp
+#dhcp-option=encap:175, 177, string # bus-id
+#dhcp-option=encap:175, 189, 1b # BIOS drive code
+#dhcp-option=encap:175, 190, user # iSCSI username
+#dhcp-option=encap:175, 191, pass # iSCSI password
+
+# Test for the architecture of a netboot client. PXE clients are
+# supposed to send their architecture as option 93. (See RFC 4578)
+#dhcp-match=peecees, option:client-arch, 0 #x86-32
+#dhcp-match=itanics, option:client-arch, 2 #IA64
+#dhcp-match=hammers, option:client-arch, 6 #x86-64
+#dhcp-match=mactels, option:client-arch, 7 #EFI x86-64
+
+# Enable dnsmasq's built-in TFTP server
+#enable-tftp
+
+# Set the root directory for files availble via FTP.
+#tftp-root=/var/ftpd
+
+# Make the TFTP server more secure: with this set, only files owned by
+# the user dnsmasq is running as will be send over the net.
+#tftp-secure
+
+# Set the boot file name only when the "red" tag is set.
+#dhcp-boot=net:red,pxelinux.red-net
+
+# An example of dhcp-boot with an external server: the name and IP
+# address of the server are given after the filename.
+#dhcp-boot=/var/ftpd/pxelinux.0,boothost,192.168.0.3
+
+# Set the limit on DHCP leases, the default is 150
+#dhcp-lease-max=150
+
+# The DHCP server needs somewhere on disk to keep its lease database.
+# This defaults to a sane location, but if you want to change it, use
+# the line below.
+#dhcp-leasefile=/var/lib/misc/dnsmasq.leases
+
+# Set the DHCP server to authoritative mode. In this mode it will barge in
+# and take over the lease for any client which broadcasts on the network,
+# whether it has a record of the lease or not. This avoids long timeouts
+# when a machine wakes up on a new network. DO NOT enable this if there's
+# the slighest chance that you might end up accidentally configuring a DHCP
+# server for your campus/company accidentally. The ISC server uses
+# the same option, and this URL provides more information:
+# http://www.isc.org/index.pl?/sw/dhcp/authoritative.php
+#dhcp-authoritative
+
+# Run an executable when a DHCP lease is created or destroyed.
+# The arguments sent to the script are "add" or "del",
+# then the MAC address, the IP address and finally the hostname
+# if there is one.
+#dhcp-script=/bin/echo
+
+# Set the cachesize here.
+#cache-size=150
+
+# If you want to disable negative caching, uncomment this.
+#no-negcache
+
+# Normally responses which come form /etc/hosts and the DHCP lease
+# file have Time-To-Live set as zero, which conventionally means
+# do not cache further. If you are happy to trade lower load on the
+# server for potentially stale date, you can set a time-to-live (in
+# seconds) here.
+#local-ttl=
+
+# If you want dnsmasq to detect attempts by Verisign to send queries
+# to unregistered .com and .net hosts to its sitefinder service and
+# have dnsmasq instead return the correct NXDOMAIN response, uncomment
+# this line. You can add similar lines to do the same for other
+# registries which have implemented wildcard A records.
+#bogus-nxdomain=64.94.110.11
+
+# If you want to fix up DNS results from upstream servers, use the
+# alias option. This only works for IPv4.
+# This alias makes a result of 1.2.3.4 appear as 5.6.7.8
+#alias=1.2.3.4,5.6.7.8
+# and this maps 1.2.3.x to 5.6.7.x
+#alias=1.2.3.0,5.6.7.0,255.255.255.0
+# and this maps 192.168.0.10->192.168.0.40 to 10.0.0.10->10.0.0.40
+#alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0
+
+# Change these lines if you want dnsmasq to serve MX records.
+
+# Return an MX record named "maildomain.com" with target
+# servermachine.com and preference 50
+#mx-host=maildomain.com,servermachine.com,50
+
+# Set the default target for MX records created using the localmx option.
+#mx-target=servermachine.com
+
+# Return an MX record pointing to the mx-target for all local
+# machines.
+#localmx
+
+# Return an MX record pointing to itself for all local machines.
+#selfmx
+
+# Change the following lines if you want dnsmasq to serve SRV
+# records. These are useful if you want to serve ldap requests for
+# Active Directory and other windows-originated DNS requests.
+# See RFC 2782.
+# You may add multiple srv-host lines.
+# The fields are <name>,<target>,<port>,<priority>,<weight>
+# If the domain part if missing from the name (so that is just has the
+# service and protocol sections) then the domain given by the domain=
+# config option is used. (Note that expand-hosts does not need to be
+# set for this to work.)
+
+# A SRV record sending LDAP for the example.com domain to
+# ldapserver.example.com port 289
+#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389
+
+# A SRV record sending LDAP for the example.com domain to
+# ldapserver.example.com port 289 (using domain=)
+#domain=example.com
+#srv-host=_ldap._tcp,ldapserver.example.com,389
+
+# Two SRV records for LDAP, each with different priorities
+#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,1
+#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,2
+
+# A SRV record indicating that there is no LDAP server for the domain
+# example.com
+#srv-host=_ldap._tcp.example.com
+
+# The following line shows how to make dnsmasq serve an arbitrary PTR
+# record. This is useful for DNS-SD. (Note that the
+# domain-name expansion done for SRV records _does_not
+# occur for PTR records.)
+#ptr-record=_http._tcp.dns-sd-services,"New Employee Page._http._tcp.dns-sd-services"
+
+# Change the following lines to enable dnsmasq to serve TXT records.
+# These are used for things like SPF and zeroconf. (Note that the
+# domain-name expansion done for SRV records _does_not
+# occur for TXT records.)
+
+#Example SPF.
+#txt-record=example.com,"v=spf1 a -all"
+
+#Example zeroconf
+#txt-record=_http._tcp.example.com,name=value,paper=A4
+
+# Provide an alias for a "local" DNS name. Note that this _only_ works
+# for targets which are names from DHCP or /etc/hosts. Give host
+# "bert" another name, bertrand
+#cname=bertand,bert
+
+# For debugging purposes, log each DNS query as it passes through
+# dnsmasq.
+#log-queries
+
+# Log lots of extra information about DHCP transactions.
+#log-dhcp
+
+# Include a another lot of configuration options.
+#conf-file=/etc/dnsmasq.more.conf
+#conf-dir=/etc/dnsmasq.d
diff --git a/projectroot/etc/frodorc b/projectroot/etc/frodorc
new file mode 100644
index 000000000..25cf09429
--- /dev/null
+++ b/projectroot/etc/frodorc
@@ -0,0 +1,26 @@
+NormalCycles = 63
+BadLineCycles = 23
+CIACycles = 63
+FloppyCycles = 64
+SkipFrames = 1
+DriveType8 = DIR
+DrivePath8 = ./64prgs
+DriveType9 = D64
+DrivePath9 = ./disk1.d64
+DriveType10 = DIR
+DrivePath10 =
+DriveType11 = DIR
+DrivePath11 =
+SIDType = NONE
+SpritesOn = TRUE
+SpriteCollisions = TRUE
+Joystick1On = FALSE
+Joystick2On = FALSE
+JoystickSwap = FALSE
+LimitSpeed = TRUE
+FastReset = TRUE
+CIAIRQHack = FALSE
+MapSlash = TRUE
+Emul1541Proc = FALSE
+ShowOptions = FALSE
+SIDFilters = TRUE
diff --git a/projectroot/etc/fstab b/projectroot/etc/fstab
new file mode 100644
index 000000000..89ce094dd
--- /dev/null
+++ b/projectroot/etc/fstab
@@ -0,0 +1,17 @@
+#
+# /etc/fstab
+#
+
+# special filesystems
+proc /proc proc nosuid,nodev,noexec 0 0
+devpts /dev/pts devpts nosuid,noexec,mode=620,gid=112 0 0
+sysfs /sys sysfs nosuid,nodev,noexec 0 0
+debugfs /sys/kernel/debug debugfs noauto 0 0
+
+# ramdisks
+tmpfs /tmp tmpfs nosuid,nodev,mode=1777,size=20% 0 0
+tmpfs /run tmpfs nosuid,nodev,strictatime,mode=0755 0 0
+/run /var/run bind bind 0 0
+tmpfs /var/log tmpfs nosuid,nodev,noexec,mode=0755,size=10% 0 0
+tmpfs /var/lock tmpfs nosuid,nodev,noexec,mode=0755,size=1M 0 0
+tmpfs /var/tmp tmpfs nosuid,nodev,mode=1777,size=20% 0 0
diff --git a/projectroot/etc/fw_env.config b/projectroot/etc/fw_env.config
new file mode 100644
index 000000000..bc6890d62
--- /dev/null
+++ b/projectroot/etc/fw_env.config
@@ -0,0 +1,19 @@
+# Configuration file for fw_(printenv/saveenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is ignored on NOR and SPI-dataflash.
+# Futhermore, if the Flash sector size is ommitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# NOR example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd1 0x0000 0x4000 0x4000
+#/dev/mtd2 0x0000 0x4000 0x4000
+
+# MTD SPI-dataflash example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd5 0x4200 0x4200
+#/dev/mtd6 0x4200 0x4200
+
+# NAND example
+#/dev/mtd0 0x4000 0x4000 0x20000 2
diff --git a/projectroot/etc/group b/projectroot/etc/group
new file mode 100644
index 000000000..078ebe80a
--- /dev/null
+++ b/projectroot/etc/group
@@ -0,0 +1,24 @@
+root:x:0:
+daemon:x:1:
+adm:x:4:
+utmp:x:43:
+users:x:100:
+ftp:x:101:
+www:x:102:
+messagebus:x:104:
+cdrom:x:105:
+dialout:x:106:
+disk:x:107:
+floppy:x:108:
+kmem:x:109:
+lp:x:110:
+tape:x:111:
+tty:x:112:
+video:x:113:
+lock:x:114:
+audio:x:115:
+input:x:116:
+systemd-journal:x:201:
+systemd-network:x:202:
+systemd-journal-remote:x:203:
+nogroup:x:65534:
diff --git a/projectroot/etc/gshadow b/projectroot/etc/gshadow
new file mode 100644
index 000000000..f215519e9
--- /dev/null
+++ b/projectroot/etc/gshadow
@@ -0,0 +1,3 @@
+root:*::
+users:*::
+ftp:*::
diff --git a/projectroot/etc/hostname b/projectroot/etc/hostname
new file mode 100644
index 000000000..775158876
--- /dev/null
+++ b/projectroot/etc/hostname
@@ -0,0 +1 @@
+@HOSTNAME@
diff --git a/projectroot/etc/hosts b/projectroot/etc/hosts
new file mode 100644
index 000000000..ba712fe03
--- /dev/null
+++ b/projectroot/etc/hosts
@@ -0,0 +1 @@
+127.0.0.1 localhost
diff --git a/projectroot/etc/hosts.allow b/projectroot/etc/hosts.allow
new file mode 100644
index 000000000..c5d281f60
--- /dev/null
+++ b/projectroot/etc/hosts.allow
@@ -0,0 +1,12 @@
+# /etc/hosts.allow: list of hosts that are allowed to access the system.
+# See the manual pages hosts_access(5) and hosts_options(5).
+#
+# Example: ALL: LOCAL @some_netgroup
+# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
+#
+# If you're going to protect the portmapper use the name "portmap" for the
+# daemon name. Remember that you can only use the keyword "ALL" and IP
+# addresses (NOT host or domain names) for the portmapper, as well as for
+# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
+# for further information.
+#
diff --git a/projectroot/etc/hosts.deny b/projectroot/etc/hosts.deny
new file mode 100644
index 000000000..7d19ad10b
--- /dev/null
+++ b/projectroot/etc/hosts.deny
@@ -0,0 +1,19 @@
+# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
+# See the manual pages hosts_access(5) and hosts_options(5).
+#
+# Example: ALL: some.host.name, .some.domain
+# ALL EXCEPT in.fingerd: other.host.name, .other.domain
+#
+# If you're going to protect the portmapper use the name "portmap" for the
+# daemon name. Remember that you can only use the keyword "ALL" and IP
+# addresses (NOT host or domain names) for the portmapper, as well as for
+# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
+# for further information.
+#
+# The PARANOID wildcard matches any host whose name does not match its
+# address.
+
+# You may wish to enable this to ensure any programs that don't
+# validate looked up hostnames still leave understandable logs. In past
+# versions of Debian this has been the default.
+# ALL: PARANOID
diff --git a/projectroot/etc/hosts.equiv b/projectroot/etc/hosts.equiv
new file mode 100644
index 000000000..64e9b7bb7
--- /dev/null
+++ b/projectroot/etc/hosts.equiv
@@ -0,0 +1,7 @@
+#
+# file: /etc/hosts.equiv
+#
+# Allow access from everywhere.
+#
++ +
+
diff --git a/projectroot/etc/inadyn.conf b/projectroot/etc/inadyn.conf
new file mode 100644
index 000000000..924ad3bde
--- /dev/null
+++ b/projectroot/etc/inadyn.conf
@@ -0,0 +1,32 @@
+#
+# /etc/inadyn.conf
+#
+# This file avoids passwords on the command line
+#
+# Note: You can generate this file with the help of this web site:
+# https://www.dyndns.com/support/tools/clientconfig.html
+#
+
+# Main settings
+background
+syslog
+iterations 1
+
+# Provider A
+
+dyndns_system dyndns@dyndns.org
+username aaaaa
+password bbbbb
+alias ccccc
+forced_update_period 2419200
+
+# Thanks to Christian Eyrich and his patch we can use more than one provider
+# Refer http://www.eyrich-net.org/programmiertes.html (German only)
+
+# Provider B
+
+dyndns_system default@no-ip.com
+username xxxx
+password xxxx
+update_period_sec 300
+alias yyyy
diff --git a/projectroot/etc/inetd.conf.d/cvs b/projectroot/etc/inetd.conf.d/cvs
new file mode 100644
index 000000000..647abe5d5
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/cvs
@@ -0,0 +1 @@
+cvspserver stream tcp nowait root /usr/bin/cvs cvsd -f @ROOT@ pserver
diff --git a/projectroot/etc/inetd.conf.d/dnsmasq b/projectroot/etc/inetd.conf.d/dnsmasq
new file mode 100644
index 000000000..6347596e2
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/dnsmasq
@@ -0,0 +1 @@
+domain stream tcp nowait root /sbin/dnsmasq domain
diff --git a/projectroot/etc/inetd.conf.d/fam b/projectroot/etc/inetd.conf.d/fam
new file mode 100644
index 000000000..1e2637874
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/fam
@@ -0,0 +1 @@
+sgi_fam/1-2 stream rpc/tcp wait root /usr/sbin/famd famd -c /etc/fam.conf
diff --git a/projectroot/etc/inetd.conf.d/ftpd b/projectroot/etc/inetd.conf.d/ftpd
new file mode 100644
index 000000000..333503195
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/ftpd
@@ -0,0 +1,3 @@
+# Enable all kinds of FTP upload commands (-w option)
+#ftp stream tcp nowait root /usr/sbin/ftpd ftpd -w -S /tmp
+ftp stream tcp nowait root /usr/sbin/ftpd ftpd -S /tmp
diff --git a/projectroot/etc/inetd.conf.d/inetutils-rshd b/projectroot/etc/inetd.conf.d/inetutils-rshd
new file mode 100644
index 000000000..0cd910de6
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/inetutils-rshd
@@ -0,0 +1 @@
+shell stream tcp nowait root /usr/sbin/rshd
diff --git a/projectroot/etc/inetd.conf.d/portmap b/projectroot/etc/inetd.conf.d/portmap
new file mode 100644
index 000000000..f46527f07
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/portmap
@@ -0,0 +1 @@
+sunrpc stream tcp nowait root /sbin/portmap portmap
diff --git a/projectroot/etc/inetd.conf.d/rsync b/projectroot/etc/inetd.conf.d/rsync
new file mode 100644
index 000000000..823367734
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/rsync
@@ -0,0 +1 @@
+rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon @CONFIG@
diff --git a/projectroot/etc/inetd.conf.d/telnetd b/projectroot/etc/inetd.conf.d/telnetd
new file mode 100644
index 000000000..1dd0b69d7
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/telnetd
@@ -0,0 +1 @@
+telnet stream tcp nowait root /usr/sbin/telnetd telnetd -i
diff --git a/projectroot/etc/inetd.conf.d/tftp b/projectroot/etc/inetd.conf.d/tftp
new file mode 100644
index 000000000..a4645cbbe
--- /dev/null
+++ b/projectroot/etc/inetd.conf.d/tftp
@@ -0,0 +1 @@
+tftp dgram udp wait nobody /sbin/tftpd tftpd -l @ROOT@
diff --git a/projectroot/etc/init.d/NetworkManager b/projectroot/etc/init.d/NetworkManager
new file mode 100644
index 000000000..50a5467ad
--- /dev/null
+++ b/projectroot/etc/init.d/NetworkManager
@@ -0,0 +1,84 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: NetworkManager
+# Required-Start: $remote_fs dbus hal
+# Required-Stop: $remote_fs dbus hal
+# Should-Start: $syslog
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: network connection manager
+# Description: Daemon for automatically switching network
+# connections to the best available connection.
+### END INIT INFO
+
+set -e
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+localstatedir=/var
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="network connection manager"
+NAME="NetworkManager"
+
+DAEMON=${sbindir}/$NAME
+
+PIDDIR=${localstatedir}/run
+PIDFILE=$PIDDIR/$NAME.pid
+CONFFILE=$PIDDIR/$NAME.conf
+STATEFILE=$PIDDIR/$NAME.state
+
+DAEMON_OPTS="--config=$CONFFILE --state-file=$STATEFILE"
+
+USER=root
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0
+
+test -f /etc/default/NetworkManager && . /etc/default/NetworkManager
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+ /lib/init/nm-unmanage.sh
+
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --oknodo --user $USER --exec $DAEMON -- $DAEMON_OPTS --pid-file $PIDFILE
+
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+ start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
+ --oknodo --user $USER --exec $DAEMON
+
+}
+
+
+case "$1" in
+ start)
+ echo "Starting $DESC" "$NAME"
+ d_start
+ ;;
+ stop)
+ echo "Stopping $DESC" "$NAME"
+ d_stop
+ ;;
+ restart|force-reload)
+ echo "Restarting $DESC" "$NAME"
+ d_stop
+ d_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/acpid b/projectroot/etc/init.d/acpid
new file mode 100644
index 000000000..81e97631b
--- /dev/null
+++ b/projectroot/etc/init.d/acpid
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+DAEMON=/usr/sbin/acpid
+PIDFILE=/var/run/acpid.pid
+
+case $1 in
+start)
+ echo "starting acpid"
+
+ # don't use acpid if proc/acpi is not there.
+ if [ ! -e /proc/acpi/event ]; then
+ echo "failed"
+ echo "error: proc/acpi/event not here"
+ exit 1
+ fi
+
+ # Start the acpid daemon to continually
+ # watch for, and act on, acpievents
+ echo -n "Starting acpid..."
+ start-stop-daemon --start --oknodo \
+ --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ exit 0
+ else
+ echo "failed"
+ exit 1
+ fi
+
+ ;;
+stop)
+ echo "Stopping acpid"
+ start-stop-daemon --stop --oknodo --quiet \
+ --pidfile $PIDFILE --exec $DAEMON
+ ;;
+*)
+ echo "usage: $0 [start|stop]"
+ ;;
+esac
+
diff --git a/projectroot/etc/init.d/alsa-utils b/projectroot/etc/init.d/alsa-utils
new file mode 100644
index 000000000..cacd5fa81
--- /dev/null
+++ b/projectroot/etc/init.d/alsa-utils
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# /etc/init.d/alsa-utils
+#
+
+case "$1" in
+
+ start|restart|force-reload)
+ if [ ! -d /dev/snd ]; then
+ echo "sound not supported, skipping mixer state"
+ exit 0
+ fi
+ echo -n "restoring mixer state..."
+ if [ -f /etc/asound.state ]; then
+ /usr/sbin/alsactl restore -f /etc/asound.state
+ echo "done"
+ else
+ echo "no /etc/asound.state, aborting"
+ fi
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/apache2 b/projectroot/etc/init.d/apache2
new file mode 100644
index 000000000..a8cf04f7e
--- /dev/null
+++ b/projectroot/etc/init.d/apache2
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# /etc/init.d/apache2
+#
+NAME=apache2
+
+#
+# This is an workaround, if the path targets into a ramfs
+#
+mkdir -p @LOGPATH@
+
+case "$1" in
+ start)
+ echo -n "Starting $NAME: "
+ if /usr/sbin/apache2 -f @APACHECONFIG@ -k start; then
+ echo "Done"
+ else
+ echo "Failed"
+ fi
+ ;;
+
+ stop)
+ echo -n "Stopping $NAME: "
+ if /usr/sbin/apache2 -f @APACHECONFIG@ -k stop; then
+ echo "Done"
+ else
+ echo "Failed"
+ fi
+ ;;
+
+ restart)
+ echo -n "Restarting $NAME: "
+ if /usr/sbin/apache2 -f @APACHECONFIG@ -k restart; then
+ echo "Done"
+ else
+ echo "Failed"
+ fi
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/atd b/projectroot/etc/init.d/atd
new file mode 100644
index 000000000..7253f646c
--- /dev/null
+++ b/projectroot/etc/init.d/atd
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+#
+# atd
+#
+PATH=/usr/bin:/usr/sbin:/bin:/sbin
+
+PREFIX="atd: "
+ATD="/usr/sbin/atd"
+PIDFILE=/var/run/atd.pid
+
+case $1 in
+ start)
+ echo "${PREFIX}starting"
+
+ if start-stop-daemon -S -q -o -x ${ATD} -p ${PIDFILE}; then
+ echo "${PREFIX}done"
+ else
+ echo "${PREFIX}error, could not start server"
+ fi
+ ;;
+
+ stop)
+ echo "${PREFIX}stoppping"
+
+ if start-stop-daemon -K -q -o -x ${ATD} -p ${PIDFILE}; then
+ echo "${PREFIX}done"
+ else
+ echo "${PREFIX}error, could not stop server"
+ fi
+ ;;
+
+ *)
+ echo "${PREFIX}usage: ${0} [start|stop]"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/avahi-daemon b/projectroot/etc/init.d/avahi-daemon
new file mode 100644
index 000000000..27c22cc52
--- /dev/null
+++ b/projectroot/etc/init.d/avahi-daemon
@@ -0,0 +1,101 @@
+#!/bin/sh
+#
+# This is a avahi-daemon init.d script which is called by init(1) with [start|stop] as argument
+# Mi 22. Jul 21:46:28 CEST 2009
+
+#set -e
+PATH=/sbin:/bin:/usr/bin
+BINARY=/usr/sbin/avahi-daemon
+OPTIONS="-D"
+
+test -f $BINARY || { echo "$BINARY not found" >&2 ; exit 0; }
+test -f /etc/default/avahi-daemon && . /etc/default/avahi-daemon
+
+start_proc(){
+$BINARY -c && return 0
+$BINARY $OPTIONS
+case $? in
+ 0)
+ echo " [+] (avahi-daemon)"
+ ;;
+ *)
+ echo " [!] (avahi-daemon)"
+ ;;
+esac
+}
+
+stop_proc(){
+if $BINARY -c ; then
+ $BINARY -k
+ case $? in
+ 0)
+ echo " [-] (avahi-daemon)"
+ ;;
+ *)
+ echo " [!] (avahi-daemon)"
+ ;;
+ esac
+fi
+}
+
+refresh_proc(){
+if $BINARY -c ; then
+ $BINARY -r
+ case $? in
+ 0)
+ echo " [*] (avahi-daemon)"
+ ;;
+ *)
+ echo " [!] (avahi-daemon)"
+ ;;
+ esac
+fi
+}
+
+check_proc(){
+$BINARY -c
+case $? in
+ 0)
+ echo " [+] (avahi-daemon)"
+ ;;
+ *)
+ echo " [-] (avahi-daemon)"
+ ;;
+esac
+}
+
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ stop_proc
+ sleep 2
+ start_proc
+ ;;
+ reload)
+ refresh_proc
+ ;;
+ status)
+ check_proc
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|reload|restart|force-reload}"
+ echo ""
+ echo "Status Flags:"
+ echo "[+] -> started"
+ echo "[-] -> not started"
+ echo "[*] -> reloaded"
+ echo "[!] -> error - please debug without -D option"
+ echo ""
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/boa b/projectroot/etc/init.d/boa
new file mode 100644
index 000000000..53c28d715
--- /dev/null
+++ b/projectroot/etc/init.d/boa
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# See how we were called.
+case "$1" in
+ start)
+ echo -n "Starting boa: "
+ /usr/sbin/boa
+ echo
+ ;;
+ stop)
+ echo -n "Shutting down boa: "
+ killall boa
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/chrony b/projectroot/etc/init.d/chrony
new file mode 100644
index 000000000..e7e937ae3
--- /dev/null
+++ b/projectroot/etc/init.d/chrony
@@ -0,0 +1,167 @@
+#!/bin/sh
+#
+# This is a chrony init.d script which ist called by init(1)
+# with [start|stop] as argument. This version does not
+# need an additional start-stop daemon.
+#
+# Last change: Bjørn Bürger <b.buerger@pengutronix.de>
+# Date: Tue Mar 6 16:00:30 UTC 2007
+
+PATH=/sbin:/bin:/usr/bin:/usr/sbin
+BINARY="/usr/sbin/chronyd"
+CONFIG="/etc/chrony/chrony.conf"
+PREFIX="chrony: "
+# This system doesn´t have full rtc ioctl support for
+# chrony statistic functions
+RTC_IOCTL="incomplete"
+
+# some chronyc commands need prior autentication: extract keys from config
+KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
+PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
+
+# convenience functions
+message(){
+ echo "${PREFIX}$*" >&2
+}
+
+message_n(){
+ echo -n "${PREFIX}$*" >&2
+}
+
+bailout(){
+ echo "${PREFIX}ERROR --- $*" >&2
+ exit 1
+}
+
+usage(){
+ echo "Usage: $0 {start|stop|restart|force-reload|online|offline|set-rtc|status|statistics}"
+}
+
+killproc() {
+ killall $1
+}
+
+# main functions
+start_proc() {
+ message_n "Reading system time from RealTimeClock ..."
+ /sbin/hwclock --hctosys || message_n " ### FAILED ### "
+ message "DONE"
+ message_n "Starting NTP server: chronyd ..."
+ [ -e "$CONFIG" ] || bailout "Configfile $CONFIG not found, PANIC!"
+ $BINARY -f $CONFIG
+ message "DONE"
+}
+
+stop_proc() {
+ message_n "Stopping NTP server: chronyd ..."
+ killproc chronyd
+ message "DONE"
+ message_n "Writing system time to RealTimeClock ..."
+ /sbin/hwclock --systohc || message_n " ### FAILED ### "
+ message "DONE"
+}
+
+set_online(){
+ message_n "Setting NTP server ONLINE ... "
+ /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/chronyc <<-EOF
+ password $PASSWORD
+ online
+ burst 5/10
+ quit
+ EOF
+ message "DONE"
+ exit 0
+}
+
+set_offline(){
+ message_n "Setting NTP server OFFLINE ... "
+ /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/chronyc <<-EOF
+ password $PASSWORD
+ offline
+ EOF
+ message "DONE"
+ exit 0
+}
+
+set_rtc(){
+ /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ if [ "$RTC_IOCTL" == "incomplete" ] ; then
+ # We are running on a system with limited rtc support,
+ # so we cannot let the ntp client do the job.
+ stop_proc
+ sleep 1
+ start_proc
+ exit 0
+ else
+ # This requires enhanced rtc support
+ message_n "Setting NTP time to RTC ... "
+ cat <<-EOF | /usr/bin/chronyc
+ password $PASSWORD
+ trimrtc
+ writertc
+ dump
+ EOF
+ message "DONE"
+ exit 0
+ fi
+}
+
+status(){
+ /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ cat <<-EOF | /usr/bin/chronyc
+ password $PASSWORD
+ tracking
+ sources
+ EOF
+}
+
+statistics(){
+ /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ cat <<-EOF | /usr/bin/chronyc
+ password $PASSWORD
+ sourcestats
+ EOF
+}
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ message "Restarting NTP server: chronyd ... "
+ stop_proc
+ sleep 1
+ start_proc
+ ;;
+ reload)
+ message "Reload is not supported"
+ exit 1
+ ;;
+ online)
+ set_online
+ ;;
+ offline)
+ set_offline
+ ;;
+ set-rtc)
+ set_rtc
+ ;;
+ status)
+ status
+ ;;
+ statistics)
+ statistics
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/connman b/projectroot/etc/init.d/connman
new file mode 100644
index 000000000..043f6891c
--- /dev/null
+++ b/projectroot/etc/init.d/connman
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+DAEMON=/usr/sbin/connmand
+DESC="Connection Manager"
+
+set -e
+
+do_start() {
+ start-stop-daemon --start --oknodo --exec $DAEMON -- $DAEMON_OPTS
+}
+
+do_stop() {
+ start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ echo "Starting $DESC"
+ do_start || echo "failed"
+ ;;
+ stop)
+ echo "Stopping $DESC"
+ do_stop || echo "failed"
+ ;;
+ restart|force-reload)
+ echo "Restarting $DESC"
+ do_stop
+ sleep 1
+ do_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/crond b/projectroot/etc/init.d/crond
new file mode 100644
index 000000000..02cabb385
--- /dev/null
+++ b/projectroot/etc/init.d/crond
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# crond
+#
+case $1 in
+
+ start)
+ echo "crond starting"
+ /usr/sbin/crond
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/cvs b/projectroot/etc/init.d/cvs
new file mode 100644
index 000000000..b6d9150ac
--- /dev/null
+++ b/projectroot/etc/init.d/cvs
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo "FIXME: please implement $0"
+
diff --git a/projectroot/etc/init.d/dbus b/projectroot/etc/init.d/dbus
new file mode 100644
index 000000000..8af60f1b7
--- /dev/null
+++ b/projectroot/etc/init.d/dbus
@@ -0,0 +1,84 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# Modified Debian init.d script for D-Bus on Pengutronix OSELAS Embedded Linux
+# Copyright © 2003 Colin Walters <walters@debian.org>
+# Copyright © 2005 Sjoerd Simons <sjoerd@debian.org>
+# Adapted to OSELAS/PTXdist 2006 Roland Hostettler <r.hostettler@gmx.ch>
+
+set -e
+
+DAEMON=/usr/bin/dbus-daemon
+NAME=dbus
+DAEMONUSER=messagebus
+PIDDIR=/var/run/dbus
+PIDFILE=$PIDDIR/pid
+DESC="system message bus"
+EVENTDIR=/etc/dbus-1/event.d
+
+test -x $DAEMON || exit 0
+
+PARAMS=""
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ chown $DAEMONUSER $PIDDIR
+ chgrp $DAEMONUSER $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/`cat $PIDFILE`
+ if [ -d ${PIDDIR} -a "`readlink -f ${PIDDIR}/exe`" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+ echo -n "Starting $DESC:" "$NAME"
+ $DAEMON --system $PARAMS
+ echo "."
+ if [ -d $EVENTDIR ]; then
+ run-parts -a start $EVENTDIR || true
+ fi
+}
+
+shut_it_down()
+{
+ echo -n "Stopping $DESC:" "$NAME"
+ kill `cat $PIDFILE`
+ echo "."
+ rm -f $PIDFILE
+}
+
+reload_it()
+{
+ echo -n "Reloading $DESC config"
+ dbus-send --print-reply --system --type=method_call \
+ --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.ReloadConfig > /dev/null
+ # hopefully this is enough time for dbus to reload it's config file.
+ echo "."
+}
+
+case "$1" in
+start)
+ start_it_up
+ ;;
+stop)
+ shut_it_down
+ ;;
+ reload|force-reload)
+ reload_it
+ ;;
+restart)
+ shut_it_down
+ start_it_up
+ ;;
+*)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/dibbler-client b/projectroot/etc/init.d/dibbler-client
new file mode 100644
index 000000000..11d2b17d4
--- /dev/null
+++ b/projectroot/etc/init.d/dibbler-client
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+# Starts/stops dibbler-client
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/dibbler-client
+NAME=dibbler-client
+DESC="DHCPv6 client"
+DAEMON_OPTS=run
+
+test -x $DAEMON || exit 0
+
+# Include dibbler defaults if available
+if [ -f /etc/default/dibbler ] ; then
+ . /etc/default/dibbler
+fi
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ echo "$NAME."
+ ;;
+ status)
+ echo "Status $DESC: $NAME"
+ $DAEMON status
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ sleep 1
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/dibbler-relay b/projectroot/etc/init.d/dibbler-relay
new file mode 100644
index 000000000..292535834
--- /dev/null
+++ b/projectroot/etc/init.d/dibbler-relay
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+# Starts/stops dibbler-relay
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/dibbler-relay
+NAME=dibbler-relay
+DESC="DHCPv6 relay"
+DAEMON_OPTS=run
+
+test -x $DAEMON || exit 0
+
+# Include dibbler defaults if available
+if [ -f /etc/default/dibbler ] ; then
+ . /etc/default/dibbler
+fi
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ echo "$NAME."
+ ;;
+ status)
+ echo "Status $DESC: $NAME"
+ $DAEMON status
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ sleep 1
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/dibbler-server b/projectroot/etc/init.d/dibbler-server
new file mode 100644
index 000000000..d03c0c021
--- /dev/null
+++ b/projectroot/etc/init.d/dibbler-server
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+# Starts/stops dibbler-client
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/dibbler-server
+NAME=dibbler-server
+DESC="DHCPv6 server"
+DAEMON_OPTS=run
+
+test -x $DAEMON || exit 0
+
+# Include dibbler defaults if available
+if [ -f /etc/default/dibbler ] ; then
+ . /etc/default/dibbler
+fi
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ echo "$NAME."
+ ;;
+ status)
+ echo "Status $DESC: $NAME"
+ $DAEMON status
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ ($DAEMON stop 2>&1 > /dev/null; true)
+ sleep 1
+ $DAEMON start 2>&1 > /dev/null
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/dnsmasq b/projectroot/etc/init.d/dnsmasq
new file mode 100644
index 000000000..6e6aa5dbc
--- /dev/null
+++ b/projectroot/etc/init.d/dnsmasq
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# /etc/init.d/dnsmasq
+#
+# $Id$
+#
+PIDFILE=/var/run/dnsmasq.pid
+
+case $1 in
+
+ start)
+ test -e $PIDFILE && echo "already running"
+ echo "dnsmasq starting"
+ /usr/sbin/dnsmasq
+ ;;
+
+ stop)
+ test -e $PIDFILE || echo "not running"
+ kill -s SIGTERM `cat $PIDFILE`
+ ;;
+
+ reload)
+ test -e $PIDFILE || echo "not running"
+ kill -s SIGHUP `cat $PIDFILE`
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|reload}"
+ exit 1
+ ;;
+
+esac
diff --git a/projectroot/etc/init.d/dropbear b/projectroot/etc/init.d/dropbear
new file mode 100644
index 000000000..8f7438462
--- /dev/null
+++ b/projectroot/etc/init.d/dropbear
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/dropbear
+NAME=dropbear
+
+DROPBEAR_PORT=22
+DROPBEAR_EXTRA_ARGS=
+
+. /lib/init/initmethod-bbinit-functions.sh
+
+# test ! -h /var/service/dropbear || exit 0
+
+DROPBEAR_RSAKEY_DEFAULT="@KEYDIR@/dropbear_rsa_host_key"
+DROPBEAR_DSSKEY_DEFAULT="@KEYDIR@/dropbear_dss_host_key"
+
+test -z "$DROPBEAR_BANNER" || \
+ DROPBEAR_EXTRA_ARGS="$DROPBEAR_EXTRA_ARGS -b $DROPBEAR_BANNER"
+test -n "$DROPBEAR_RSAKEY" || \
+ DROPBEAR_RSAKEY=$DROPBEAR_RSAKEY_DEFAULT
+test -n "$DROPBEAR_DSSKEY" || \
+ DROPBEAR_DSSKEY=$DROPBEAR_DSSKEY_DEFAULT
+test -n "$DROPBEAR_KEYTYPES" || \
+ DROPBEAR_KEYTYPES="rsa dss"
+
+dropbear_start() {
+
+ KEY_ARGS=""
+ test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY"
+ test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY"
+
+ echo -n "starting dropbear..."
+
+ start-stop-daemon -S -x "$DAEMON" --oknodo -- \
+ $KEY_ARGS -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS > /dev/null 2>&1
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+}
+
+dropbear_stop() {
+
+ echo -n "stopping dropbear..."
+
+ start-stop-daemon -K -x "$DAEMON" --oknodo > /dev/null 2>&1
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+}
+
+
+case "$1" in
+start)
+ dropbear_start;;
+stop)
+ dropbear_stop;;
+restart|force-reload)
+ dropbear_stop
+ dropbear_start
+ ;;
+*)
+ N=/etc/init.d/$NAME
+ echo "usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/fake-overlayfs b/projectroot/etc/init.d/fake-overlayfs
new file mode 100644
index 000000000..3785103ce
--- /dev/null
+++ b/projectroot/etc/init.d/fake-overlayfs
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+#
+# /etc/init.d/fake-overlay
+#
+
+case $1 in
+
+ start)
+ echo "${PREFIX}copying files to tmpfs..."
+ /sbin/fake-overlayfs
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: $0 [start|stop]"
+ ;;
+esac
diff --git a/projectroot/etc/init.d/famd b/projectroot/etc/init.d/famd
new file mode 100644
index 000000000..f42d3045a
--- /dev/null
+++ b/projectroot/etc/init.d/famd
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# famd
+#
+case $1 in
+
+ start)
+ echo "famd starting"
+ /usr/sbin/famd -c /etc/fam.conf
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/gpsd b/projectroot/etc/init.d/gpsd
new file mode 100644
index 000000000..1a3706d57
--- /dev/null
+++ b/projectroot/etc/init.d/gpsd
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="GPS (Global Positioning System) daemon"
+NAME=gpsd
+DAEMON=/usr/sbin/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+GPSD_OPTIONS="-n"
+DEVICES="/dev/ttyS2"
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC" "$NAME"
+ if start-stop-daemon -S -q -p $PIDFILE -x $DAEMON -- \
+ $GPSD_OPTIONS -P $PIDFILE $DEVICES; then
+ echo done
+ else
+ echo failed
+ exit 1
+ fi
+ ;;
+ stop)
+ echo "Stopping $DESC" "$NAME"
+ start-stop-daemon -K -q -p $PIDFILE --name $NAME
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop}" >&2
+ exit 3
+ ;;
+esac
diff --git a/projectroot/etc/init.d/hwclock b/projectroot/etc/init.d/hwclock
new file mode 100644
index 000000000..3613f77e7
--- /dev/null
+++ b/projectroot/etc/init.d/hwclock
@@ -0,0 +1,21 @@
+#!/bin/sh
+# setup current system time from local buffered time source
+#
+CLOCKREADER=/sbin/hwclock
+SETSYSTEMOPT=-s
+SETHARDOPT=-w
+OPT4ALL=-u
+
+case "$1" in
+ start)
+ $CLOCKREADER $OPT4ALL $SETSYSTEMOPT
+ ;;
+ stop)
+ $CLOCKREADER $OPT4ALL $SETHARDOPT
+ ;;
+ *)
+ echo "Usage: $0 {start|stop}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/projectroot/etc/init.d/inetd b/projectroot/etc/init.d/inetd
new file mode 100644
index 000000000..128d41a82
--- /dev/null
+++ b/projectroot/etc/init.d/inetd
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# This is an inetd init.d script which ist called by init(1) with [start|stop] as argument
+#
+
+PATH=/sbin:/bin:/usr/bin
+BINARY=/usr/sbin/inetd
+
+# --- nothing to change after this line ---
+
+test -f $BINARY || { echo "$BINARY not found" >&2 ; exit 1; }
+
+start_proc() {
+ echo -n "starting inetd..."
+ $BINARY
+ echo "done"
+}
+
+stop_proc() {
+ echo -n "stopping inetd..."
+ killall inetd
+ echo "done"
+}
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ echo -n "restarting inetd..."
+ stop_proc
+ sleep 2
+ start_proc
+ echo "done"
+ ;;
+ reload)
+ echo "Not supported" >&2
+ exit 1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/lighttpd b/projectroot/etc/init.d/lighttpd
new file mode 100644
index 000000000..24a17e2a0
--- /dev/null
+++ b/projectroot/etc/init.d/lighttpd
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+#
+# lighttpd
+#
+PATH=/usr/bin:/usr/sbin:/bin:/sbin
+
+PREFIX="lighttpd: "
+LIGHTTPD="/usr/sbin/lighttpd"
+LIGHTTPD_CONF="/etc/lighttpd/lighttpd.conf"
+
+start()
+{
+ echo "${PREFIX}starting"
+
+ if start-stop-daemon --start --quiet --oknodo --exec ${LIGHTTPD} -- -f ${LIGHTTPD_CONF}; then
+ echo "${PREFIX}done"
+ else
+ echo "${PREFIX}error, could not start server"
+ fi
+}
+
+stop()
+{
+ echo "${PREFIX}stoppping"
+
+ if start-stop-daemon --stop --quiet --oknodo --exec ${LIGHTTPD}; then
+ echo "${PREFIX}done"
+ else
+ echo "${PREFIX}error, could not stop server"
+ fi
+}
+
+case $1 in
+
+ start)
+ start
+ ;;
+
+ stop)
+ stop
+ ;;
+
+ restart|force-reload)
+ stop
+ sleep 1
+ start
+ ;;
+
+ *)
+ echo "${PREFIX}usage: ${0} [start|stop|restart]"
+ exit 1
+ ;;
+
+esac
diff --git a/projectroot/etc/init.d/lldpd b/projectroot/etc/init.d/lldpd
new file mode 100755
index 000000000..00c8240f5
--- /dev/null
+++ b/projectroot/etc/init.d/lldpd
@@ -0,0 +1,139 @@
+#!/bin/sh
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="LLDP daemon"
+NAME=lldpd
+DAEMON=/usr/sbin/$NAME
+DAEMON_ARGS="@DAEMON_ARGS@"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+CHROOT=@PRIVSEP_CHROOT@
+
+# exit if binary is missing
+[ -x "$DAEMON" ] || exit 0
+
+# read further config if present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+is_running() {
+ start-stop-daemon -K --quiet --test --exec $DAEMON --pidfile $PIDFILE
+}
+
+do_chroot() {
+ oldumask=$(umask)
+ umask 022
+ [ -d $CHROOT/etc ] || mkdir -p $CHROOT/etc
+ [ -f $CHROOT/etc/localtime ] || [ ! -f /etc/localtime ] || \
+ cp /etc/localtime $CHROOT/etc/localtime
+ umask $oldumask
+}
+
+do_start() {
+ do_chroot
+ is_running && return 1
+ start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+}
+
+do_stop() {
+ is_running || return 0
+ start-stop-daemon -K --quiet --pidfile $PIDFILE --name $NAME
+ RETVAL="$?"
+
+ # wait up to 30 seconds until daemon stopped
+ for i in $(seq 30)
+ do
+ sleep 1
+ echo -n '.'
+ if ! is_running
+ then
+ break
+ fi
+ done
+
+ # see if it's still running
+ if is_running
+ then
+ start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE --name $NAME
+
+ for i in $(seq 5)
+ do
+ sleep 1
+ echo -n '.'
+ if ! is_running
+ then
+ break
+ fi
+ done
+
+ if is_running
+ then
+ return 2
+ fi
+ fi
+
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+do_reload() {
+ # send SIGHUP
+ start-stop-daemon -K --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+ return 0
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC ..."
+ do_start
+ case "$?" in
+ 0|1) echo " Done." ;;
+ 2) echo " Failed." ;;
+ esac
+ ;;
+ stop)
+ echo -n "Stopping $DESC ."
+ do_stop
+ case "$?" in
+ 0|1) echo " Done." ;;
+ 2) echo " Failed." ;;
+ esac
+ ;;
+ reload)
+ echo -n "Reloading $DESC ..."
+ do_reload
+ echo " Done."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC .."
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) echo " Done." ;;
+ 1) echo " Failed." ;; # Old process still running
+ *) echo " Failed." ;; # Failed to start
+ esac
+ ;;
+ *)
+ echo " Failed." # Failed to stop
+ ;;
+ esac
+ ;;
+ status)
+ if is_running
+ then
+ echo "$NAME is running with PID $(cat $PIDFILE) ..."
+ else
+ echo "$NAME is not running"
+ fi
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
diff --git a/projectroot/etc/init.d/logrotate b/projectroot/etc/init.d/logrotate
new file mode 100644
index 000000000..c10c12d33
--- /dev/null
+++ b/projectroot/etc/init.d/logrotate
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+#
+# /etc/init.d/logrotate - Minimal Log Rotator for /var/log/{messages,*.{log,err}}
+#
+
+PREFIX="logrotate: "
+LOGDIR="/var/log"
+MAXFILES="8"
+PATTERNS="*.err *.log messages"
+
+my_exit(){
+ echo "${PREFIX}${1}"
+ exit $2
+}
+
+logrotate(){
+ cd "${LOGDIR}"
+ # rotate backups for log files
+ for filename in ${PATTERNS}; do
+ [ -e "${filename}" ] &&
+ echo "${PREFIX}rotation for ${filename} ... " &&
+ for i in `seq $(( MAXFILES - 1 )) -1 1` ; do
+ if [ -e "${filename}.${i}" ]
+ then
+ j=$(( i + 1 ))
+ mv -f ${filename}.${i} ${filename}.${j}
+ fi
+ done &&
+ mv -f ${filename} ${filename}.1
+ done
+}
+
+#
+# Main
+#
+
+[ -d "$LOGDIR" ] || my_exit "Logdir $LOGDIR missing" 1
+
+case $1 in
+
+ start|stop)
+ echo "${PREFIX}rotating in $LOGDIR"
+ logrotate
+ ;;
+ *)
+ echo "Usage: $0 [start|stop]"
+ ;;
+esac
diff --git a/projectroot/etc/init.d/lvm2 b/projectroot/etc/init.d/lvm2
new file mode 100644
index 000000000..475225e58
--- /dev/null
+++ b/projectroot/etc/init.d/lvm2
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# Setting up Logical Volume Management
+#
+case "$1" in
+ start)
+ echo "Setting up LVM2..."
+ if /usr/sbin/lvm vgscan > /dev/null 2>&1; then
+ /usr/sbin/lvm vgchange -a y
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ ;;
+ stop)
+ echo "Stopping LVM2"
+ /usr/sbin/lvm vgchange -a n
+ ;;
+ *)
+ echo "usage: $0 [start|stop]"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/modules b/projectroot/etc/init.d/modules
new file mode 100644
index 000000000..4b5df8a31
--- /dev/null
+++ b/projectroot/etc/init.d/modules
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+#
+# /etc/init.d/modules - load modules in /etc/modules
+#
+
+MODULES_FILE=/etc/modules
+
+load_modules(){
+ # Loop over every line in /etc/modules.
+ if [ ! -f $MODULES_FILE ]; then
+ echo "no /etc/modules, exiting"
+ exit 0
+ fi
+ grep '^[^#]' $MODULES_FILE | \
+ while read module args; do
+ [ "$module" ] || continue
+ if [ "$VERBOSE" != no ]; then
+ echo " $module"
+ modprobe $module $args || true
+ else
+ modprobe $module $args > /dev/null 2>&1 || true
+ fi
+ done
+}
+
+#
+# Main
+#
+
+case $1 in
+
+ start)
+ echo "${PREFIX}loading modules"
+ load_modules
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: $0 [start|stop]"
+ ;;
+esac
diff --git a/projectroot/etc/init.d/monit b/projectroot/etc/init.d/monit
new file mode 100644
index 000000000..96ec86ab9
--- /dev/null
+++ b/projectroot/etc/init.d/monit
@@ -0,0 +1,167 @@
+#!/bin/sh
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="daemon monitor"
+NAME=monit
+DAEMON=/usr/bin/$NAME
+CONFIG="/etc/monitrc"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+MONIT_OPTS=
+
+# exit if binary is missing
+[ -x "$DAEMON" ] || exit 0
+
+monit_check_config() {
+ # Check for existing config file
+ if [ ! -f "$CONFIG" ]
+ then
+ echo " missing config, please edit $CONFIG."
+ exit 1
+ fi
+
+ # Check for emtpy config
+ if [ $(grep -cv '^\s*$\|^\s*#' $CONFIG) -eq 0 ]
+ then
+ echo " empty config, please edit $CONFIG."
+ exit 2
+ fi
+
+ # Let monit check syntax
+ if ! $DAEMON -c $CONFIG -t >/dev/null 2>&1
+ then
+ echo " syntax error in $CONFIG"
+ exit 3
+ fi
+}
+
+is_running() {
+ start-stop-daemon -K --quiet --test --exec $DAEMON \
+ --pidfile $PIDFILE
+}
+
+do_start() {
+ is_running && return 1
+ start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+ $MONIT_OPTS || return 2
+}
+
+do_stop() {
+ is_running || return 0
+ start-stop-daemon -K --quiet --pidfile $PIDFILE --exec $DAEMON
+ RETVAL="$?"
+
+ # wait up to 30 seconds until daemon stopped
+ for i in $(seq 30)
+ do
+ sleep 1
+ echo -n '.'
+ if ! is_running
+ then
+ break
+ fi
+ done
+
+ # see if it's still running
+ if is_running
+ then
+ start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE \
+ --exec $DAEMON
+
+ for i in $(seq 5)
+ do
+ sleep 1
+ echo -n '.'
+ if ! is_running
+ then
+ break
+ fi
+ done
+
+ if is_running
+ then
+ return 2
+ fi
+ fi
+
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+do_reload() {
+ # monit has an own call for this, no need to send SIGHUP
+ $DAEMON reload
+}
+
+monit_check_perms() {
+ # Check the permission on configfile.
+ # The permission must not have more than -rwx------ (0700) permissions.
+
+ # Skip checking, fix perms instead.
+ /bin/chmod go-rwx $CONFIG
+}
+
+monit_checks() {
+ # Check for emtpy configfile
+ monit_check_config
+ # Check permissions of configfile
+ monit_check_perms
+}
+
+case "$1" in
+ start)
+ monit_checks
+ do_start
+ case "$?" in
+ 0) ;;
+ 1) echo "$DESC already running." ;;
+ *) echo "Starting $DESC failed." ;;
+ esac
+ ;;
+ stop)
+ echo -n "Stopping $DESC ."
+ do_stop
+ case "$?" in
+ 0|1) echo " Done." ;;
+ *) echo " Failed." ;;
+ esac
+ ;;
+ reload)
+ do_reload
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC .."
+ do_stop
+ case "$?" in
+ 0|1)
+ echo ""
+ do_start
+ case "$?" in
+ 0) ;;
+ 1) echo " Failed." ;; # Old process still running
+ *) echo " Failed." ;; # Failed to start
+ esac
+ ;;
+ *)
+ echo " Failed." # Failed to stop
+ ;;
+ esac
+ ;;
+ status)
+ if is_running
+ then
+ echo "$NAME is running with PID $(cat $PIDFILE) ..."
+ else
+ echo "$NAME is not running"
+ fi
+ ;;
+ syntax)
+ $DAEMON -c $CONFIG -t
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
diff --git a/projectroot/etc/init.d/mysql b/projectroot/etc/init.d/mysql
new file mode 100644
index 000000000..dd80a4b33
--- /dev/null
+++ b/projectroot/etc/init.d/mysql
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo "Write Me"
+
diff --git a/projectroot/etc/init.d/networking b/projectroot/etc/init.d/networking
new file mode 100644
index 000000000..4b82262d8
--- /dev/null
+++ b/projectroot/etc/init.d/networking
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+echo "starting network interfaces..."
+
+grep "root=/dev/nfs" /proc/cmdline > /dev/null
+
+if [ $? != 0 ]; then
+ ifup -a
+else
+ # We are doing nfsroot. We cannot simply call ifup -a
+ # here because we will run into trouble with dhcp.
+ # So we call ifup for every interface except the one
+ # we are doing nfsroot on.
+ #
+ if [ ! -f /etc/network/interfaces ]; then
+ exit 0
+ fi
+
+ ifaces=$(grep "^auto" /etc/network/interfaces)
+
+ for i in $ifaces; do
+ if [ "$i" = auto ]; then
+ continue
+ fi
+
+ ifconfig | grep "^$i"
+
+ if [ $? != 0 ]; then
+ ifup "$i"
+ fi
+ done
+fi
+
+exit 0
+
diff --git a/projectroot/etc/init.d/nfsd b/projectroot/etc/init.d/nfsd
new file mode 100644
index 000000000..744bdbf98
--- /dev/null
+++ b/projectroot/etc/init.d/nfsd
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# lauching NFS service
+#
+case "$1" in
+ start)
+ echo "Mounting nfsd virtual filesystem..."
+ /bin/mount -t nfsd none /proc/fs/nfsd >/dev/null 2>&1
+
+ echo "Starting NFS mountd..."
+ /sbin/rpc.mountd
+
+ echo "Starting NFS nfsd..."
+ /sbin/rpc.nfsd -p 2049 3
+
+ echo "Starting NFS statd..."
+ /sbin/rpc.statd
+
+ echo "Exporting NFS Filesystems..."
+ /sbin/exportfs -ra >/dev/null 2>&1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/ntp-client b/projectroot/etc/init.d/ntp-client
new file mode 100644
index 000000000..edca3f297
--- /dev/null
+++ b/projectroot/etc/init.d/ntp-client
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+# This is a ntp-client init.d script which ist called by init(1) with
+# [start|stop] as argument
+
+PATH=/sbin:/bin:/usr/bin
+BINARY=/usr/sbin/ntpdc
+PIDFILE="/var/run/ntpdc.pid"
+CONFIG="/etc/ntp-client.conf"
+
+HARD=false
+
+# --- nothing to change after this line ---
+
+test -f $BINARY || { echo "$BINARY not found" >&2 ; exit 0; }
+
+start_proc() {
+ echo -n "Starting NTP client: ntpdc ..."
+ test -f "$PIDFILE" && { echo "pid-file exists" >&2 ; exit 0; }
+ $BINARY -p $PIDFILE -c $CONFIG
+ echo "DONE"
+}
+
+stop_proc() {
+ echo -n "Stopping NTP client: ntpdc ..."
+ test -f "$PIDFILE"
+ case $? in
+ 0)
+ kill `cat $PIDFILE` && rm -f $PIDFILE
+ ;;
+ *)
+ if [ "$HARD" = "true" ] ; then killall ntpd; fi
+ ;;
+ esac
+ echo "DONE"
+}
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ echo -n "Restarting NTP client: ntpdc... "
+ stop_proc
+ sleep 2
+ start_proc
+ echo "done."
+ ;;
+ reload)
+ echo "Not supported" >&2
+ exit 1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/ntp-server b/projectroot/etc/init.d/ntp-server
new file mode 100644
index 000000000..bda35616e
--- /dev/null
+++ b/projectroot/etc/init.d/ntp-server
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+# This is a ntp init.d script which ist called by init(1) with [start|stop] as argument
+#
+
+PATH=/sbin:/bin:/usr/bin
+BINARY=/usr/sbin/ntpd
+PIDFILE="/var/run/ntpd.pid"
+CONFIG="/etc/ntp-server.conf"
+
+HARD=false
+
+# --- nothing to change after this line ---
+
+test -f $BINARY || { echo "$BINARY not found" >&2 ; exit 0; }
+
+start_proc() {
+ echo -n "Starting NTP server: ntpd ..."
+ test -f "$PIDFILE" && { echo "pid-file exists" >&2 ; exit 0; }
+ $BINARY -p $PIDFILE -c $CONFIG
+ echo "DONE"
+}
+
+stop_proc() {
+ echo -n "Stopping NTP server: ntpd ..."
+ test -f "$PIDFILE"
+ case $? in
+ 0)
+ kill `cat $PIDFILE` && rm -f $PIDFILE
+ ;;
+ *)
+ if [ "$HARD" = "true" ] ; then killall ntpd; fi
+ ;;
+ esac
+ echo "DONE"
+}
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ echo -n "Restarting NTP server: ntpd... "
+ stop_proc
+ sleep 2
+ start_proc
+ echo "done."
+ ;;
+ reload)
+ echo "Not supported" >&2
+ exit 1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/ntpclient b/projectroot/etc/init.d/ntpclient
new file mode 100644
index 000000000..ccd79152f
--- /dev/null
+++ b/projectroot/etc/init.d/ntpclient
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# ntpclient
+#
+case $1 in
+
+ start)
+ echo "ntpclient starting"
+ /usr/sbin/ntpclient -i 600 -l -h @HOST@ > /dev/null &
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/openssh b/projectroot/etc/init.d/openssh
new file mode 100644
index 000000000..b65880e5d
--- /dev/null
+++ b/projectroot/etc/init.d/openssh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/sshd
+NAME=sshd
+PIDFILE=/var/run/sshd.pid
+
+case "$1" in
+
+ start)
+ mkdir -p /var/run/sshd
+
+ echo -n "starting sshd..."
+ start-stop-daemon -S -x "$DAEMON" -p "$PIDFILE" > /dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ ;;
+
+ stop)
+ echo -n "stopping sshd..."
+ start-stop-daemon -K -p $PIDFILE > /dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ ;;
+
+ restart|force-reload)
+ echo -n "restarting sshd..."
+ start-stop-daemon -K -x "$DAEMON" -p $PIDFILE > /dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ sleep 1
+ start-stop-daemon -S -x "$DAEMON" -p $PIDFILE > /dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/portmapd b/projectroot/etc/init.d/portmapd
new file mode 100644
index 000000000..5a3f36315
--- /dev/null
+++ b/projectroot/etc/init.d/portmapd
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# portmap
+#
+case $1 in
+
+ start)
+ echo "portmap starting"
+ /sbin/portmap
+ ;;
+
+esac
diff --git a/projectroot/etc/init.d/pppd b/projectroot/etc/init.d/pppd
new file mode 100644
index 000000000..93cc92401
--- /dev/null
+++ b/projectroot/etc/init.d/pppd
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+DAEMON=/usr/sbin/pppd
+PIDFILE=/var/run/ppp0.pid
+
+# define the interface used for the connection
+DAEMON_OPTS=@PPPD_INTF@
+
+case "${1}" in
+ start)
+ if [ -e $PIDFILE ]; then
+ echo "pppd already running"
+ exit 1
+ fi
+ echo "Starting pppd..."
+ $DAEMON $DAEMON_OPTS || echo "failed"
+ ;;
+
+ stop)
+ if [ ! -e $PIDFILE ]; then
+ echo "pppd not running"
+ exit 1
+ fi
+ echo "Stopping pppd..."
+ kill -s SIGTERM `cat $PIDFILE` || echo "failed"
+ ;;
+
+ restart)
+ if [ ! -e $PIDFILE ]; then
+ echo "pppd not running"
+ exit 1
+ fi
+ echo "Restarting pppd..."
+ kill -s SIGTERM `cat $PIDFILE` || echo "failed"
+ sleep 1
+ $DAEMON $DAEMON_OPTS || echo "failed"
+ ;;
+
+ status)
+ if [ -e $PIDFILE ]; then
+ echo "pppd running"
+ else
+ echo "pppd not running"
+ fi
+ ;;
+
+ hangup)
+ if [ ! -e $PIDFILE ]; then
+ echo "pppd not running"
+ exit 1
+ fi
+ echo "pppd hanging up"
+ kill -s SIGHUP `cat $PIDFILE` || echo "failed"
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|restart|status|hangup}"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/proftpd b/projectroot/etc/init.d/proftpd
new file mode 100644
index 000000000..ae69bb814
--- /dev/null
+++ b/projectroot/etc/init.d/proftpd
@@ -0,0 +1,88 @@
+#!/bin/sh
+#
+# /etc/init.d/proftpd
+# Start the proftpd FTP daemon.
+#
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/proftpd
+NAME=proftpd
+
+PIDFILE=/var/run/proftpd.pid
+
+# Read config (will override defaults)
+[ -r /etc/default/proftpd ] && . /etc/default/proftpd
+
+trap "" 1
+trap "" 15
+
+start()
+{
+ start-stop-daemon --start --quiet --pidfile "$PIDFILE" --oknodo --exec $DAEMON -- $OPTIONS
+}
+
+signal()
+{
+ start-stop-daemon --stop --signal ${1} --quiet --pidfile "$PIDFILE"
+}
+
+
+case "$1" in
+ start)
+ if [ \! -d /var/run/proftpd ]; then
+ mkdir -p /var/run/proftpd
+ fi
+ echo -n "Starting $NAME... "
+ if start; then
+ echo "Done"
+ else
+ echo "failed"
+ exit 1
+ fi
+ ;;
+
+ stop)
+ echo -n "Stopping $NAME... "
+ if signal TERM; then
+ echo "Done"
+ else
+ echo "Failed"
+ exit 1
+ fi
+ ;;
+
+ reload)
+ echo -n "Reloading $NAME configuration... "
+ if signal HUP; then
+ echo "done"
+ else
+ echo "Failed"
+ exit 1
+ fi
+ ;;
+
+ force-reload|restart)
+ echo -n "Restarting $NAME..."
+ if signal TERM; then
+ echo -n "."
+ else
+ echo "Failed"
+ exit 1
+ fi
+
+ sleep 2
+ echo -n "."
+
+ if start; then
+ echo " done."
+ else
+ echo "Failed"
+ exit 1
+ fi
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload|help}"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/pureftpd b/projectroot/etc/init.d/pureftpd
new file mode 100644
index 000000000..4d23aec2c
--- /dev/null
+++ b/projectroot/etc/init.d/pureftpd
@@ -0,0 +1,117 @@
+#!/bin/sh
+#
+# /etc/init.d/pure-ftpd
+#
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+# defaults
+DAEMON="pure-ftpd"
+NAME="pure-ftpd"
+PREFIX="pure-ftpd: "
+DAEMON_OPTIONS="-B @DAEMON_ARGS@"
+DAEMON_PIDFILE=/var/run/pure-ftpd.pid
+
+HELPER="pure-uploadscript"
+HELPER_START_SCRIPT="@HELPER_SCRIPT@"
+HELPER_OPTIONS="-B @HELPER_ARGS@"
+
+trap "" 1
+trap "" 15
+
+which $DAEMON || { echo "${PREFIX}$DAEMON not found"; exit; }
+
+
+if [ ! -z $HELPER_START_SCRIPT ] ; then
+ DAEMON_OPTIONS="$DAEMON_OPTIONS -o"
+fi
+
+start_helper(){
+ if [ ! -z $HELPER_START_SCRIPT ]; then
+ which $HELPER || { echo "${PREFIX}$HELPER not found"; exit; }
+ echo "${PREFIX}starting upload helper daemon..."
+ $HELPER $HELPER_OPTIONS -r $HELPER_START_SCRIPT
+ else
+ echo "${PREFIX}no upload script defined, skipping"
+ fi
+}
+
+stop_helper(){
+ killall -9 "$HELPER"
+}
+
+start_daemon(){
+ which $DAEMON
+ $DAEMON -g $DAEMON_PIDFILE $DAEMON_OPTIONS
+}
+
+stop_daemon(){
+ if [ -e "$DAEMON_PIDFILE" ]; then
+ kill `cat $DAEMON_PIDFILE`
+ case $? in
+ 0)
+ echo "${PREFIX}$NAME stopped"
+ ;;
+ *)
+ kill -9 `cat $DAEMON_PIDFILE`
+ echo "${PREFIX}failed to stop $NAME - process killed"
+ ;;
+ esac
+ rm -f $DAEMON_PIDFILE
+ echo "${PREFIX}pidfile removed"
+ else
+ echo "${PREFIX}pid file not found - process not running"
+ fi
+}
+
+start(){
+ start_daemon
+ start_helper
+}
+
+stop(){
+ stop_daemon
+ stop_helper
+}
+
+case "$1" in
+ start)
+ echo -n "${PREFIX}starting $NAME: "
+ start
+ echo "done"
+ ;;
+
+ stop)
+ echo -n "${PREFIX}stopping $NAME: "
+ stop
+ echo "done"
+ ;;
+
+ reload)
+ echo -n "${PREFIX}reloading $NAME configuration..."
+ if [ -e "$DAEMON_PIDFILE" ]; then
+ kill -HUP `cat $DAEMON_PIDFILE`
+ echo " done."
+ else
+ echo "pid file not found - process not running"
+ fi
+ ;;
+
+ force-reload|restart)
+ echo -n "${PREFIX}restarting $NAME."
+ stop
+ echo -n "."
+ sleep 2
+ echo -n "."
+ start
+ echo " done."
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload|help}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/rc-once b/projectroot/etc/init.d/rc-once
new file mode 100644
index 000000000..2387c3157
--- /dev/null
+++ b/projectroot/etc/init.d/rc-once
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+. /lib/init/initmethod-bbinit-functions.sh
+. /lib/init/rc-once.sh
+
+do_start() {
+ test -e "$STAMP" && return
+
+ mount_root_rw || exit 1
+
+ run_rc_once && : > "$STAMP"
+
+ if ! mount_root_restore; then
+ # remounting rw/ro during the second boot will flush anything
+ # left in the filesystem journal
+ rm "$STAMP"
+ reboot
+ sleep 100
+ fi
+}
+
+case "$1" in
+
+ start)
+ do_start >&2
+ ;;
+ *)
+ echo "Usage: $0 {start}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/rcS b/projectroot/etc/init.d/rcS
new file mode 100644
index 000000000..45dc909f5
--- /dev/null
+++ b/projectroot/etc/init.d/rcS
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# /etc/init.d/rcS
+#
+
+mount -t proc none /proc
+
+if grep -q "quiet" /proc/cmdline; then
+ exec 1>/dev/null
+fi
+
+echo -n "mounting filesystems..."
+mount -a 2>/dev/null
+echo "done."
+
+# loadkmap < /etc/boottime.kmap
+
+# set hostname
+test -e /etc/hostname && hostname -F /etc/hostname
+
+echo "running rc.d services..."
+run-parts -a start /etc/rc.d
diff --git a/projectroot/etc/init.d/rngd b/projectroot/etc/init.d/rngd
new file mode 100644
index 000000000..623395478
--- /dev/null
+++ b/projectroot/etc/init.d/rngd
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Start/stop rngd (random number generator daemon) from rng-tools
+#
+
+# defaults are sane, normally no need to override
+OPTIONS=
+
+# pid-file created from rngd by default
+PIDFILE=/var/run/rngd.pid
+
+case $1 in
+ start)
+ if [ -e $PIDFILE ]; then
+ echo "rngd already running (found $PIDFILE)"
+ else
+ echo "starting rngd"
+ /usr/sbin/rngd $OPTIONS
+ fi
+ ;;
+
+ stop)
+ if [ -e $PIDFILE ]; then
+ echo "stopping rngd"
+ kill -s SIGTERM `cat $PIDFILE`
+ else
+ echo "rngd not running (no $PIDFILE)"
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: ${0} {start|stop|restart}"
+ exit 1
+ ;;
+esac
diff --git a/projectroot/etc/init.d/rsyncd b/projectroot/etc/init.d/rsyncd
new file mode 100644
index 000000000..252683962
--- /dev/null
+++ b/projectroot/etc/init.d/rsyncd
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# rsync
+#
+case $1 in
+
+ start)
+ echo "rsyncd starting"
+ /usr/bin/rsync --daemon @CONFIG@
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/rt-set-bandwidth b/projectroot/etc/init.d/rt-set-bandwidth
new file mode 100644
index 000000000..4c0f7a503
--- /dev/null
+++ b/projectroot/etc/init.d/rt-set-bandwidth
@@ -0,0 +1,36 @@
+#! /bin/sh
+#
+# set bandwidth throttling of rt
+# this default script will disable it since it seems the right choice for embedded systems.
+# use this file as a template for custom settings (think about the period, too) and put it
+# into projectroot.
+
+set -e
+runtime=/proc/sys/kernel/sched_rt_runtime_us
+runtime_orig=/var/run/sched_rt_runtime_us.orig
+
+case $1 in
+ start)
+ if [ -f "${runtime}" -a -w "${runtime}" ]; then
+ cp "${runtime}" "${runtime_orig}"
+ # Customize your value(s) here
+ echo "-1" > "${runtime}"
+ else
+ echo "WARNING: Disabling RT-bandwidth was requested, but there are access problems with ${runtime}!"
+ exit 1
+ fi
+ ;;
+ stop)
+ if [ -f "${runtime_orig}" ]; then
+ cat "${runtime_orig}" > "${runtime}"
+ else
+ echo "WARNING: Restoring RT-bandwidth was requested, but original value was not found!"
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/samba b/projectroot/etc/init.d/samba
new file mode 100644
index 000000000..a85bdc5db
--- /dev/null
+++ b/projectroot/etc/init.d/samba
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON_SMB=/usr/sbin/smbd
+DAEMON_NMB=/usr/sbin/nmbd
+NAME=samba
+DESC="Samba server"
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon -S -x "$DAEMON_SMB" -- -D
+ echo -n "$DAEMON_SMB. "
+ start-stop-daemon -S -x "$DAEMON_NMB" -- -D
+ echo -n "$DAEMON_NMB. "
+ echo "done"
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon -K -x "$DAEMON_SMB"
+ echo -n "$DAEMON_SMB. "
+ start-stop-daemon -K -x "$DAEMON_NMB"
+ echo -n "$DAEMON_NMB."
+ echo "done"
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ start-stop-daemon -K -x "$DAEMON_SMB"
+ start-stop-daemon -K -x "$DAEMON_NMB"
+ start-stop-daemon -S -x "$DAEMON_SMB" -- -D
+ echo -n "$DAEMON_SMB. "
+ start-stop-daemon -S -x "$DAEMON_NMB" -- -D
+ echo -n "$DAEMON_NMB. "
+ echo "done"
+sleep 1
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/smartd b/projectroot/etc/init.d/smartd
new file mode 100644
index 000000000..2849ffa74
--- /dev/null
+++ b/projectroot/etc/init.d/smartd
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+DAEMON=/usr/sbin/smartd
+PIDFILE=/var/run/smartd.pid
+
+case $1 in
+start)
+ echo -n "Starting smartd..."
+ start-stop-daemon --start --oknodo \
+ --pidfile $PIDFILE --exec $DAEMON
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ exit 0
+ else
+ echo "failed"
+ exit 1
+ fi
+
+ ;;
+stop)
+ echo "Stopping smartd"
+ start-stop-daemon --stop --oknodo --quiet \
+ --pidfile $PIDFILE --exec $DAEMON
+ ;;
+*)
+ echo "usage: $0 [start|stop]"
+ ;;
+esac
+
diff --git a/projectroot/etc/init.d/splashutils b/projectroot/etc/init.d/splashutils
new file mode 100644
index 000000000..2e2abd04e
--- /dev/null
+++ b/projectroot/etc/init.d/splashutils
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# This is an splashutils daemon init.d script which ist called by init(1) with [start|stop] as argument
+#
+
+PATH=/sbin:/bin:/usr/bin
+FUNCTIONS=/sbin/splash-functions.sh
+
+# --- nothing to change after this line ---
+
+. $FUNCTIONS
+
+mkdir -p /var/run/splash/cache/
+
+start_proc() {
+ echo -n "starting splashutils daemon..."
+ splash_start || (echo failed; exit 1)
+ echo "done"
+}
+
+stop_proc() {
+ echo -n "stopping splashutils daemon..."
+ splash_exit
+ echo "done"
+}
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ echo -n "restarting splashutils daemon..."
+ stop_proc
+ sleep 2
+ start_proc
+ echo "done"
+ ;;
+ reload)
+ echo "Not supported" >&2
+ exit 1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/sramdisk b/projectroot/etc/init.d/sramdisk
new file mode 100644
index 000000000..c19e2dae8
--- /dev/null
+++ b/projectroot/etc/init.d/sramdisk
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# /etc/init.d/sramdisk
+#
+
+CONF=/etc/sramdisk.conf
+
+case "$1" in
+
+ start|restart|force-reload)
+ echo -n "mounting sramdisk(s)..."
+ if [ ! -f "${CONF}" ]; then
+ echo "skipping, ${CONF} not found"
+ exit 0
+ fi
+ OLD_IFS=${IFS}
+ unset IFS
+ cat ${CONF} | \
+ grep -v -E "^[[:space:]]*$" | \
+ grep -v -e "^[[:space:]]*#.*$" | \
+ while read src dst fs opt dfl1 dfl2;
+ do
+ if [ ! -b $src ]; then
+ echo "error: $src must be a block device"
+ exit 1
+ fi
+ if [ ! -d $dst ]; then
+ echo "error: $dst must be a mount point dir"
+ exit 1
+ fi
+ mount -t $fs -o $opt $src $dst
+ if [ "$?" != "0" ]; then
+ case $fs in
+ minix)
+ echo "formating minix"
+ mkfs.minix -n 30 -v $src
+ ;;
+ *)
+ ;;
+ esac
+ fi
+ done
+ IFS=${OLD_IFS}
+
+ ;;
+ stop)
+ echo -n "unmounting sramdisk(s)..."
+ if [ ! -f "${CONF}" ]; then
+ echo "skipping, ${CONF} not found"
+ exit 0
+ fi
+ OLD_IFS=${IFS}
+ unset IFS
+ cat ${CONF} | \
+ grep -v -E "^[[:space:]]*$" | \
+ grep -v -e "^[[:space:]]*#.*$" | \
+ while read src dst fs opt dfl1 dfl2;
+ do
+ umount $dst
+ done
+ IFS=${OLD_IFS}
+
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/startup b/projectroot/etc/init.d/startup
new file mode 100644
index 000000000..2b88bb3d8
--- /dev/null
+++ b/projectroot/etc/init.d/startup
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+[ -x /home/startup ] && /home/startup
+
+exit 0
diff --git a/projectroot/etc/init.d/sysctl b/projectroot/etc/init.d/sysctl
new file mode 100644
index 000000000..d23f9d5b2
--- /dev/null
+++ b/projectroot/etc/init.d/sysctl
@@ -0,0 +1,23 @@
+#! /bin/sh
+# /etc/init.d/sysctl: Set kernel variables from /etc/sysctl.conf
+#
+
+PATH=/sbin:$PATH
+which sysctl > /dev/null || exit 0
+
+case "$1" in
+ start|restart|force-reload)
+ for file in /etc/sysctl.conf /etc/sysctl.d/*.conf ; do
+ if [ -r "$file" ] ; then
+ sysctl -p "$file" > /dev/null 2>&1
+ fi
+ done
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: /etc/init.d/sysctl {start|stop|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+exit 0
diff --git a/projectroot/etc/init.d/syslog-ng b/projectroot/etc/init.d/syslog-ng
new file mode 100644
index 000000000..f3d19d900
--- /dev/null
+++ b/projectroot/etc/init.d/syslog-ng
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# /etc/init.d/syslog-ng
+#
+
+PREFIX="syslog-ng: "
+THISFILE=$0
+syslogng="/sbin/syslog-ng"
+PIDFILE="/var/run/syslog-ng.pid"
+
+usage() {
+ echo "${PREFIX}usage: $THISFILE [start|stop]"
+}
+
+case $1 in
+
+ start)
+ echo "${PREFIX} starting"
+ if [ -e "$PIDFILE" ]; then
+ echo "${PREFIX} warning: another syslog-ng seems to be running, trying to kill it"
+ kill -9 `cat $PIDFILE`
+ rm -f $PIDFILE
+ fi
+ $syslogng
+ if [ "$?" != "0" ]; then
+ echo "${PREFIX} error, could not start daemon"
+ rm -f $PIDFILE
+ else
+ echo "${PREFIX} done"
+ fi
+ ;;
+
+ stop)
+ echo "${PREFIX} stopping"
+ kill `cat $PIDFILE`
+ rm -f $PIDFILE
+ echo "${PREFIX} done"
+ ;;
+
+ *)
+
+ usage
+ exit 1
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/syslogd b/projectroot/etc/init.d/syslogd
new file mode 100644
index 000000000..67d8d5de4
--- /dev/null
+++ b/projectroot/etc/init.d/syslogd
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# syslogd/klogd
+#
+LOGD=/sbin
+# klogd is an option
+KLOGD=klogd
+SLOGD=syslogd
+
+case $1 in
+
+ start)
+ echo "syslogd starting"
+ $LOGD/$SLOGD
+ if [ -e "$LOGD/$KLOGD" ]; then
+ echo "klogd starting"
+ $LOGD/$KLOGD
+ fi
+ ;;
+
+ stop)
+ echo "stopping syslog"
+ killall -q $KLOGD
+ killall $SLOGD
+ ;;
+esac
diff --git a/projectroot/etc/init.d/telnetd b/projectroot/etc/init.d/telnetd
new file mode 100644
index 000000000..2a568bc9e
--- /dev/null
+++ b/projectroot/etc/init.d/telnetd
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# /etc/init.d/telnetd
+#
+# $Id$
+#
+
+if [ -f /usr/sbin/telnetd ]; then
+ echo "Starting telnetd..."
+ /usr/sbin/telnetd
+ exit 0
+fi
+
+if [ -f /sbin/utelnetd ]; then
+ echo "Starting utelnetd..."
+ /sbin/utelnetd -d
+ exit 0
+fi
+
+echo "No telnetd found. Aborting"
+
diff --git a/projectroot/etc/init.d/tftpd b/projectroot/etc/init.d/tftpd
new file mode 100644
index 000000000..e7ff579a6
--- /dev/null
+++ b/projectroot/etc/init.d/tftpd
@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# tftpd
+#
+case $1 in
+
+ start)
+ echo "tftpd starting"
+ /sbin/tftpd -l @ROOT@
+ ;;
+
+esac
+
diff --git a/projectroot/etc/init.d/thttpd b/projectroot/etc/init.d/thttpd
new file mode 100644
index 000000000..51102b9d0
--- /dev/null
+++ b/projectroot/etc/init.d/thttpd
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# thttpd
+#
+
+PREFIX="thttpd: "
+THISFILE=$0
+DOCUMENTROOT="/var/www"
+thttpd="/usr/sbin/thttpd"
+PIDFILE="/var/run/thttpd.pid"
+LOGFILE="/var/log/thttpd.log"
+
+usage() {
+ echo "${PREFIX}usage: $THISFILE [start|stop]"
+}
+
+case $1 in
+
+ start)
+ echo "${PREFIX} starting"
+ if [ -e "$PIDFILE" ]; then
+ echo "${PREFIX} warning: another thttpd seems to be running, trying to kill it"
+ kill -9 `cat $PIDFILE`
+ rm -f $PIDFILE
+ fi
+ $thttpd -d $DOCUMENTROOT -u www -nor -nos -p 80 -c '**.cgi' -i $PIDFILE -l $LOGFILE
+ if [ "$?" != "0" ]; then
+ echo "${PREFIX} error, could not start server"
+ rm -f $PIDFILE
+ else
+ echo "${PREFIX} done"
+ fi
+ ;;
+
+ stop)
+ if [ -e "$PIDFILE" ]; then
+ echo "${PREFIX} stopping"
+ kill -USR1 `cat $PIDFILE`
+ rm -f $PIDFILE
+ echo "${PREFIX} done"
+ else
+ echo "${PREFIX} not running"
+ fi
+ ;;
+
+ *)
+
+ usage
+ exit 1
+ ;;
+
+esac
diff --git a/projectroot/etc/init.d/tomcat b/projectroot/etc/init.d/tomcat
new file mode 100644
index 000000000..8af34700c
--- /dev/null
+++ b/projectroot/etc/init.d/tomcat
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# This is a tomcat init.d script which is called by init(1) with [start|stop] as argument
+#
+
+ARGS="-classpath /usr/tomcat/bin/bootstrap.jar -Dcatalina.home=/usr/tomcat org.apache.catalina.startup.Bootstrap"
+
+for j in /usr/bin/jamvm /usr/bin/java $JAVA_HOME/bin/java; do
+ if [ -x "$j" ]; then
+ JAVA="$j"
+ break
+ fi
+done
+
+if [ -z "$JAVA" ]; then
+ echo java not found.
+ exit 1
+fi
+
+start_proc(){
+ mkdir -p /tmp/tomcat/temp
+ mkdir -p /tmp/tomcat/work
+ mkdir -p /tmp/tomcat/logs
+
+ $JAVA $ARGS start > /dev/null 2>&1 &
+}
+
+stop_proc(){
+ $JAVA $ARGS stop
+}
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart)
+ stop_proc
+ start_proc
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ echo ""
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/init.d/udev b/projectroot/etc/init.d/udev
new file mode 100644
index 000000000..1020b40c7
--- /dev/null
+++ b/projectroot/etc/init.d/udev
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+udev_root="/dev"
+udev_rules="/lib/udev/rules.d"
+udev_log="err"
+
+# for new udevd
+PATH=/lib/udev:$PATH
+
+make_extra_nodes () {
+ # there are a few things that sysfs does not export for us.
+ # these things go here (and remember to remove them in
+ # remove_extra_nodes()
+ #
+ # Thanks to Gentoo for the initial list of these.
+ if ! mount | grep -q devtmpfs; then
+ ln -snf /proc/self/fd /dev/fd
+ ln -snf /proc/self/fd/0 /dev/stdin
+ ln -snf /proc/self/fd/1 /dev/stdout
+ ln -snf /proc/self/fd/2 /dev/stderr
+ ln -snf /proc/kcore /dev/core
+
+ mknod /dev/null c 1 3
+ mknod /dev/console c 5 1
+ mknod /dev/zero c 1 5
+ fi
+
+ mkdir /dev/pts
+ mkdir /dev/shm
+}
+
+case $1 in
+start)
+ echo "starting udev"
+
+ # don't use udev if sysfs is not mounted.
+ if [ ! -d /sys/kernel ]; then
+ echo "failed"
+ echo "error: sysfs not mounted"
+ exit 1
+ fi
+
+ # only mount a tmpfs if devtmpfs is not already there
+ if ! mount | grep -q devtmpfs; then
+ # The reason we don't write to mtab is because we don't ever
+ # want /dev to be unavailable (such as by `umount -a').
+ echo "mounting tmpfs at $udev_root"
+ mount -n -t tmpfs tmpfs $udev_root -o mode=755
+ fi
+
+ # udev handles uevents itself, so we don't need to have
+ # the kernel call out to any binary in response to them
+ echo > /proc/sys/kernel/hotplug
+
+ echo "creating static nodes"
+ make_extra_nodes
+
+ # Start the udev daemon to continually
+ # watch for, and act on, uevents
+ echo -n "starting udevd..."
+ udevd --daemon
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ fi
+
+ # Now traverse sys/ in order to "coldplug"
+ # devices that have already been discovered
+ udevadm trigger
+ # Now wait for udevd to process
+ # the uevents we triggered
+ echo -n "waiting for devices..."
+ udevadm settle --timeout=10
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ fi
+
+ # We can only mount /dev/pts after initialising udev
+ if [ -d "/dev/pts" ]; then
+ mount /dev/pts
+ fi
+
+ exit 0
+
+ ;;
+stop)
+ echo "stopping udevd... error, udevd cannot be stopped, aborting"
+ ;;
+*)
+ echo "usage: $0 [start|stop]"
+ ;;
+esac
+
diff --git a/projectroot/etc/init.d/udhcpd b/projectroot/etc/init.d/udhcpd
new file mode 100644
index 000000000..a10226e48
--- /dev/null
+++ b/projectroot/etc/init.d/udhcpd
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# /etc/init.d/udhcpd
+#
+# $Id$
+#
+
+if [ -f /usr/sbin/udhcpd ]; then
+ echo "Starting udhcpd..."
+ /usr/sbin/udhcpd
+ exit 0
+fi
+
+if [ -f /sbin/udhcpd ]; then
+ echo "Starting udhcpd..."
+ /sbin/udhcpd -d
+ exit 0
+fi
+
+echo "No udhcpd found. Aborting"
+
diff --git a/projectroot/etc/init.d/urshd b/projectroot/etc/init.d/urshd
new file mode 100644
index 000000000..7407d4bc8
--- /dev/null
+++ b/projectroot/etc/init.d/urshd
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+DAEMON=/usr/sbin/urshd
+PIDFILE=/var/run/urshd.pid
+DESC="u remote shell daemon"
+
+set -e
+
+do_start() {
+ start-stop-daemon --start --oknodo \
+ --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
+}
+
+do_stop() {
+ start-stop-daemon --stop --oknodo --quiet \
+ --pidfile $PIDFILE --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ echo "Starting $DESC"
+ do_start || echo "failed"
+ ;;
+ stop)
+ echo "Stopping $DESC"
+ do_stop || echo "failed"
+ ;;
+ *)
+ echo "Usage: $0 {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/init.d/zeroconf b/projectroot/etc/init.d/zeroconf
new file mode 100644
index 000000000..ad4ebc135
--- /dev/null
+++ b/projectroot/etc/init.d/zeroconf
@@ -0,0 +1,103 @@
+#!/bin/sh
+#
+# This is a zeroconf init.d script which ist called by init(1) with [start|stop] as argument
+# Mi 22. Jul 21:46:28 CEST 2009
+
+PATH=/sbin:/bin:/usr/bin
+BINARY=/usr/sbin/avahi-autoipd
+OPTIONS="--force-bind -D"
+INTERFACES="eth0"
+
+test -f $BINARY || { echo "$BINARY not found" >&2 ; exit 0; }
+
+start_proc(){
+ for i in $INTERFACES; do
+ $BINARY $OPTIONS $i
+ case $? in
+ 0)
+ echo " [+] $i (zeroconf)"
+ ;;
+ *)
+ echo " [!] $i (zeroconf)"
+ ;;
+ esac
+ done
+}
+
+stop_proc(){
+ for i in $INTERFACES; do
+ $BINARY --kill $i
+ case $? in
+ 0)
+ echo " [-] $i (zeroconf)"
+ ;;
+ *)
+ echo " [!] $i (zeroconf)"
+ ;;
+ esac
+ done
+}
+
+refresh_proc(){
+ for i in $INTERFACES; do
+ $BINARY --refresh $i
+ case $? in
+ 0)
+ echo " [*] $i (zeroconf)"
+ ;;
+ *)
+ echo " [!] $i (zeroconf)"
+ ;;
+ esac
+ done
+}
+
+check_proc(){
+ for i in $INTERFACES; do
+ $BINARY --check $i
+ case $? in
+ 0)
+ echo " [+] $i (zeroconf)"
+ ;;
+ *)
+ echo " [-] $i (zeroconf)"
+ ;;
+ esac
+ done
+}
+
+
+
+case "$1" in
+ start)
+ start_proc
+ ;;
+ stop)
+ stop_proc
+ ;;
+ restart|force-reload)
+ stop_proc
+ sleep 2
+ start_proc
+ ;;
+ reload)
+ refresh_proc
+ ;;
+ status)
+ check_proc
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|reload|restart|force-reload}"
+ echo ""
+ echo "Status Flags:"
+ echo "[+] -> started"
+ echo "[-] -> not started"
+ echo "[*] -> reloaded"
+ echo "[!] -> error - please debug without -D option"
+ echo ""
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/projectroot/etc/inittab b/projectroot/etc/inittab
new file mode 100644
index 000000000..864731c3a
--- /dev/null
+++ b/projectroot/etc/inittab
@@ -0,0 +1,11 @@
+#
+# /etc/inittab
+#
+
+console::sysinit:/etc/init.d/rcS
+console::respawn:/sbin/getty -L @SPEED@ @CONSOLE@ vt100
+
+# Stuff to do before rebooting
+::ctrlaltdel:/sbin/reboot
+::shutdown:/bin/umount -a -r
+
diff --git a/projectroot/etc/inputrc b/projectroot/etc/inputrc
new file mode 100644
index 000000000..2f1cb601a
--- /dev/null
+++ b/projectroot/etc/inputrc
@@ -0,0 +1,44 @@
+# /etc/inputrc - global inputrc for libreadline
+# See readline(3readline) and `info readline' for more information.
+
+# Be 8 bit clean.
+set input-meta on
+set output-meta on
+set bell-style visible
+
+# To allow the use of 8bit-characters like the german umlauts, comment out
+# the line below. However this makes the meta key not work as a meta key,
+# which is annoying to those which don't need to type in 8-bit characters.
+
+# set convert-meta off
+
+"\e0d": backward-word
+"\e0c": forward-word
+"\e[h": beginning-of-line
+"\e[f": end-of-line
+"\e[1~": beginning-of-line
+"\e[4~": end-of-line
+#"\e[5~": beginning-of-history
+#"\e[6~": end-of-history
+"\e[3~": delete-char
+"\e[2~": quoted-insert
+
+# Common standard keypad and cursor
+# (codes courtsey Werner Fink, <werner@suse.de>)
+#"\e[1~": history-search-backward
+"\e[2~": yank
+"\e[3~": delete-char
+#"\e[4~": set-mark
+"\e[5~": history-search-backward
+"\e[6~": history-search-forward
+# Normal keypad and cursor of xterm
+"\e[F": end-of-line
+"\e[H": beginning-of-line
+# Application keypad and cursor of xterm
+"\eOA": previous-history
+"\eOC": forward-char
+"\eOB": next-history
+"\eOD": backward-char
+"\eOF": end-of-line
+"\eOH": beginning-of-line
+
diff --git a/projectroot/etc/ipkg.conf b/projectroot/etc/ipkg.conf
new file mode 100644
index 000000000..991616a66
--- /dev/null
+++ b/projectroot/etc/ipkg.conf
@@ -0,0 +1,12 @@
+#
+# /etc/ipkg.conf
+#
+
+# src: <url-of-ipkg-repository>
+@SRC@
+
+dest root /
+
+arch @ARCH@ 10
+arch all 1
+arch noarch 1
diff --git a/projectroot/etc/irssi.conf b/projectroot/etc/irssi.conf
new file mode 100644
index 000000000..49f1a3969
--- /dev/null
+++ b/projectroot/etc/irssi.conf
@@ -0,0 +1,246 @@
+servers = (
+ { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
+ { address = "irc.open-ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
+ { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
+ { address = "irc.undernet.org"; chatnet = "Undernet"; port = "6667"; },
+ { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
+ { address = "irc.quakenet.org"; chatnet = "QuakeNet"; port = "6667"; },
+ { address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
+ { address = "irc.gamesurge.net"; chatnet = "GameSurge"; port = "6667"; },
+ { address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; },
+ { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
+ { address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; },
+ { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
+);
+
+chatnets = {
+ IRCnet = {
+ type = "IRC";
+ max_kicks = "4";
+ max_msgs = "5";
+ max_whois = "4";
+ max_query_chans = "5";
+ };
+ EFNet = {
+ type = "IRC";
+ max_kicks = "4";
+ max_msgs = "3";
+ max_whois = "1";
+ };
+ Undernet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ DALnet = {
+ type = "IRC";
+ max_kicks = "4";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ QuakeNet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ OFTC = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ GameSurge = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ WebChat = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ Rizon = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ LinkNet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "3";
+ max_whois = "30";
+ };
+ SILC = { type = "SILC"; };
+};
+
+channels = (
+ { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
+ { name = "silc"; chatnet = "silc"; autojoin = "No"; }
+);
+
+aliases = {
+ J = "join";
+ WJOIN = "join -window";
+ WQUERY = "query -window";
+ LEAVE = "part";
+ BYE = "quit";
+ EXIT = "quit";
+ SIGNOFF = "quit";
+ DESCRIBE = "action";
+ DATE = "time";
+ HOST = "userhost";
+ LAST = "lastlog";
+ SAY = "msg *";
+ WI = "whois";
+ WII = "whois $0 $0";
+ WW = "whowas";
+ W = "who";
+ N = "names";
+ M = "msg";
+ T = "topic";
+ C = "clear";
+ CL = "clear";
+ K = "kick";
+ KB = "kickban";
+ KN = "knockout";
+ BANS = "ban";
+ B = "ban";
+ MUB = "unban *";
+ UB = "unban";
+ IG = "ignore";
+ UNIG = "unignore";
+ SB = "scrollback";
+ UMODE = "mode $N";
+ WC = "window close";
+ WN = "window new hide";
+ SV = "say Irssi $J ($V) - http://irssi.org/";
+ GOTO = "sb goto";
+ CHAT = "dcc chat";
+ RUN = "SCRIPT LOAD";
+ CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
+ SBAR = "STATUSBAR";
+ INVITELIST = "mode $C +I";
+ Q = "QUERY";
+ "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
+ EXEMPTLIST = "mode $C +e";
+ ATAG = "WINDOW SERVER";
+ UNSET = "set -clear";
+ RESET = "set -default";
+};
+
+statusbar = {
+ # formats:
+ # when using {templates}, the template is shown only if it's argument isn't
+ # empty unless no argument is given. for example {sb} is printed always,
+ # but {sb $T} is printed only if $T isn't empty.
+
+ items = {
+ # start/end text in statusbars
+ barstart = "{sbstart}";
+ barend = "{sbend}";
+
+ topicbarstart = "{topicsbstart}";
+ topicbarend = "{topicsbend}";
+
+ # treated "normally", you could change the time/user name to whatever
+ time = "{sb $Z}";
+ user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
+
+ # treated specially .. window is printed with non-empty windows,
+ # window_empty is printed with empty windows
+ window = "{sb $winref:$tag/$itemname{sbmode $M}}";
+ window_empty = "{sb $winref{sbservertag $tag}}";
+ prompt = "{prompt $[.15]itemname}";
+ prompt_empty = "{prompt $winname}";
+ topic = " $topic";
+ topic_empty = " Irssi v$J - http://www.irssi.org";
+
+ # all of these treated specially, they're only displayed when needed
+ lag = "{sb Lag: $0-}";
+ act = "{sb Act: $0-}";
+ more = "-- more --";
+ };
+
+ # there's two type of statusbars. root statusbars are either at the top
+ # of the screen or at the bottom of the screen. window statusbars are at
+ # the top/bottom of each split window in screen.
+ default = {
+ # the "default statusbar" to be displayed at the bottom of the window.
+ # contains all the normal items.
+ window = {
+ disabled = "no";
+
+ # window, root
+ type = "window";
+ # top, bottom
+ placement = "bottom";
+ # number
+ position = "1";
+ # active, inactive, always
+ visible = "active";
+
+ # list of items in statusbar in the display order
+ items = {
+ barstart = { priority = "100"; };
+ time = { };
+ user = { };
+ window = { };
+ window_empty = { };
+ lag = { priority = "-1"; };
+ act = { priority = "10"; };
+ more = { priority = "-1"; alignment = "right"; };
+ barend = { priority = "100"; alignment = "right"; };
+ };
+ };
+
+ # statusbar to use in inactive split windows
+ window_inact = {
+ type = "window";
+ placement = "bottom";
+ position = "1";
+ visible = "inactive";
+ items = {
+ barstart = { priority = "100"; };
+ window = { };
+ window_empty = { };
+ more = { priority = "-1"; alignment = "right"; };
+ barend = { priority = "100"; alignment = "right"; };
+ };
+ };
+
+ # we treat input line as yet another statusbar :) It's possible to
+ # add other items before or after the input line item.
+ prompt = {
+ type = "root";
+ placement = "bottom";
+ # we want to be at the bottom always
+ position = "100";
+ visible = "always";
+ items = {
+ prompt = { priority = "-1"; };
+ prompt_empty = { priority = "-1"; };
+ # treated specially, this is the real input line.
+ input = { priority = "10"; };
+ };
+ };
+
+ # topicbar
+ topic = {
+ type = "root";
+ placement = "top";
+ position = "1";
+ visible = "always";
+ items = {
+ topicbarstart = { priority = "100"; };
+ topic = { };
+ topic_empty = { };
+ topicbarend = { priority = "100"; alignment = "right"; };
+ };
+ };
+ };
+};
diff --git a/projectroot/etc/issue b/projectroot/etc/issue
new file mode 100644
index 000000000..8728a9dab
--- /dev/null
+++ b/projectroot/etc/issue
@@ -0,0 +1,6 @@
+@FIGLET:VENDOR@
+@FIGLET:HOSTNAME@
+
+OSELAS(R)-@PROJECT@@PRJVERSION@ / @PLATFORM@@PLATVERSION@
+@PTXDIST@-@VERSION@.@PATCHLEVEL@.@SUBLEVEL@@EXTRAVERSION@/@DATE@
+
diff --git a/projectroot/etc/lighttpd/conf.d/mod_fastcgi_php.conf b/projectroot/etc/lighttpd/conf.d/mod_fastcgi_php.conf
new file mode 100644
index 000000000..cc18de701
--- /dev/null
+++ b/projectroot/etc/lighttpd/conf.d/mod_fastcgi_php.conf
@@ -0,0 +1,17 @@
+fastcgi.map-extensions = ( ".html" => ".php" )
+index-file.names += ( "index.php" )
+
+fastcgi.server = ( ".php" =>
+ ( "localhost" =>
+ (
+ "socket" => "/tmp/php-fastcgi.socket",
+ "bin-path" => "/usr/bin/php-cgi",
+ "min-procs" => 1,
+ "max-procs" => 2,
+ "max-load-per-proc" => 8,
+ "idle-timeout" => 50,
+ # Fix PATH_INFO for PHP scripts that rely on it (like Wordpress).
+ "broken-scriptfilename" => "enable"
+ )
+ )
+ )
diff --git a/projectroot/etc/lighttpd/lighttpd.conf b/projectroot/etc/lighttpd/lighttpd.conf
new file mode 100644
index 000000000..49c08e3a2
--- /dev/null
+++ b/projectroot/etc/lighttpd/lighttpd.conf
@@ -0,0 +1,72 @@
+server.document-root = "/var/www"
+
+server.port = 80
+server.username = "www"
+server.groupname = "www"
+server.bind = "0.0.0.0"
+server.tag = "lighttpd"
+
+server.errorlog-use-syslog = "enable"
+accesslog.use-syslog = "enable"
+
+server.modules = (
+ @MODULES@
+)
+
+# mimetype mapping
+mimetype.assign = (
+ ".pdf" => "application/pdf",
+ ".sig" => "application/pgp-signature",
+ ".spl" => "application/futuresplash",
+ ".class" => "application/octet-stream",
+ ".ps" => "application/postscript",
+ ".torrent" => "application/x-bittorrent",
+ ".dvi" => "application/x-dvi",
+ ".gz" => "application/x-gzip",
+ ".pac" => "application/x-ns-proxy-autoconfig",
+ ".swf" => "application/x-shockwave-flash",
+ ".tar.gz" => "application/x-tgz",
+ ".tgz" => "application/x-tgz",
+ ".tar" => "application/x-tar",
+ ".zip" => "application/zip",
+ ".mp3" => "audio/mpeg",
+ ".m3u" => "audio/x-mpegurl",
+ ".wma" => "audio/x-ms-wma",
+ ".wax" => "audio/x-ms-wax",
+ ".ogg" => "audio/x-wav",
+ ".wav" => "audio/x-wav",
+ ".gif" => "image/gif",
+ ".jpg" => "image/jpeg",
+ ".jpeg" => "image/jpeg",
+ ".png" => "image/png",
+ ".xbm" => "image/x-xbitmap",
+ ".xpm" => "image/x-xpixmap",
+ ".xwd" => "image/x-xwindowdump",
+ ".css" => "text/css",
+ ".html" => "text/html",
+ ".htm" => "text/html",
+ ".js" => "text/javascript",
+ ".asc" => "text/plain",
+ ".c" => "text/plain",
+ ".conf" => "text/plain",
+ ".text" => "text/plain",
+ ".txt" => "text/plain",
+ ".dtd" => "text/xml",
+ ".xml" => "text/xml",
+ ".mpeg" => "video/mpeg",
+ ".mpg" => "video/mpeg",
+ ".mov" => "video/quicktime",
+ ".qt" => "video/quicktime",
+ ".avi" => "video/x-msvideo",
+ ".asf" => "video/x-ms-asf",
+ ".asx" => "video/x-ms-asf",
+ ".wmv" => "video/x-ms-wmv",
+ ".bz2" => "application/x-bzip",
+ ".tbz" => "application/x-bzip-compressed-tar",
+ ".tar.bz2" => "application/x-bzip-compressed-tar"
+)
+
+index-file.names = ( "index.html" )
+
+include_shell "cat conf.d/*.conf"
+
diff --git a/projectroot/etc/mdev.conf b/projectroot/etc/mdev.conf
new file mode 100755
index 000000000..197c77431
--- /dev/null
+++ b/projectroot/etc/mdev.conf
@@ -0,0 +1,6 @@
+# Devices:
+# Syntax: %s %d:%d %s
+# devices user:group mode
+
+null 0:0 777
+zero 0:0 666
diff --git a/projectroot/etc/minirc.dfl b/projectroot/etc/minirc.dfl
new file mode 100644
index 000000000..127e8a7e4
--- /dev/null
+++ b/projectroot/etc/minirc.dfl
@@ -0,0 +1,7 @@
+pu port /dev/ttyS0
+pu baudrate 115200
+pu bits 8
+pu parity N
+pu stopbits 1
+pu minit
+pu mreset
diff --git a/projectroot/etc/mke2fs.conf b/projectroot/etc/mke2fs.conf
new file mode 100644
index 000000000..3795b1ed6
--- /dev/null
+++ b/projectroot/etc/mke2fs.conf
@@ -0,0 +1,44 @@
+[defaults]
+ base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
+ blocksize = 4096
+ inode_size = 256
+ inode_ratio = 16384
+
+[fs_types]
+ ext3 = {
+ features = has_journal
+ }
+ ext4 = {
+ features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
+ inode_size = 256
+ }
+ ext4dev = {
+ features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
+ inode_size = 256
+ options = test_fs=1
+ }
+ small = {
+ blocksize = 1024
+ inode_size = 128
+ inode_ratio = 4096
+ }
+ floppy = {
+ blocksize = 1024
+ inode_size = 128
+ inode_ratio = 8192
+ }
+ news = {
+ inode_ratio = 4096
+ }
+ largefile = {
+ inode_ratio = 1048576
+ blocksize = -1
+ }
+ largefile4 = {
+ inode_ratio = 4194304
+ blocksize = -1
+ }
+ hurd = {
+ blocksize = 4096
+ inode_size = 128
+ }
diff --git a/projectroot/etc/modprobe.conf b/projectroot/etc/modprobe.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/projectroot/etc/modprobe.conf
diff --git a/projectroot/etc/modules b/projectroot/etc/modules
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/projectroot/etc/modules
diff --git a/projectroot/etc/monitrc b/projectroot/etc/monitrc
new file mode 100644
index 000000000..b18205819
--- /dev/null
+++ b/projectroot/etc/monitrc
@@ -0,0 +1,8 @@
+set daemon 120
+set logfile /var/log/monit.log
+set idfile /var/lib/monit/id
+set pidfile /var/run/monit.pid
+set statefile /var/lib/monit/state
+set eventqueue
+ basedir /var/lib/monit/events
+ slots 100
diff --git a/projectroot/etc/mtab b/projectroot/etc/mtab
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/projectroot/etc/mtab
diff --git a/projectroot/etc/network/interfaces b/projectroot/etc/network/interfaces
new file mode 100644
index 000000000..ddae99c1f
--- /dev/null
+++ b/projectroot/etc/network/interfaces
@@ -0,0 +1,6 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/projectroot/etc/nsswitch.conf b/projectroot/etc/nsswitch.conf
new file mode 100644
index 000000000..ca4dee091
--- /dev/null
+++ b/projectroot/etc/nsswitch.conf
@@ -0,0 +1,22 @@
+#
+# /etc/nsswitch.conf
+#
+
+passwd: files
+group: files
+
+hosts: files mdns_minimal [NOTFOUND=return] dns mdns
+networks: files
+
+services: files
+protocols: files
+rpc: files
+ethers: files
+netmasks: files
+netgroup: files
+publickey: files
+
+bootparams: files
+automount: files
+aliases: files
+
diff --git a/projectroot/etc/ntp-client.conf b/projectroot/etc/ntp-client.conf
new file mode 100644
index 000000000..1d2f60545
--- /dev/null
+++ b/projectroot/etc/ntp-client.conf
@@ -0,0 +1 @@
+# FIXME add me
diff --git a/projectroot/etc/ntp-server.conf b/projectroot/etc/ntp-server.conf
new file mode 100644
index 000000000..1d2f60545
--- /dev/null
+++ b/projectroot/etc/ntp-server.conf
@@ -0,0 +1 @@
+# FIXME add me
diff --git a/projectroot/etc/ntpd.conf b/projectroot/etc/ntpd.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/projectroot/etc/ntpd.conf
diff --git a/projectroot/etc/opkg/opkg.conf b/projectroot/etc/opkg/opkg.conf
new file mode 100644
index 000000000..91730123c
--- /dev/null
+++ b/projectroot/etc/opkg/opkg.conf
@@ -0,0 +1,16 @@
+#
+# /etc/opkg/opkg.conf
+#
+
+# src: <url-of-opkg-repository>
+@SRC@
+
+dest root /
+
+arch @ARCH@ 10
+arch all 1
+arch noarch 1
+
+@CHECKSIG@
+@CAPATH@
+@CAFILE@
diff --git a/projectroot/etc/os-release b/projectroot/etc/os-release
new file mode 100644
index 000000000..b94edaedf
--- /dev/null
+++ b/projectroot/etc/os-release
@@ -0,0 +1,14 @@
+NAME=PTXdist
+VERSION="@PTXDIST_VERSION@"
+ID=ptxdist
+VERSION_ID="@PTXDIST_VERSION@"
+PRETTY_NAME="PTXdist / @VENDOR@-@PROJECT@"
+ANSI_COLOR="1;34"
+
+PTXDIST_VERSION="@PTXDIST_VERSION@"
+PTXDIST_BSP_VENDOR="@VENDOR@"
+PTXDIST_BSP_NAME="@PROJECT@"
+PTXDIST_BSP_VERSION="@PRJVERSION@"
+PTXDIST_PLATFORM_NAME="@PLATFORM@"
+PTXDIST_PLATFORM_VERSION="@PLATVERSION@"
+PTXDIST_BUILD_DATE="@DATE@"
diff --git a/projectroot/etc/passwd b/projectroot/etc/passwd
new file mode 100644
index 000000000..d8ccb408d
--- /dev/null
+++ b/projectroot/etc/passwd
@@ -0,0 +1,12 @@
+root:x:0:0:root:/home:/bin/sh
+daemon:x:1:1:daemon:/usr/sbin:/bin/sh
+ftp:x:11:101:ftp user:/home:/bin/false
+www:x:12:102:www user:/home:/bin/false
+sshd:x:100:65534:SSH Server:/var/run/sshd:/bin/false
+messagebus:x:103:104:messagebus:/dev/null:/bin/false
+systemd-network:x:202:202:systemd-network:/dev/null:/bin/false
+systemd-resolve:x:203:65534:systemd-resolve:/dev/null:/bin/false
+systemd-timesync:x:204:65534:systemd-timesync:/dev/null:/bin/false
+systemd-bus-proxy:x:205:65534:systemd-timesync:/dev/null:/bin/false
+rpcuser:x:65533:65534:RPC user:/dev/null:/bin/false
+nobody:x:65534:65534:Unprivileged Nobody:/dev/null:/bin/false
diff --git a/projectroot/etc/php5/php.ini b/projectroot/etc/php5/php.ini
new file mode 100644
index 000000000..5a63f43b9
--- /dev/null
+++ b/projectroot/etc/php5/php.ini
@@ -0,0 +1,1337 @@
+[PHP]
+
+;;;;;;;;;;;;;;;;;;;
+; About php.ini ;
+;;;;;;;;;;;;;;;;;;;
+; This file controls many aspects of PHP's behavior. In order for PHP to
+; read it, it must be named 'php.ini'. PHP looks for it in the current
+; working directory, in the path designated by the environment variable
+; PHPRC, and in the path that was defined in compile time (in that order).
+; Under Windows, the compile-time path is the Windows directory. The
+; path in which the php.ini file is looked for can be overridden using
+; the -c argument in command line mode.
+;
+; The syntax of the file is extremely simple. Whitespace and Lines
+; beginning with a semicolon are silently ignored (as you probably guessed).
+; Section headers (e.g. [Foo]) are also silently ignored, even though
+; they might mean something in the future.
+;
+; Directives are specified using the following syntax:
+; directive = value
+; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
+;
+; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
+; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
+;
+; Expressions in the INI file are limited to bitwise operators and parentheses:
+; | bitwise OR
+; & bitwise AND
+; ~ bitwise NOT
+; ! boolean NOT
+;
+; Boolean flags can be turned on using the values 1, On, True or Yes.
+; They can be turned off using the values 0, Off, False or No.
+;
+; An empty string can be denoted by simply not writing anything after the equal
+; sign, or by using the None keyword:
+;
+; foo = ; sets foo to an empty string
+; foo = none ; sets foo to an empty string
+; foo = "none" ; sets foo to the string 'none'
+;
+; If you use constants in your value, and these constants belong to a
+; dynamically loaded extension (either a PHP extension or a Zend extension),
+; you may only use these constants *after* the line that loads the extension.
+;
+;
+;;;;;;;;;;;;;;;;;;;
+; About this file ;
+;;;;;;;;;;;;;;;;;;;
+; This is the recommended, PHP 5-style version of the php.ini-dist file. It
+; sets some non standard settings, that make PHP more efficient, more secure,
+; and encourage cleaner coding.
+;
+; The price is that with these settings, PHP may be incompatible with some
+; applications, and sometimes, more difficult to develop with. Using this
+; file is warmly recommended for production sites. As all of the changes from
+; the standard settings are thoroughly documented, you can go over each one,
+; and decide whether you want to use it or not.
+;
+; For general information about the php.ini file, please consult the php.ini-dist
+; file, included in your PHP distribution.
+;
+; This file is different from the php.ini-dist file in the fact that it features
+; different values for several directives, in order to improve performance, while
+; possibly breaking compatibility with the standard out-of-the-box behavior of
+; PHP. Please make sure you read what's different, and modify your scripts
+; accordingly, if you decide to use this file instead.
+;
+; - register_long_arrays = Off [Performance]
+; Disables registration of the older (and deprecated) long predefined array
+; variables ($HTTP_*_VARS). Instead, use the superglobals that were
+; introduced in PHP 4.1.0
+; - display_errors = Off [Security]
+; With this directive set to off, errors that occur during the execution of
+; scripts will no longer be displayed as a part of the script output, and thus,
+; will no longer be exposed to remote users. With some errors, the error message
+; content may expose information about your script, web server, or database
+; server that may be exploitable for hacking. Production sites should have this
+; directive set to off.
+; - log_errors = On [Security]
+; This directive complements the above one. Any errors that occur during the
+; execution of your script will be logged (typically, to your server's error log,
+; but can be configured in several ways). Along with setting display_errors to off,
+; this setup gives you the ability to fully understand what may have gone wrong,
+; without exposing any sensitive information to remote users.
+; - output_buffering = 4096 [Performance]
+; Set a 4KB output buffer. Enabling output buffering typically results in less
+; writes, and sometimes less packets sent on the wire, which can often lead to
+; better performance. The gain this directive actually yields greatly depends
+; on which Web server you're working with, and what kind of scripts you're using.
+; - register_argc_argv = Off [Performance]
+; Disables registration of the somewhat redundant $argv and $argc global
+; variables.
+; - magic_quotes_gpc = Off [Performance]
+; Input data is no longer escaped with slashes so that it can be sent into
+; SQL databases without further manipulation. Instead, you should use the
+; database vendor specific escape string function on each input element you
+; wish to send to a database.
+; - variables_order = "GPCS" [Performance]
+; The environment variables are not hashed into the $_ENV. To access
+; environment variables, you can use getenv() instead.
+; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
+; By default, PHP suppresses errors of type E_NOTICE. These error messages
+; are emitted for non-critical errors, but that could be a symptom of a bigger
+; problem. Most notably, this will cause error messages about the use
+; of uninitialized variables to be displayed.
+; - allow_call_time_pass_reference = Off [Code cleanliness]
+; It's not possible to decide to force a variable to be passed by reference
+; when calling a function. The PHP 4 style to do this is by making the
+; function require the relevant argument by reference.
+; - short_open_tag = Off [Portability]
+; Using short tags is discouraged when developing code meant for redistribution
+; since short tags may not be supported on the target server.
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Enable the PHP scripting language engine under Apache.
+engine = On
+
+; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
+zend.ze1_compatibility_mode = Off
+
+; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
+; NOTE: Using short tags should be avoided when developing applications or
+; libraries that are meant for redistribution, or deployment on PHP
+; servers which are not under your control, because short tags may not
+; be supported on the target server. For portable, redistributable code,
+; be sure not to use short tags.
+short_open_tag = Off
+
+; Allow ASP-style <% %> tags.
+asp_tags = Off
+
+; The number of significant digits displayed in floating point numbers.
+precision = 14
+
+; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
+y2k_compliance = On
+
+; Output buffering allows you to send header lines (including cookies) even
+; after you send body content, at the price of slowing PHP's output layer a
+; bit. You can enable output buffering during runtime by calling the output
+; buffering functions. You can also enable output buffering for all files by
+; setting this directive to On. If you wish to limit the size of the buffer
+; to a certain size - you can use a maximum number of bytes instead of 'On', as
+; a value for this directive (e.g., output_buffering=4096).
+output_buffering = 4096
+
+; You can redirect all of the output of your scripts to a function. For
+; example, if you set output_handler to "mb_output_handler", character
+; encoding will be transparently converted to the specified encoding.
+; Setting any output handler automatically turns on output buffering.
+; Note: People who wrote portable scripts should not depend on this ini
+; directive. Instead, explicitly set the output handler using ob_start().
+; Using this ini directive may cause problems unless you know what script
+; is doing.
+; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
+; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+; Note: output_handler must be empty if this is set 'On' !!!!
+; Instead you must use zlib.output_handler.
+;output_handler =
+
+; Transparent output compression using the zlib library
+; Valid values for this option are 'off', 'on', or a specific buffer size
+; to be used for compression (default is 4KB)
+; Note: Resulting chunk size may vary due to nature of compression. PHP
+; outputs chunks that are few hundreds bytes each as a result of
+; compression. If you prefer a larger chunk size for better
+; performance, enable output_buffering in addition.
+; Note: You need to use zlib.output_handler instead of the standard
+; output_handler, or otherwise the output will be corrupted.
+zlib.output_compression = Off
+;zlib.output_compression_level = -1
+
+; You cannot specify additional output handlers if zlib.output_compression
+; is activated here. This setting does the same as output_handler but in
+; a different order.
+;zlib.output_handler =
+
+; Implicit flush tells PHP to tell the output layer to flush itself
+; automatically after every output block. This is equivalent to calling the
+; PHP function flush() after each and every call to print() or echo() and each
+; and every HTML block. Turning this option on has serious performance
+; implications and is generally recommended for debugging purposes only.
+implicit_flush = Off
+
+; The unserialize callback function will be called (with the undefined class'
+; name as parameter), if the unserializer finds an undefined class
+; which should be instantiated.
+; A warning appears if the specified function is not defined, or if the
+; function doesn't include/implement the missing class.
+; So only set this entry, if you really want to implement such a
+; callback-function.
+unserialize_callback_func=
+
+; When floats & doubles are serialized store serialize_precision significant
+; digits after the floating point. The default value ensures that when floats
+; are decoded with unserialize, the data will remain the same.
+serialize_precision = 100
+
+; Whether to enable the ability to force arguments to be passed by reference
+; at function call time. This method is deprecated and is likely to be
+; unsupported in future versions of PHP/Zend. The encouraged method of
+; specifying which arguments should be passed by reference is in the function
+; declaration. You're encouraged to try and turn this option Off and make
+; sure your scripts work properly with it in order to ensure they will work
+; with future versions of the language (you will receive a warning each time
+; you use this feature, and the argument will be passed by value instead of by
+; reference).
+allow_call_time_pass_reference = Off
+
+;
+; Safe Mode
+;
+safe_mode = Off
+
+; By default, Safe Mode does a UID compare check when
+; opening files. If you want to relax this to a GID compare,
+; then turn on safe_mode_gid.
+safe_mode_gid = Off
+
+; When safe_mode is on, UID/GID checks are bypassed when
+; including files from this directory and its subdirectories.
+; (directory must also be in include_path or full path must
+; be used when including)
+safe_mode_include_dir =
+
+; When safe_mode is on, only executables located in the safe_mode_exec_dir
+; will be allowed to be executed via the exec family of functions.
+safe_mode_exec_dir =
+
+; Setting certain environment variables may be a potential security breach.
+; This directive contains a comma-delimited list of prefixes. In Safe Mode,
+; the user may only alter environment variables whose names begin with the
+; prefixes supplied here. By default, users will only be able to set
+; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
+;
+; Note: If this directive is empty, PHP will let the user modify ANY
+; environment variable!
+safe_mode_allowed_env_vars = PHP_
+
+; This directive contains a comma-delimited list of environment variables that
+; the end user won't be able to change using putenv(). These variables will be
+; protected even if safe_mode_allowed_env_vars is set to allow to change them.
+safe_mode_protected_env_vars = LD_LIBRARY_PATH
+
+; open_basedir, if set, limits all file operations to the defined directory
+; and below. This directive makes most sense if used in a per-directory
+; or per-virtualhost web server configuration file. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+;open_basedir =
+
+; This directive allows you to disable certain functions for security reasons.
+; It receives a comma-delimited list of function names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+disable_functions =
+
+; This directive allows you to disable certain classes for security reasons.
+; It receives a comma-delimited list of class names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+disable_classes =
+
+; Colors for Syntax Highlighting mode. Anything that's acceptable in
+; <span style="color: ???????"> would work.
+;highlight.string = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.bg = #FFFFFF
+;highlight.default = #0000BB
+;highlight.html = #000000
+
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long request, which may end up
+; being interrupted by the user or a browser timing out.
+; ignore_user_abort = On
+
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; realpath_cache_size=16k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; realpath_cache_ttl=120
+
+;
+; Misc
+;
+; Decides whether PHP may expose the fact that it is installed on the server
+; (e.g. by adding its signature to the Web server header). It is no security
+; threat in any way, but it makes it possible to determine whether you use PHP
+; on your server or not.
+expose_php = On
+
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+max_execution_time = 30 ; Maximum execution time of each script, in seconds
+max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
+;max_input_nesting_level = 64 ; Maximum input variable nesting level
+memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; error_reporting is a bit-field. Or each number up to get desired error
+; reporting level
+; E_ALL - All errors and warnings (doesn't include E_STRICT)
+; E_ERROR - fatal run-time errors
+; E_RECOVERABLE_ERROR - almost fatal run-time errors
+; E_WARNING - run-time warnings (non-fatal errors)
+; E_PARSE - compile-time parse errors
+; E_NOTICE - run-time notices (these are warnings which often result
+; from a bug in your code, but it's possible that it was
+; intentional (e.g., using an uninitialized variable and
+; relying on the fact it's automatically initialized to an
+; empty string)
+; E_STRICT - run-time notices, enable to have PHP suggest changes
+; to your code which will ensure the best interoperability
+; and forward compatibility of your code
+; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
+; initial startup
+; E_COMPILE_ERROR - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR - user-generated error message
+; E_USER_WARNING - user-generated warning message
+; E_USER_NOTICE - user-generated notice message
+;
+; Examples:
+;
+; - Show all errors, except for notices and coding standards warnings
+;
+;error_reporting = E_ALL & ~E_NOTICE
+;
+; - Show all errors, except for notices
+;
+;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
+;
+; - Show only errors
+;
+;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
+;
+; - Show all errors, except coding standards warnings
+;
+error_reporting = E_ALL
+
+; Print out errors (as a part of the output). For production web sites,
+; you're strongly encouraged to turn this feature off, and use error logging
+; instead (see below). Keeping display_errors enabled on a production web site
+; may reveal security information to end users, such as file paths on your Web
+; server, your database schema or other information.
+;
+; possible values for display_errors:
+;
+; Off - Do not display any errors
+; stderr - Display errors to STDERR (affects only CGI/CLI binaries!)
+; On or stdout - Display errors to STDOUT (default)
+;
+; To output errors to STDERR with CGI/CLI:
+;display_errors = "stderr"
+;
+; Default
+;
+display_errors = Off
+
+; Even when display_errors is on, errors that occur during PHP's startup
+; sequence are not displayed. It's strongly recommended to keep
+; display_startup_errors off, except for when debugging.
+display_startup_errors = Off
+
+; Log errors into a log file (server-specific log, stderr, or error_log (below))
+; As stated above, you're strongly advised to use error logging in place of
+; error displaying on production web sites.
+log_errors = On
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line unless ignore_repeated_source is set true.
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; source lines.
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This has only effect in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+report_memleaks = On
+
+;report_zend_debug = 0
+
+; Store the last error/warning message in $php_errormsg (boolean).
+track_errors = Off
+
+; Turn off normal error reporting and emit XML-RPC error XML
+;xmlrpc_errors = 0
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; Disable the inclusion of HTML tags in error messages.
+; Note: Never use this feature for production boxes.
+;html_errors = Off
+
+; If html_errors is set On PHP produces clickable error messages that direct
+; to a page describing the error or function causing the error in detail.
+; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot.
+; Note: Never use this feature for production boxes.
+;docref_root = "/phpmanual/"
+;docref_ext = .html
+
+; String to output before an error message.
+;error_prepend_string = "<font color=#ff0000>"
+
+; String to output after an error message.
+;error_append_string = "</font>"
+
+; Log errors to specified file.
+;error_log = filename
+
+; Log errors to syslog (Event Log on NT, not valid in Windows 95).
+;error_log = syslog
+
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+;
+; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
+
+; The separator used in PHP generated URLs to separate arguments.
+; Default is "&".
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; Default is "&".
+; NOTE: Every character in this directive is considered as separator!
+;arg_separator.input = ";&"
+
+; This directive describes the order in which PHP registers GET, POST, Cookie,
+; Environment and Built-in variables (G, P, C, E & S respectively, often
+; referred to as EGPCS or GPC). Registration is done from left to right, newer
+; values override older values.
+variables_order = "GPCS"
+
+; Whether or not to register the EGPCS variables as global variables. You may
+; want to turn this off if you don't want to clutter your scripts' global scope
+; with user data. This makes most sense when coupled with track_vars - in which
+; case you can access all of the GPC variables through the $HTTP_*_VARS[],
+; variables.
+;
+; You should do your best to write your scripts so that they do not require
+; register_globals to be on; Using form variables as globals can easily lead
+; to possible security problems, if the code is not very well thought of.
+register_globals = Off
+
+; Whether or not to register the old-style input arrays, HTTP_GET_VARS
+; and friends. If you're not using them, it's recommended to turn them off,
+; for performance reasons.
+register_long_arrays = Off
+
+; This directive tells PHP whether to declare the argv&argc variables (that
+; would contain the GET information). If you don't use these variables, you
+; should turn it off for increased performance.
+register_argc_argv = Off
+
+; When enabled, the SERVER and ENV variables are created when they're first
+; used (Just In Time) instead of when the script starts. If these variables
+; are not used within a script, having this directive on will result in a
+; performance gain. The PHP directives register_globals, register_long_arrays,
+; and register_argc_argv must be disabled for this directive to have any affect.
+auto_globals_jit = On
+
+; Maximum size of POST data that PHP will accept.
+post_max_size = 8M
+
+; Magic quotes
+;
+
+; Magic quotes for incoming GET/POST/Cookie data.
+magic_quotes_gpc = Off
+
+; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
+magic_quotes_runtime = Off
+
+; Use Sybase-style magic quotes (escape ' with '' instead of \').
+magic_quotes_sybase = Off
+
+; Automatically add files before or after any PHP document.
+auto_prepend_file =
+auto_append_file =
+
+; As of 4.0b4, PHP always outputs a character encoding by default in
+; the Content-type: header. To disable sending of the charset, simply
+; set it to be empty.
+;
+; PHP's built-in default is text/html
+default_mimetype = "text/html"
+;default_charset = "iso-8859-1"
+
+; Always populate the $HTTP_RAW_POST_DATA variable.
+;always_populate_raw_post_data = On
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/php/includes"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues. The alternate is to use the
+; cgi.force_redirect configuration below
+doc_root =
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+user_dir =
+
+; Directory in which the loadable extensions (modules) reside.
+extension_dir = "./"
+
+; Whether or not to enable the dl() function. The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+enable_dl = On
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers. Left undefined, PHP turns this on by default. You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request.
+; cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution. Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; cgi.redirect_status_env = ;
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
+; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
+; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; cgi.fix_pathinfo=1
+
+; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
+; security tokens of the calling client. This allows IIS to define the
+; security context that the request runs under. mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS. Default is zero.
+; fastcgi.impersonate = 1;
+
+; Disable logging through FastCGI connection
+; fastcgi.logging = 0
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+;cgi.rfc2616_headers = 0
+
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+;upload_tmp_dir =
+
+; Maximum allowed size for uploaded files.
+upload_max_filesize = 2M
+
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+allow_url_fopen = On
+
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address)
+;from="john@doe.com"
+
+; Define the User-Agent string
+; user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; auto_detect_line_endings = Off
+
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+;
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+; extension=modulename.extension
+;
+; For example, on Windows:
+;
+; extension=msql.dll
+;
+; ... or under UNIX:
+;
+; extension=msql.so
+;
+; Note that it should be the name of the module only; no directory information
+; needs to go here. Specify the location of the extension with the
+; extension_dir directive above.
+
+
+; Windows Extensions
+; Note that ODBC support is built in, so no dll is needed for it.
+; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
+; extension folders as well as the separate PECL DLL download (PHP 5).
+; Be sure to appropriately set the extension_dir directive.
+
+;extension=php_bz2.dll
+;extension=php_curl.dll
+;extension=php_dba.dll
+;extension=php_dbase.dll
+;extension=php_exif.dll
+;extension=php_fdf.dll
+;extension=php_gd2.dll
+;extension=php_gettext.dll
+;extension=php_gmp.dll
+;extension=php_ifx.dll
+;extension=php_imap.dll
+;extension=php_interbase.dll
+;extension=php_ldap.dll
+;extension=php_mbstring.dll
+;extension=php_mcrypt.dll
+;extension=php_mhash.dll
+;extension=php_mime_magic.dll
+;extension=php_ming.dll
+;extension=php_msql.dll
+;extension=php_mssql.dll
+;extension=php_mysql.dll
+;extension=php_mysqli.dll
+;extension=php_oci8.dll
+;extension=php_openssl.dll
+;extension=php_pdo.dll
+;extension=php_pdo_firebird.dll
+;extension=php_pdo_mssql.dll
+;extension=php_pdo_mysql.dll
+;extension=php_pdo_oci.dll
+;extension=php_pdo_oci8.dll
+;extension=php_pdo_odbc.dll
+;extension=php_pdo_pgsql.dll
+;extension=php_pdo_sqlite.dll
+;extension=php_pgsql.dll
+;extension=php_pspell.dll
+;extension=php_shmop.dll
+;extension=php_snmp.dll
+;extension=php_soap.dll
+;extension=php_sockets.dll
+;extension=php_sqlite.dll
+;extension=php_sybase_ct.dll
+;extension=php_tidy.dll
+;extension=php_xmlrpc.dll
+;extension=php_xsl.dll
+;extension=php_zip.dll
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[Date]
+; Defines the default timezone used by the date functions
+;date.timezone =
+
+;date.default_latitude = 31.7667
+;date.default_longitude = 35.2333
+
+;date.sunrise_zenith = 90.583333
+;date.sunset_zenith = 90.583333
+
+[filter]
+;filter.default = unsafe_raw
+;filter.default_flags =
+
+[iconv]
+;iconv.input_encoding = ISO-8859-1
+;iconv.internal_encoding = ISO-8859-1
+;iconv.output_encoding = ISO-8859-1
+
+[sqlite]
+;sqlite.assoc_case = 0
+
+[Pcre]
+;PCRE library backtracking limit.
+;pcre.backtrack_limit=100000
+
+;PCRE library recursion limit.
+;Please note that if you set this value to a high number you may consume all
+;the available process stack and eventually crash PHP (due to reaching the
+;stack size limit imposed by the Operating System).
+;pcre.recursion_limit=100000
+
+[Syslog]
+; Whether or not to define the various syslog variables (e.g. $LOG_PID,
+; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
+; runtime, you can define these variables by calling define_syslog_variables().
+define_syslog_variables = Off
+
+[mail function]
+; For Win32 only.
+SMTP = localhost
+smtp_port = 25
+
+; For Win32 only.
+;sendmail_from = me@example.com
+
+; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
+;sendmail_path =
+
+; Force the addition of the specified parameters to be passed as extra parameters
+; to the sendmail binary. These parameters will always replace the value of
+; the 5th parameter to mail(), even in safe mode.
+;mail.force_extra_parameters =
+
+[SQL]
+sql.safe_mode = Off
+
+[ODBC]
+;odbc.default_db = Not yet implemented
+;odbc.default_user = Not yet implemented
+;odbc.default_pw = Not yet implemented
+
+; Allow or prevent persistent links.
+odbc.allow_persistent = On
+
+; Check that a connection is still valid before reuse.
+odbc.check_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+odbc.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+odbc.max_links = -1
+
+; Handling of LONG fields. Returns number of bytes to variables. 0 means
+; passthru.
+odbc.defaultlrl = 4096
+
+; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
+; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
+; of uodbc.defaultlrl and uodbc.defaultbinmode
+odbc.defaultbinmode = 1
+
+[MySQL]
+; Allow or prevent persistent links.
+mysql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+mysql.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+mysql.max_links = -1
+
+; Default port number for mysql_connect(). If unset, mysql_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
+; at MYSQL_PORT.
+mysql.default_port =
+
+; Default socket name for local MySQL connects. If empty, uses the built-in
+; MySQL defaults.
+mysql.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+mysql.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+mysql.default_user =
+
+; Default password for mysql_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
+; and reveal this password! And of course, any users with read access to this
+; file will be able to reveal the password as well.
+mysql.default_password =
+
+; Maximum time (in seconds) for connect timeout. -1 means no limit
+mysql.connect_timeout = 60
+
+; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
+; SQL-Errors will be displayed.
+mysql.trace_mode = Off
+
+[MySQLi]
+
+; Maximum number of links. -1 means no limit.
+mysqli.max_links = -1
+
+; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
+; at MYSQL_PORT.
+mysqli.default_port = 3306
+
+; Default socket name for local MySQL connects. If empty, uses the built-in
+; MySQL defaults.
+mysqli.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+mysqli.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+mysqli.default_user =
+
+; Default password for mysqli_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
+; and reveal this password! And of course, any users with read access to this
+; file will be able to reveal the password as well.
+mysqli.default_pw =
+
+; Allow or prevent reconnect
+mysqli.reconnect = Off
+
+[mSQL]
+; Allow or prevent persistent links.
+msql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+msql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+msql.max_links = -1
+
+[OCI8]
+; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA)
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+;oci8.ping_interval = 60
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+;oci8.default_prefetch = 10
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+;oci8.old_oci_close_semantics = Off
+
+[PostgresSQL]
+; Allow or prevent persistent links.
+pgsql.allow_persistent = On
+
+; Detect broken persistent links always with pg_pconnect().
+; Auto reset feature requires a little overheads.
+pgsql.auto_reset_persistent = Off
+
+; Maximum number of persistent links. -1 means no limit.
+pgsql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+pgsql.max_links = -1
+
+; Ignore PostgreSQL backends Notice message or not.
+; Notice message logging require a little overheads.
+pgsql.ignore_notice = 0
+
+; Log PostgreSQL backends Notice message or not.
+; Unless pgsql.ignore_notice=0, module cannot log notice message.
+pgsql.log_notice = 0
+
+[Sybase]
+; Allow or prevent persistent links.
+sybase.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+sybase.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+sybase.max_links = -1
+
+;sybase.interface_file = "/usr/sybase/interfaces"
+
+; Minimum error severity to display.
+sybase.min_error_severity = 10
+
+; Minimum message severity to display.
+sybase.min_message_severity = 10
+
+; Compatibility mode with old versions of PHP 3.0.
+; If on, this will cause PHP to automatically assign types to results according
+; to their Sybase type, instead of treating them all as strings. This
+; compatibility mode will probably not stay around forever, so try applying
+; whatever necessary changes to your code, and turn it off.
+sybase.compatability_mode = Off
+
+[Sybase-CT]
+; Allow or prevent persistent links.
+sybct.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+sybct.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+sybct.max_links = -1
+
+; Minimum server message severity to display.
+sybct.min_server_severity = 10
+
+; Minimum client message severity to display.
+sybct.min_client_severity = 10
+
+[bcmath]
+; Number of decimal digits for all bcmath functions.
+bcmath.scale = 0
+
+[browscap]
+;browscap = extra/browscap.ini
+
+[Informix]
+; Default host for ifx_connect() (doesn't apply in safe mode).
+ifx.default_host =
+
+; Default user for ifx_connect() (doesn't apply in safe mode).
+ifx.default_user =
+
+; Default password for ifx_connect() (doesn't apply in safe mode).
+ifx.default_password =
+
+; Allow or prevent persistent links.
+ifx.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+ifx.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+ifx.max_links = -1
+
+; If on, select statements return the contents of a text blob instead of its id.
+ifx.textasvarchar = 0
+
+; If on, select statements return the contents of a byte blob instead of its id.
+ifx.byteasvarchar = 0
+
+; Trailing blanks are stripped from fixed-length char columns. May help the
+; life of Informix SE users.
+ifx.charasvarchar = 0
+
+; If on, the contents of text and byte blobs are dumped to a file instead of
+; keeping them in memory.
+ifx.blobinfile = 0
+
+; NULL's are returned as empty strings, unless this is set to 1. In that case,
+; NULL's are returned as string 'NULL'.
+ifx.nullformat = 0
+
+[Session]
+; Handler used to store/retrieve data.
+session.save_handler = files
+
+; Argument passed to save_handler. In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; As of PHP 4.0.1, you can define the path as:
+;
+; session.save_path = "N;/path"
+;
+; where N is an integer. Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories. This is useful if you
+; or your OS have problems with lots of files in one directory, and is
+; a more efficient layout for servers that handle lots of sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+; You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+; use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+; session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+;session.save_path = "/tmp"
+
+; Whether to use cookies.
+session.use_cookies = 1
+
+;session.cookie_secure =
+
+; This option enables administrators to make their users invulnerable to
+; attacks which involve passing session ids in URLs; defaults to 0.
+; session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+session.cookie_domain =
+
+; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
+session.cookie_httponly =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+session.serialize_handler = php
+
+; Define the probability that the 'garbage collection' process is started
+; on every session initialization.
+; The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts
+; on each request.
+
+session.gc_probability = 1
+session.gc_divisor = 1000
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+; (see session.save_path above), then garbage collection does *not*
+; happen automatically. You will need to do your own garbage
+; collection through a shell script, cron entry, or some other method.
+; For example, the following script would is the equivalent of
+; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+; cd /path/to/sessions; find -cmin +24 | xargs rm
+
+; PHP 4.2 and less have an undocumented feature/bug that allows you to
+; to initialize a session variable in the global scope, albeit register_globals
+; is disabled. PHP 4.3 and later will warn you, if this feature is used.
+; You can disable the feature and the warning separately. At this time,
+; the warning is only displayed, if bug_compat_42 is enabled.
+
+session.bug_compat_42 = 0
+session.bug_compat_warn = 1
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+session.referer_check =
+
+; How many bytes to read from the file.
+session.entropy_length = 0
+
+; Specified here to create the session id.
+session.entropy_file =
+
+;session.entropy_length = 16
+
+;session.entropy_file = /dev/urandom
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+; to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+; in publically accessible computer.
+; - User may access your site with the same session ID
+; always using URL stored in browser's history or bookmarks.
+session.use_trans_sid = 0
+
+; Select a hash function
+; 0: MD5 (128 bits)
+; 1: SHA-1 (160 bits)
+session.hash_function = 0
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+;
+; 4 bits: 0-9, a-f
+; 5 bits: 0-9, a-v
+; 6 bits: 0-9, a-z, A-Z, "-", ","
+session.hash_bits_per_character = 5
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; form/fieldset are special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs. If you want XHTML conformity, remove the form entry.
+; Note that all valid entries require a "=", even if no value follows.
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+[MSSQL]
+; Allow or prevent persistent links.
+mssql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+mssql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+mssql.max_links = -1
+
+; Minimum error severity to display.
+mssql.min_error_severity = 10
+
+; Minimum message severity to display.
+mssql.min_message_severity = 10
+
+; Compatibility mode with old versions of PHP 3.0.
+mssql.compatability_mode = Off
+
+; Connect timeout
+;mssql.connect_timeout = 5
+
+; Query timeout
+;mssql.timeout = 60
+
+; Valid range 0 - 2147483647. Default = 4096.
+;mssql.textlimit = 4096
+
+; Valid range 0 - 2147483647. Default = 4096.
+;mssql.textsize = 4096
+
+; Limits the number of records in each batch. 0 = all records in one batch.
+;mssql.batchsize = 0
+
+; Specify how datetime and datetim4 columns are returned
+; On => Returns data converted to SQL server settings
+; Off => Returns values as YYYY-MM-DD hh:mm:ss
+;mssql.datetimeconvert = On
+
+; Use NT authentication when connecting to the server
+mssql.secure_connection = Off
+
+; Specify max number of processes. -1 = library default
+; msdlib defaults to 25
+; FreeTDS defaults to 4096
+;mssql.max_procs = -1
+
+; Specify client character set.
+; If empty or not set the client charset from freetds.comf is used
+; This is only used when compiled with FreeTDS
+;mssql.charset = "ISO-8859-1"
+
+[Assertion]
+; Assert(expr); active by default.
+;assert.active = On
+
+; Issue a PHP warning for each failed assertion.
+;assert.warning = On
+
+; Don't bail out by default.
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+;assert.callback = 0
+
+; Eval the expression with current error_reporting(). Set to true if you want
+; error_reporting(0) around the eval().
+;assert.quiet_eval = 0
+
+[COM]
+; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+;com.typelib_file =
+; allow Distributed-COM calls
+;com.allow_dcom = true
+; autoregister constants of a components typlib on com_load()
+;com.autoregister_typelib = true
+; register constants casesensitive
+;com.autoregister_casesensitive = false
+; show warnings on duplicate constant registrations
+;com.autoregister_verbose = true
+
+[mbstring]
+; language for internal character representation.
+;mbstring.language = Japanese
+
+; internal/script encoding.
+; Some encoding cannot work as internal encoding.
+; (e.g. SJIS, BIG5, ISO-2022-*)
+;mbstring.internal_encoding = EUC-JP
+
+; http input encoding.
+;mbstring.http_input = auto
+
+; http output encoding. mb_output_handler must be
+; registered as output buffer to function
+;mbstring.http_output = SJIS
+
+; enable automatic encoding translation according to
+; mbstring.internal_encoding setting. Input chars are
+; converted to internal encoding by setting this to On.
+; Note: Do _not_ use automatic encoding translation for
+; portable libs/applications.
+;mbstring.encoding_translation = Off
+
+; automatic encoding detection order.
+; auto means
+;mbstring.detect_order = auto
+
+; substitute_character used when character cannot be converted
+; one from another
+;mbstring.substitute_character = none;
+
+; overload(replace) single byte functions by mbstring functions.
+; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
+; etc. Possible values are 0,1,2,4 or combination of them.
+; For example, 7 for overload everything.
+; 0: No overload
+; 1: Overload mail() function
+; 2: Overload str*() functions
+; 4: Overload ereg*() functions
+;mbstring.func_overload = 0
+
+; enable strict encoding detection.
+;mbstring.strict_encoding = Off
+
+[FrontBase]
+;fbsql.allow_persistent = On
+;fbsql.autocommit = On
+;fbsql.show_timestamp_decimals = Off
+;fbsql.default_database =
+;fbsql.default_database_password =
+;fbsql.default_host =
+;fbsql.default_password =
+;fbsql.default_user = "_SYSTEM"
+;fbsql.generate_warnings = Off
+;fbsql.max_connections = 128
+;fbsql.max_links = 128
+;fbsql.max_persistent = -1
+;fbsql.max_results = 128
+
+[gd]
+; Tell the jpeg decode to libjpeg warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+;gd.jpeg_ignore_warning = 0
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+;exif.encode_unicode = ISO-8859-15
+;exif.decode_unicode_motorola = UCS-2BE
+;exif.decode_unicode_intel = UCS-2LE
+;exif.encode_jis =
+;exif.decode_jis_motorola = JIS
+;exif.decode_jis_intel = JIS
+
+[Tidy]
+; The path to a default tidy configuration file to use when using tidy
+;tidy.default_config = /usr/local/lib/php/default.tcfg
+
+; Should tidy clean and repair output automatically?
+; WARNING: Do not use this option if you are generating non-html content
+; such as dynamic images
+tidy.clean_output = Off
+
+[soap]
+; Enables or disables WSDL caching feature.
+soap.wsdl_cache_enabled=1
+; Sets the directory name where SOAP extension will put cache files.
+soap.wsdl_cache_dir="/tmp"
+; (time to live) Sets the number of second while cached file will be used
+; instead of original one.
+soap.wsdl_cache_ttl=86400
+
+; Local Variables:
+; tab-width: 4
+; End:
diff --git a/projectroot/etc/ppp/chap-secrets b/projectroot/etc/ppp/chap-secrets
new file mode 100644
index 000000000..7d1c3cd7c
--- /dev/null
+++ b/projectroot/etc/ppp/chap-secrets
@@ -0,0 +1,2 @@
+# Secrets for authentication using CHAP
+# client server secret IP addresses
diff --git a/projectroot/etc/ppp/ip-down b/projectroot/etc/ppp/ip-down
new file mode 100644
index 000000000..623db779c
--- /dev/null
+++ b/projectroot/etc/ppp/ip-down
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# This script is run by the pppd _after_ the link is brought down.
+# It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete
+# routes, unset IP addresses etc. you should create script(s) there.
+#
+# Be aware that other packages may include /etc/ppp/ip-down.d scripts (named
+# after that package), so choose local script names with that in mind.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+# $6 Optional ``ipparam'' value foo
+
+# The environment is cleared before executing this script
+# so the path must be reset
+PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
+export PATH
+
+# These variables are for the use of the scripts run by run-parts
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+
+# as an additional convenience, $PPP_TTYNAME is set to the tty name,
+# stripped of /dev/ (if present) for easier matching.
+PPP_TTYNAME=`/usr/bin/basename "$2"`
+export PPP_TTYNAME
+
+# If /var/log/ppp-ipupdown.log exists use it for logging.
+if [ -e /var/log/ppp-ipupdown.log ]; then
+ exec >> /var/log/ppp-ipupdown.log 2>&1
+ echo $0 "$@"
+ echo
+fi
+
+run-parts /etc/ppp/ip-down.d \
+ -a "$1" -a "$2" -a "$3" -a "$4" -a "$5" -a "$6"
diff --git a/projectroot/etc/ppp/ip-up b/projectroot/etc/ppp/ip-up
new file mode 100644
index 000000000..47c778255
--- /dev/null
+++ b/projectroot/etc/ppp/ip-up
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# This script is run by the pppd after the link is established.
+# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
+# set IP address, run the mailq etc. you should create script(s) there.
+#
+# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
+# after that package), so choose local script names with that in mind.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+# $6 Optional ``ipparam'' value foo
+
+# The environment is cleared before executing this script
+# so the path must be reset
+PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
+export PATH
+
+# These variables are for the use of the scripts run by run-parts
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+
+# as an additional convenience, $PPP_TTYNAME is set to the tty name,
+# stripped of /dev/ (if present) for easier matching.
+PPP_TTYNAME=`/usr/bin/basename "$2"`
+export PPP_TTYNAME
+
+# If /var/log/ppp-ipupdown.log exists use it for logging.
+if [ -e /var/log/ppp-ipupdown.log ]; then
+ exec > /var/log/ppp-ipupdown.log 2>&1
+ echo $0 "$@"
+ echo
+fi
+
+run-parts /etc/ppp/ip-up.d \
+ -a "$1" -a "$2" -a "$3" -a "$4" -a "$5" -a "$6"
diff --git a/projectroot/etc/ppp/options b/projectroot/etc/ppp/options
new file mode 100644
index 000000000..c7c1c2945
--- /dev/null
+++ b/projectroot/etc/ppp/options
@@ -0,0 +1,47 @@
+#
+# This is a template setup to run the pppd as a PPPoE dial in on demand server
+#
+# TODO: define the hangup time in seconds
+idle 600
+
+noipdefault
+
+# TODO: Add your account name here
+user my_account
+
+# keep the password from occuring in the log files
+hide-password
+
+#
+# Use the PPPoE plugin
+#
+plugin rp-pppoe.so
+
+# nothing special required to start the connection
+connect /bin/true
+
+# accept new IPs for the involved interfaces
+ipcp-accept-remote
+ipcp-accept-local
+
+# add a default route to be able to do the job on demand
+defaultroute
+
+# dial in only on demand
+demand
+
+# alter kernel settings
+ktune
+
+# the peer does not need to authenticate itself
+noauth
+
+# use the reported peer's DNS at host side
+usepeerdns
+
+#
+# To define a hangup time we must define what counts as activity and whats
+# garbage. Established connections are counting, other packets from the
+# internet do not.
+#
+active-filter 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0'
diff --git a/projectroot/etc/ppp/options.server b/projectroot/etc/ppp/options.server
new file mode 100644
index 000000000..728de4da4
--- /dev/null
+++ b/projectroot/etc/ppp/options.server
@@ -0,0 +1,8 @@
+-detach
+asyncmap 0
+modem
+crtscts
+lock
+proxyarp
+ms-dns 1.2.3.4 #replace 1.2.3.4 with DNS address Primary
+ms-dns 3.4.5.6 #replace 3.4.5.6 with DNS address Slave
diff --git a/projectroot/etc/ppp/options.ttyS0 b/projectroot/etc/ppp/options.ttyS0
new file mode 100644
index 000000000..8056a6726
--- /dev/null
+++ b/projectroot/etc/ppp/options.ttyS0
@@ -0,0 +1,5 @@
+# Port Configuration for Serial Port ttyS0
+# IP Address of the local ppp end is: 192.168.42.42
+# IP Address of the client ppp end is: 192.168.42.43
+192.168.42.42:192.168.42.43 # serverAddress:clientAdress
+netmask 255.255.255.0 # The netmask of the LAN the server is connected to
diff --git a/projectroot/etc/ppp/pap-secrets b/projectroot/etc/ppp/pap-secrets
new file mode 100644
index 000000000..1465a0a82
--- /dev/null
+++ b/projectroot/etc/ppp/pap-secrets
@@ -0,0 +1,43 @@
+# PAP Secrets Database
+# ------------------------------------------------------------------------
+#
+# /etc/ppp/pap-secrets
+#
+# This is a pap-secrets file to be used with the AUTO_PPP function of
+# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option
+# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn)
+# after a user has passed this file. Don't be disturbed therfore by the fact
+# that this file defines logins with any password for users. /etc/passwd
+# (again, /etc/shadow, too) will catch passwd mismatches.
+#
+# This file should block ALL users that should not be able to do AUTO_PPP.
+# AUTO_PPP bypasses the usual login program so its necessary to list all
+# system userids with regular passwords here.
+#
+# ATTENTION: The definitions here can allow users to login without a
+# password if you don't use the login option of pppd! The mgetty Debian
+# package already provides this option; make sure you don't change that.
+
+# INBOUND connections
+
+# Every regular user can use PPP and has to use passwords from /etc/passwd
+* hostname "" *
+
+# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
+# other accounts that should not be able to use pppd!
+guest hostname "*" -
+master hostname "*" -
+root hostname "*" -
+support hostname "*" -
+stats hostname "*" -
+
+# OUTBOUND connections
+
+# Here you should add your userid password to connect to your providers via
+# PAP. The * means that the password is to be used for ANY host you connect
+# to. Thus you do not have to worry about the foreign machine name. Just
+# replace password with your password.
+# If you have different providers with different passwords then you better
+# remove the following line.
+
+hostname * password
diff --git a/projectroot/etc/ppp/peers/provider b/projectroot/etc/ppp/peers/provider
new file mode 100644
index 000000000..3dc51cd15
--- /dev/null
+++ b/projectroot/etc/ppp/peers/provider
@@ -0,0 +1,21 @@
+# These are the options to dial out to your default service provider.
+# Please customize them correctly. Only the "provider" file will be
+# handled by poff and pon (unless with extra command line arguments).
+
+# You usually need this if there is no PAP authentication
+noauth
+
+# The chat script (be sure to edit that file, too!)
+connect "/usr/sbin/chat -v -f /etc/chatscripts/provider"
+
+# Set up routing to go through this PPP link
+defaultroute
+
+# Default modem (you better replace this with /dev/ttySx!)
+/dev/modem
+
+# Speed
+38400
+
+# Keep modem up even if connection fails
+persist
diff --git a/projectroot/etc/prelink.conf b/projectroot/etc/prelink.conf
new file mode 100644
index 000000000..e93b0d632
--- /dev/null
+++ b/projectroot/etc/prelink.conf
@@ -0,0 +1,7 @@
+-l /bin
+-l /usr/bin
+-l /sbin
+-l /usr/sbin
+-l /usr/libexec
+-l /lib
+-l /usr/lib
diff --git a/projectroot/etc/prelink.conf.d/apache2 b/projectroot/etc/prelink.conf.d/apache2
new file mode 100644
index 000000000..5b223bd74
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/apache2
@@ -0,0 +1,2 @@
+-l /usr/lib/apache2
+-l /usr/share/apache2/libexec
diff --git a/projectroot/etc/prelink.conf.d/classpath b/projectroot/etc/prelink.conf.d/classpath
new file mode 100644
index 000000000..3882ab32c
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/classpath
@@ -0,0 +1 @@
+-l /usr/lib/classpath
diff --git a/projectroot/etc/prelink.conf.d/directfb b/projectroot/etc/prelink.conf.d/directfb
new file mode 100644
index 000000000..67c3a2f9b
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/directfb
@@ -0,0 +1 @@
+-l /usr/lib/directfb-1.4-0-pure
diff --git a/projectroot/etc/prelink.conf.d/gstreamer b/projectroot/etc/prelink.conf.d/gstreamer
new file mode 100644
index 000000000..a01bf6d8b
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/gstreamer
@@ -0,0 +1 @@
+-l /usr/lib/gstreamer-0.10
diff --git a/projectroot/etc/prelink.conf.d/gstreamer1 b/projectroot/etc/prelink.conf.d/gstreamer1
new file mode 100644
index 000000000..4cbb9d9ce
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/gstreamer1
@@ -0,0 +1 @@
+-l /usr/lib/gstreamer-1.0
diff --git a/projectroot/etc/prelink.conf.d/qt4 b/projectroot/etc/prelink.conf.d/qt4
new file mode 100644
index 000000000..39d8995dd
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/qt4
@@ -0,0 +1 @@
+-l /usr/plugins
diff --git a/projectroot/etc/prelink.conf.d/xorg b/projectroot/etc/prelink.conf.d/xorg
new file mode 100644
index 000000000..88652fc9e
--- /dev/null
+++ b/projectroot/etc/prelink.conf.d/xorg
@@ -0,0 +1,2 @@
+-l /usr/lib/dri
+-l /usr/lib/xorg/modules
diff --git a/projectroot/etc/profile b/projectroot/etc/profile
new file mode 100644
index 000000000..259113d33
--- /dev/null
+++ b/projectroot/etc/profile
@@ -0,0 +1,27 @@
+# /etc/profile - config for init-shell
+#
+export HISTFILE=/tmp/.ash_history.$USER.$PPID
+
+# This fixes the backspace when telnetting in.
+if [ "$TERM" != "linux" ]; then
+ stty erase ^H
+fi
+
+# source this file for subsequent shells, too
+# (will also be sourced for init-shell)
+export ENV=/etc/profile.environment
+
+# Exec profile provided by other packages
+if [ -d /etc/profile.d ]; then
+ for file in /etc/profile.d/*.sh; do
+ if [ -r $file ]; then
+ . $file
+ fi
+ done
+ unset file
+fi
+# Exec local profile
+if [ -e "/etc/profile.local" ]; then
+ echo "running /etc/profile.local"
+ . /etc/profile.local
+fi
diff --git a/projectroot/etc/profile.d/systemd.sh b/projectroot/etc/profile.d/systemd.sh
new file mode 100644
index 000000000..f51d8b949
--- /dev/null
+++ b/projectroot/etc/profile.d/systemd.sh
@@ -0,0 +1,2 @@
+# set 'r', otherwise less breaks UTF-8 chars without UTF-8 locale
+export SYSTEMD_LESS="FrSXMK"
diff --git a/projectroot/etc/profile.environment b/projectroot/etc/profile.environment
new file mode 100644
index 000000000..25186e224
--- /dev/null
+++ b/projectroot/etc/profile.environment
@@ -0,0 +1,12 @@
+# /etc/profile.environment - config for sub-shells
+PS1="\\u@\\h:\\w "
+PS2=" >"
+PS4="+ "
+
+alias vim='vi'
+alias l='ls -l'
+alias ll='ls -al'
+alias ..='cd ..'
+alias ...='cd ../..'
+alias md='mkdir'
+alias rd='rmdir'
diff --git a/projectroot/etc/proftpd.conf b/projectroot/etc/proftpd.conf
new file mode 100644
index 000000000..e674ecfdf
--- /dev/null
+++ b/projectroot/etc/proftpd.conf
@@ -0,0 +1,78 @@
+#
+# Configuration by Robert Schwebel <r.schwebel@pengutronix.de>
+# Pengutronix, 2002/10/13
+#
+
+# ServerName "Master Webserver"
+
+# Spawn from inetd?
+#ServerType inetd
+ServerType standalone
+
+# don't give the server banner until _after_ authentication
+DeferWelcome off
+
+# Some basic defaults
+Port 21
+DefaultServer on
+Umask 022
+TimeoutLogin 120
+TimeoutIdle 600
+TimeoutNoTransfer 900
+TimeoutStalled 3600
+
+# User and group
+User root
+Group root
+
+# This is a non-customer usable name, (ie they should be connecting via www.{domain})
+# not 'hostname'. Therefore let's dump them in a dummy account and wait for them to
+# scream.
+DefaultRoot /
+
+# Performance, let's do DNS resolution when we process the logs...
+UseReverseDNS off
+
+# Turn off Ident lookups
+IdentLookups off
+
+
+# Where do we put the pid files?
+ScoreboardFile /var/run/proftpd/proftpd.scoreboard
+
+# Logging options
+TransferLog NONE
+
+# Some logging formats
+LogFormat default "%h %l %u %t \"%r\" %s %b"
+LogFormat auth "%v [%P] %h %t \"%r\" %s"
+LogFormat write "%h %l %u %t \"%r\" %s %b"
+
+
+# Global settings
+<Global>
+ DisplayChdir readme
+
+ # having to delete before uploading is a pain ;)
+ AllowOverwrite yes
+
+ # Logging
+ # file/dir access
+ # ExtendedLog /var/log/proftpd/access.log WRITE,READ write
+
+ # Record all logins
+ # ExtendedLog /var/log/proftpd/auth.log AUTH auth
+
+ # Paranoia logging level....
+ # ExtendedLog /var/log/proftpd/paranoid.log ALL default
+
+</Global>
+
+<Directory /home/*>
+ AllowOverwrite on
+</Directory>
+
+# Where to store the PID of the proftpd process in standalone mode
+PidFile /var/run/proftpd.pid
+
+DelayTable /var/run/proftpd/proftpd.delay
diff --git a/projectroot/etc/protocols b/projectroot/etc/protocols
new file mode 100644
index 000000000..04135041a
--- /dev/null
+++ b/projectroot/etc/protocols
@@ -0,0 +1,5 @@
+ip 0 IP # internet protocol v4
+icmp 1 ICMP # internet control message protocol
+tcp 6 TCP # transmission control protocol
+udp 17 UDP # user datagram protocol
+
diff --git a/projectroot/etc/pure-ftpd.conf b/projectroot/etc/pure-ftpd.conf
new file mode 100644
index 000000000..94fb81660
--- /dev/null
+++ b/projectroot/etc/pure-ftpd.conf
@@ -0,0 +1 @@
+# FIXME
diff --git a/projectroot/etc/radvd.conf b/projectroot/etc/radvd.conf
new file mode 100644
index 000000000..5e1babe0b
--- /dev/null
+++ b/projectroot/etc/radvd.conf
@@ -0,0 +1,11 @@
+
+interface RADVD_INTERFACE
+{
+ AdvSendAdvert on;
+
+ prefix RADVD_GATEWAY_SUBNET
+ {
+ AdvOnLink on;
+ AdvAutonomous on;
+ };
+};
diff --git a/projectroot/etc/rc.once.d/dropbear b/projectroot/etc/rc.once.d/dropbear
new file mode 100644
index 000000000..a126b26db
--- /dev/null
+++ b/projectroot/etc/rc.once.d/dropbear
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+DROPBEAR_RSAKEY_DEFAULT="@KEYDIR@/dropbear_rsa_host_key"
+DROPBEAR_DSSKEY_DEFAULT="@KEYDIR@/dropbear_dss_host_key"
+
+test -n "$DROPBEAR_RSAKEY" || \
+ DROPBEAR_RSAKEY=$DROPBEAR_RSAKEY_DEFAULT
+test -n "$DROPBEAR_DSSKEY" || \
+ DROPBEAR_DSSKEY=$DROPBEAR_DSSKEY_DEFAULT
+
+gen_key() {
+
+ key_type=$1
+ key_file=$2
+
+ rm -f $key_file > /dev/null 2>&1
+
+ echo -n "generating $key_type key..."
+ dropbearkey -t $key_type -f $key_file > /dev/null 2>&1
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+}
+
+[ -e "$DROPBEAR_RSAKEY" ] || gen_key rsa "$DROPBEAR_RSAKEY"
+[ -e "$DROPBEAR_DSSKEY" ] || gen_key dss "$DROPBEAR_DSSKEY"
+
diff --git a/projectroot/etc/rc.once.d/fc-cache b/projectroot/etc/rc.once.d/fc-cache
new file mode 100644
index 000000000..3eb58c393
--- /dev/null
+++ b/projectroot/etc/rc.once.d/fc-cache
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo "Creating fontconfig cache..."
+fc-cache
diff --git a/projectroot/etc/rc.once.d/machine-id b/projectroot/etc/rc.once.d/machine-id
new file mode 100644
index 000000000..3164635b3
--- /dev/null
+++ b/projectroot/etc/rc.once.d/machine-id
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+MACHINE_ID="/etc/machine-id"
+
+if mount | grep -q "${MACHINE_ID}"; then
+ id="$(cat "${MACHINE_ID}")" &&
+ umount "${MACHINE_ID}" &&
+ echo $id > "${MACHINE_ID}"
+elif [ ! -s "${MACHINE_ID}" ]; then
+ id="$(uuidgen)" &&
+ echo ${id//-} > "${MACHINE_ID}"
+fi &&
+chmod 0444 "${MACHINE_ID}"
+
diff --git a/projectroot/etc/rc.once.d/openssh b/projectroot/etc/rc.once.d/openssh
new file mode 100644
index 000000000..83e6e37de
--- /dev/null
+++ b/projectroot/etc/rc.once.d/openssh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+OPENSSH_RSAKEY_DEFAULT="/etc/ssh/ssh_host_rsa_key"
+OPENSSH_DSAKEY_DEFAULT="/etc/ssh/ssh_host_dsa_key"
+
+test -n "$OPENSSH_RSAKEY" || \
+ OPENSSH_RSAKEY=$OPENSSH_RSAKEY_DEFAULT
+test -n "$OPENSSH_DSAKEY" || \
+ OPENSSH_DSAKEY=$OPENSSH_DSAKEY_DEFAULT
+
+gen_key() {
+
+ key_type=$1
+ key_file=$2
+
+ rm -f $key_file > /dev/null 2>&1
+
+ echo -n "generating $key_type key..."
+ ssh-keygen -t $key_type -f $key_file -N "" > /dev/null 2>&1
+
+ if [ "$?" = "0" ]; then
+ echo "done"
+ else
+ echo "failed"
+ exit 1
+ fi
+}
+
+gen_key rsa "$OPENSSH_RSAKEY"
+gen_key dsa "$OPENSSH_DSAKEY"
+
diff --git a/projectroot/etc/rc.once.d/prelink b/projectroot/etc/rc.once.d/prelink
new file mode 100644
index 000000000..52682a55f
--- /dev/null
+++ b/projectroot/etc/rc.once.d/prelink
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+SKIP_ON_NFSROOT=@NFSSKIP@
+
+if [ "$SKIP_ON_NFSROOT" = "yes" ]; then
+ if cat /proc/cmdline | grep -q 'root=/dev/nfs'; then
+ echo "Skipping prelink on nfsroot"
+ exit 0
+ fi
+fi
+
+echo "running prelink..."
+
+cat /etc/prelink.conf /etc/prelink.conf.d/* > /tmp/prelink.conf 2>/dev/null
+
+prelink -afR -c /tmp/prelink.conf
+
diff --git a/projectroot/etc/resolv.conf b/projectroot/etc/resolv.conf
new file mode 100644
index 000000000..fbfc8d9e5
--- /dev/null
+++ b/projectroot/etc/resolv.conf
@@ -0,0 +1 @@
+@NAMESERVER_LINE@
diff --git a/projectroot/etc/rsyncd.conf b/projectroot/etc/rsyncd.conf
new file mode 100644
index 000000000..94a89b09e
--- /dev/null
+++ b/projectroot/etc/rsyncd.conf
@@ -0,0 +1,31 @@
+#
+# generic implementation
+#
+uid = root
+gid = root
+use chroot = no
+max connections = 4
+syslog facility = local5
+pid file = /var/run/rsyncd.pid
+
+#[ftp]
+# path = /var/ftp/pub
+# comment = whole ftp area (approx 6.1 GB)
+#
+#[sambaftp]
+# path = /var/ftp/pub/samba
+# comment = Samba ftp area (approx 300 MB)
+#
+#[rsyncftp]
+# path = /var/ftp/pub/rsync
+# comment = rsync ftp area (approx 6 MB)
+#
+#[sambawww]
+# path = /public_html/samba
+# comment = Samba WWW pages (approx 240 MB)
+#
+#[cvs]
+# path = /data/cvs
+# comment = CVS repository (requires authentication)
+# auth users = tridge, susan
+# secrets file = /etc/rsyncd.secrets \ No newline at end of file
diff --git a/projectroot/etc/rsyncd.secrets b/projectroot/etc/rsyncd.secrets
new file mode 100644
index 000000000..05b507d42
--- /dev/null
+++ b/projectroot/etc/rsyncd.secrets
@@ -0,0 +1,2 @@
+tridge:mypass
+susan:herpass
diff --git a/projectroot/etc/rsyslog.conf b/projectroot/etc/rsyslog.conf
new file mode 100644
index 000000000..94115e46d
--- /dev/null
+++ b/projectroot/etc/rsyslog.conf
@@ -0,0 +1,11 @@
+# Begin /etc/rsyslog.conf
+
+$ModLoad immark # provides --MARK-- message capability
+$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
+$ModLoad imklog # provides kernel logging support (previously done by rklogd)
+
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+user.* -/var/log/user.log
+
+# End /etc/rsyslog.conf
diff --git a/projectroot/etc/samba/smb.conf b/projectroot/etc/samba/smb.conf
new file mode 100644
index 000000000..188d85c1f
--- /dev/null
+++ b/projectroot/etc/samba/smb.conf
@@ -0,0 +1,38 @@
+; /etc/samba/smb.conf
+; Sample smbconf file provided by ptxdist. Please
+; consult samba manual page if you wish to make
+; changes
+[global]
+; guest account = nobody
+ server string = PTXdist sample samba server
+ log file = /var/log/samba-log.%m
+ lock directory = /var/lock
+ share modes = yes
+ security = share
+ encrypt passwords = no
+ guest account = root
+ interfaces = eth0
+
+[homes]
+ comment = Home Directories
+ browseable = no
+ writable = no
+ create mask = 0700
+ directory mask = 0700
+
+[share]
+ comment = Data Directory
+ path = /home
+ browseable = yes
+ read only = no
+ create mode = 0750
+ public = yes
+
+[printers]
+ comment = All Printers
+ browseable = no
+ path = /tmp
+ printable = yes
+ public = no
+ writable = no
+ create mode = 0700
diff --git a/projectroot/etc/screenrc b/projectroot/etc/screenrc
new file mode 100644
index 000000000..108c87fad
--- /dev/null
+++ b/projectroot/etc/screenrc
@@ -0,0 +1,89 @@
+
+# ------------------------------------------------------------------------------
+# SCREEN SETTINGS
+# ------------------------------------------------------------------------------
+
+startup_message off
+#nethack on
+
+#defflow on # will force screen to process ^S/^Q
+deflogin on
+#autodetach off
+
+# turn visual bell on
+vbell on
+vbell_msg " Wuff ---- Wuff!! "
+
+# define a bigger scrollback, default is 100 lines
+defscrollback 1024
+
+# ------------------------------------------------------------------------------
+# SCREEN KEYBINDINGS
+# ------------------------------------------------------------------------------
+
+# Remove some stupid / dangerous key bindings
+bind ^k
+#bind L
+bind ^\
+# Make them better
+bind \\ quit
+bind K kill
+bind I login on
+bind O login off
+bind } history
+
+# An example of a "screen scraper" which will launch urlview on the current
+# screen window
+#
+#bind ^B eval "hardcopy_append off" "hardcopy -h $HOME/.screen-urlview" "screen urlview $HOME/.screen-urlview"
+
+# ------------------------------------------------------------------------------
+# TERMINAL SETTINGS
+# ------------------------------------------------------------------------------
+
+# The vt100 description does not mention "dl". *sigh*
+termcapinfo vt100 dl=5\E[M
+
+# turn sending of screen messages to hardstatus off
+hardstatus off
+# Set the hardstatus prop on gui terms to set the titlebar/icon title
+termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007
+# use this for the hard status string
+hardstatus string "%h%? users: %u%?"
+
+# An alternative hardstatus to display a bar at the bottom listing the
+# windownames and highlighting the current windowname in blue. (This is only
+# enabled if there is no hardstatus setting for your terminal)
+#
+#hardstatus lastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
+
+# set these terminals up to be 'optimal' instead of vt100
+termcapinfo xterm*|linux*|rxvt*|Eterm* OP
+
+# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
+# (This fixes the "Aborted because of window size change" konsole symptoms found
+# in bug #134198)
+termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
+
+# To get screen to add lines to xterm's scrollback buffer, uncomment the
+# following termcapinfo line which tells xterm to use the normal screen buffer
+# (which has scrollback), not the alternate screen buffer.
+#
+#termcapinfo xterm|xterms|xs|rxvt ti@:te@
+
+# ------------------------------------------------------------------------------
+# STARTUP SCREENS
+# ------------------------------------------------------------------------------
+
+# Example of automatically running some programs in windows on screen startup.
+#
+# The following will open top in the first window, an ssh session to monkey
+# in the next window, and then open mutt and tail in windows 8 and 9
+# respectively.
+#
+# screen top
+# screen -t monkey ssh monkey
+# screen -t mail 8 mutt
+# screen -t daemon 9 tail -f /var/log/daemon.log
+
+caption always "%{= kc}%?%-Lw%?%{= kY}%n*%f %t%?(%u)%?%{= kc}%?%+Lw%?"
diff --git a/projectroot/etc/services b/projectroot/etc/services
new file mode 100644
index 000000000..5d6e5c613
--- /dev/null
+++ b/projectroot/etc/services
@@ -0,0 +1,563 @@
+# Network services, Internet style
+#
+# Note that it is presently the policy of IANA to assign a single well-known
+# port number for both TCP and UDP; hence, officially ports have two entries
+# even if the protocol doesn't support UDP operations.
+#
+# Updated from http://www.iana.org/assignments/port-numbers and other
+# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
+# New ports will be added on request if they have been officially assigned
+# by IANA and used in the real-world or are needed by a debian package.
+# If you need a huge list of used numbers please install the nmap package.
+
+tcpmux 1/tcp # TCP port service multiplexer
+echo 7/tcp
+echo 7/udp
+discard 9/tcp sink null
+discard 9/udp sink null
+systat 11/tcp users
+daytime 13/tcp
+daytime 13/udp
+netstat 15/tcp
+qotd 17/tcp quote
+msp 18/tcp # message send protocol
+msp 18/udp
+chargen 19/tcp ttytst source
+chargen 19/udp ttytst source
+ftp-data 20/tcp
+ftp 21/tcp
+fsp 21/udp fspd
+ssh 22/tcp # SSH Remote Login Protocol
+ssh 22/udp
+telnet 23/tcp
+smtp 25/tcp mail
+time 37/tcp timserver
+time 37/udp timserver
+rlp 39/udp resource # resource location
+nameserver 42/tcp name # IEN 116
+whois 43/tcp nicname
+tacacs 49/tcp # Login Host Protocol (TACACS)
+tacacs 49/udp
+re-mail-ck 50/tcp # Remote Mail Checking Protocol
+re-mail-ck 50/udp
+domain 53/tcp # name-domain server
+domain 53/udp
+mtp 57/tcp # deprecated
+tacacs-ds 65/tcp # TACACS-Database Service
+tacacs-ds 65/udp
+bootps 67/tcp # BOOTP server
+bootps 67/udp
+bootpc 68/tcp # BOOTP client
+bootpc 68/udp
+tftp 69/udp
+gopher 70/tcp # Internet Gopher
+gopher 70/udp
+rje 77/tcp netrjs
+finger 79/tcp
+www 80/tcp http # WorldWideWeb HTTP
+www 80/udp # HyperText Transfer Protocol
+link 87/tcp ttylink
+kerberos 88/tcp kerberos5 krb5 kerberos-sec # Kerberos v5
+kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5
+supdup 95/tcp
+hostnames 101/tcp hostname # usually from sri-nic
+iso-tsap 102/tcp tsap # part of ISODE
+acr-nema 104/tcp dicom # Digital Imag. & Comm. 300
+acr-nema 104/udp dicom # Digital Imag. & Comm. 300
+csnet-ns 105/tcp cso-ns # also used by CSO name server
+csnet-ns 105/udp cso-ns
+rtelnet 107/tcp # Remote Telnet
+rtelnet 107/udp
+pop2 109/tcp postoffice pop-2 # POP version 2
+pop2 109/udp pop-2
+pop3 110/tcp pop-3 # POP version 3
+pop3 110/udp pop-3
+sunrpc 111/tcp portmapper # RPC 4.0 portmapper
+sunrpc 111/udp portmapper
+auth 113/tcp authentication tap ident
+sftp 115/tcp
+uucp-path 117/tcp
+nntp 119/tcp readnews untp # USENET News Transfer Protocol
+ntp 123/tcp
+ntp 123/udp # Network Time Protocol
+pwdgen 129/tcp # PWDGEN service
+pwdgen 129/udp # PWDGEN service
+loc-srv 135/tcp epmap # Location Service
+loc-srv 135/udp epmap
+netbios-ns 137/tcp # NETBIOS Name Service
+netbios-ns 137/udp
+netbios-dgm 138/tcp # NETBIOS Datagram Service
+netbios-dgm 138/udp
+netbios-ssn 139/tcp # NETBIOS session service
+netbios-ssn 139/udp
+imap2 143/tcp imap # Interim Mail Access P 2 and 4
+imap2 143/udp imap
+snmp 161/tcp # Simple Net Mgmt Protocol
+snmp 161/udp # Simple Net Mgmt Protocol
+snmp-trap 162/tcp snmptrap # Traps for SNMP
+snmp-trap 162/udp snmptrap # Traps for SNMP
+cmip-man 163/tcp # ISO mgmt over IP (CMOT)
+cmip-man 163/udp
+cmip-agent 164/tcp
+cmip-agent 164/udp
+mailq 174/tcp # Mailer transport queue for Zmailer
+mailq 174/udp # Mailer transport queue for Zmailer
+xdmcp 177/tcp # X Display Mgr. Control Proto
+xdmcp 177/udp
+nextstep 178/tcp NeXTStep NextStep # NeXTStep window
+nextstep 178/udp NeXTStep NextStep # server
+bgp 179/tcp # Border Gateway Protocol
+bgp 179/udp
+prospero 191/tcp # Cliff Neuman's Prospero
+prospero 191/udp
+irc 194/tcp # Internet Relay Chat
+irc 194/udp
+smux 199/tcp # SNMP Unix Multiplexer
+smux 199/udp
+at-rtmp 201/tcp # AppleTalk routing
+at-rtmp 201/udp
+at-nbp 202/tcp # AppleTalk name binding
+at-nbp 202/udp
+at-echo 204/tcp # AppleTalk echo
+at-echo 204/udp
+at-zis 206/tcp # AppleTalk zone information
+at-zis 206/udp
+qmtp 209/tcp # Quick Mail Transfer Protocol
+qmtp 209/udp # Quick Mail Transfer Protocol
+z3950 210/tcp wais # NISO Z39.50 database
+z3950 210/udp wais
+ipx 213/tcp # IPX
+ipx 213/udp
+imap3 220/tcp # Interactive Mail Access
+imap3 220/udp # Protocol v3
+pawserv 345/tcp # Perf Analysis Workbench
+pawserv 345/udp
+zserv 346/tcp # Zebra server
+zserv 346/udp
+fatserv 347/tcp # Fatmen Server
+fatserv 347/udp
+rpc2portmap 369/tcp
+rpc2portmap 369/udp # Coda portmapper
+codaauth2 370/tcp
+codaauth2 370/udp # Coda authentication server
+clearcase 371/tcp Clearcase
+clearcase 371/udp Clearcase
+ulistserv 372/tcp # UNIX Listserv
+ulistserv 372/udp
+ldap 389/tcp # Lightweight Directory Access Protocol
+ldap 389/udp
+imsp 406/tcp # Interactive Mail Support Protocol
+imsp 406/udp
+https 443/tcp # http protocol over TLS/SSL
+https 443/udp
+snpp 444/tcp # Simple Network Paging Protocol
+snpp 444/udp
+microsoft-ds 445/tcp # Microsoft Naked CIFS
+microsoft-ds 445/udp
+kpasswd 464/tcp
+kpasswd 464/udp
+saft 487/tcp # Simple Asynchronous File Transfer
+saft 487/udp
+isakmp 500/tcp # IPsec - Internet Security Association
+isakmp 500/udp # and Key Management Protocol
+rtsp 554/tcp # Real Time Stream Control Protocol
+rtsp 554/udp # Real Time Stream Control Protocol
+nqs 607/tcp # Network Queuing system
+nqs 607/udp
+npmp-local 610/tcp dqs313_qmaster # npmp-local / DQS
+npmp-local 610/udp dqs313_qmaster
+npmp-gui 611/tcp dqs313_execd # npmp-gui / DQS
+npmp-gui 611/udp dqs313_execd
+hmmp-ind 612/tcp dqs313_intercell # HMMP Indication / DQS
+hmmp-ind 612/udp dqs313_intercell
+qmqp 628/tcp
+qmqp 628/udp
+ipp 631/tcp # Internet Printing Protocol
+ipp 631/udp
+#
+# UNIX specific services
+#
+exec 512/tcp
+biff 512/udp comsat
+login 513/tcp
+who 513/udp whod
+shell 514/tcp cmd # no passwords used
+syslog 514/udp
+printer 515/tcp spooler # line printer spooler
+talk 517/udp
+ntalk 518/udp
+route 520/udp router routed # RIP
+timed 525/udp timeserver
+tempo 526/tcp newdate
+courier 530/tcp rpc
+conference 531/tcp chat
+netnews 532/tcp readnews
+netwall 533/udp # for emergency broadcasts
+gdomap 538/tcp # GNUstep distributed objects
+gdomap 538/udp
+uucp 540/tcp uucpd # uucp daemon
+klogin 543/tcp # Kerberized `rlogin' (v5)
+kshell 544/tcp krcmd # Kerberized `rsh' (v5)
+afpovertcp 548/tcp # AFP over TCP
+afpovertcp 548/udp
+remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
+nntps 563/tcp snntp # NNTP over SSL
+nntps 563/udp snntp
+submission 587/tcp # Submission [RFC4409]
+submission 587/udp
+ldaps 636/tcp # LDAP over SSL
+ldaps 636/udp
+tinc 655/tcp # tinc control port
+tinc 655/udp
+silc 706/tcp
+silc 706/udp
+kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
+#
+webster 765/tcp # Network dictionary
+webster 765/udp
+rsync 873/tcp
+rsync 873/udp
+ftps-data 989/tcp # FTP over SSL (data)
+ftps 990/tcp
+telnets 992/tcp # Telnet over SSL
+telnets 992/udp
+imaps 993/tcp # IMAP over SSL
+imaps 993/udp
+ircs 994/tcp # IRC over SSL
+ircs 994/udp
+pop3s 995/tcp # POP-3 over SSL
+pop3s 995/udp
+#
+# From ``Assigned Numbers'':
+#
+#> The Registered Ports are not controlled by the IANA and on most systems
+#> can be used by ordinary user processes or programs executed by ordinary
+#> users.
+#
+#> Ports are used in the TCP [45,106] to name the ends of logical
+#> connections which carry long term conversations. For the purpose of
+#> providing services to unknown callers, a service contact port is
+#> defined. This list specifies the port used by the server process as its
+#> contact port. While the IANA can not control uses of these ports it
+#> does register or list uses of these ports as a convienence to the
+#> community.
+#
+socks 1080/tcp # socks proxy server
+socks 1080/udp
+proofd 1093/tcp
+proofd 1093/udp
+rootd 1094/tcp
+rootd 1094/udp
+openvpn 1194/tcp
+openvpn 1194/udp
+rmiregistry 1099/tcp # Java RMI Registry
+rmiregistry 1099/udp
+kazaa 1214/tcp
+kazaa 1214/udp
+nessus 1241/tcp # Nessus vulnerability
+nessus 1241/udp # assessment scanner
+lotusnote 1352/tcp lotusnotes # Lotus Note
+lotusnote 1352/udp lotusnotes
+ms-sql-s 1433/tcp # Microsoft SQL Server
+ms-sql-s 1433/udp
+ms-sql-m 1434/tcp # Microsoft SQL Monitor
+ms-sql-m 1434/udp
+ingreslock 1524/tcp
+ingreslock 1524/udp
+prospero-np 1525/tcp # Prospero non-privileged
+prospero-np 1525/udp
+datametrics 1645/tcp old-radius
+datametrics 1645/udp old-radius
+sa-msg-port 1646/tcp old-radacct
+sa-msg-port 1646/udp old-radacct
+kermit 1649/tcp
+kermit 1649/udp
+l2f 1701/tcp l2tp
+l2f 1701/udp l2tp
+radius 1812/tcp
+radius 1812/udp
+radius-acct 1813/tcp radacct # Radius Accounting
+radius-acct 1813/udp radacct
+msnp 1863/tcp # MSN Messenger
+msnp 1863/udp
+unix-status 1957/tcp # remstats unix-status server
+log-server 1958/tcp # remstats log server
+remoteping 1959/tcp # remstats remoteping server
+cisco-sccp 2000/tcp sieve # Cisco SCCP
+cisco-sccp 2000/udp
+search 2010/tcp ndtp
+pipe_server 2010/tcp
+nfs 2049/tcp # Network File System
+nfs 2049/udp # Network File System
+rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99
+rtcm-sc104 2101/udp
+cvspserver 2401/tcp # CVS client/server operations
+cvspserver 2401/udp
+venus 2430/tcp # codacon port
+venus 2430/udp # Venus callback/wbc interface
+venus-se 2431/tcp # tcp side effects
+venus-se 2431/udp # udp sftp side effect
+codasrv 2432/tcp # not used
+codasrv 2432/udp # server port
+codasrv-se 2433/tcp # tcp side effects
+codasrv-se 2433/udp # udp sftp side effect
+mon 2583/tcp # MON
+mon 2583/udp
+dict 2628/tcp # Dictionary server
+dict 2628/udp
+gpsd 2947/tcp
+gpsd 2947/udp
+gds_db 3050/tcp # InterBase server
+gds_db 3050/udp
+icpv2 3130/tcp icp # Internet Cache Protocol
+icpv2 3130/udp icp
+mysql 3306/tcp
+mysql 3306/udp
+nut 3493/tcp # Network UPS Tools
+nut 3493/udp
+distcc 3632/tcp # distributed compiler
+distcc 3632/udp
+daap 3689/tcp # Digital Audio Access Protocol
+daap 3689/udp
+svn 3690/tcp subversion # Subversion protocol
+svn 3690/udp subversion
+suucp 4031/tcp # UUCP over SSL
+suucp 4031/udp # UUCP over SSL
+sysrqd 4094/tcp # sysrq daemon
+sysrqd 4094/udp # sysrq daemon
+remctl 4373/tcp # Remote Authenticated Command Service
+remctl 4373/udp # Remote Authenticated Command Service
+iax 4569/tcp # Inter-Asterisk eXchange
+iax 4569/udp
+radmin-port 4899/tcp # RAdmin Port
+radmin-port 4899/udp
+rfe 5002/udp # Radio Free Ethernet
+rfe 5002/tcp
+mmcc 5050/tcp # multimedia conference control tool (Yahoo IM)
+mmcc 5050/udp
+sip 5060/tcp # Session Initiation Protocol
+sip 5060/udp
+sip-tls 5061/tcp
+sip-tls 5061/udp
+aol 5190/tcp # AIM
+aol 5190/udp
+xmpp-client 5222/tcp jabber-client # Jabber Client Connection
+xmpp-client 5222/udp jabber-client
+xmpp-server 5269/tcp jabber-server # Jabber Server Connection
+xmpp-server 5269/udp jabber-server
+cfengine 5308/tcp
+cfengine 5308/udp
+mdns 5353/tcp # Multicast DNS
+mdns 5353/udp # Multicast DNS
+postgresql 5432/tcp postgres # PostgreSQL Database
+postgresql 5432/udp postgres
+freeciv 5556/tcp rptp # Freeciv gameplay
+freeciv 5556/udp
+ggz 5688/tcp # GGZ Gaming Zone
+ggz 5688/udp # GGZ Gaming Zone
+x11 6000/tcp x11-0 # X Window System
+x11 6000/udp x11-0
+x11-1 6001/tcp
+x11-1 6001/udp
+x11-2 6002/tcp
+x11-2 6002/udp
+x11-3 6003/tcp
+x11-3 6003/udp
+x11-4 6004/tcp
+x11-4 6004/udp
+x11-5 6005/tcp
+x11-5 6005/udp
+x11-6 6006/tcp
+x11-6 6006/udp
+x11-7 6007/tcp
+x11-7 6007/udp
+gnutella-svc 6346/tcp # gnutella
+gnutella-svc 6346/udp
+gnutella-rtr 6347/tcp # gnutella
+gnutella-rtr 6347/udp
+sge_qmaster 6444/tcp # Grid Engine Qmaster Service
+sge_qmaster 6444/udp # Grid Engine Qmaster Service
+sge_execd 6445/tcp # Grid Engine Execution Service
+sge_execd 6445/udp # Grid Engine Execution Service
+afs3-fileserver 7000/tcp bbs # file server itself
+afs3-fileserver 7000/udp bbs
+afs3-callback 7001/tcp # callbacks to cache managers
+afs3-callback 7001/udp
+afs3-prserver 7002/tcp # users & groups database
+afs3-prserver 7002/udp
+afs3-vlserver 7003/tcp # volume location database
+afs3-vlserver 7003/udp
+afs3-kaserver 7004/tcp # AFS/Kerberos authentication
+afs3-kaserver 7004/udp
+afs3-volser 7005/tcp # volume management server
+afs3-volser 7005/udp
+afs3-errors 7006/tcp # error interpretation service
+afs3-errors 7006/udp
+afs3-bos 7007/tcp # basic overseer process
+afs3-bos 7007/udp
+afs3-update 7008/tcp # server-to-server updater
+afs3-update 7008/udp
+afs3-rmtsys 7009/tcp # remote cache manager service
+afs3-rmtsys 7009/udp
+font-service 7100/tcp xfs # X Font Service
+font-service 7100/udp xfs
+http-alt 8080/tcp webcache # WWW caching service
+http-alt 8080/udp # WWW caching service
+bacula-dir 9101/tcp # Bacula Director
+bacula-dir 9101/udp
+bacula-fd 9102/tcp # Bacula File Daemon
+bacula-fd 9102/udp
+bacula-sd 9103/tcp # Bacula Storage Daemon
+bacula-sd 9103/udp
+amanda 10080/tcp # amanda backup services
+amanda 10080/udp
+hkp 11371/tcp # OpenPGP HTTP Keyserver
+hkp 11371/udp # OpenPGP HTTP Keyserver
+bprd 13720/tcp # VERITAS NetBackup
+bprd 13720/udp
+bpdbm 13721/tcp # VERITAS NetBackup
+bpdbm 13721/udp
+bpjava-msvc 13722/tcp # BP Java MSVC Protocol
+bpjava-msvc 13722/udp
+vnetd 13724/tcp # Veritas Network Utility
+vnetd 13724/udp
+bpcd 13782/tcp # VERITAS NetBackup
+bpcd 13782/udp
+vopied 13783/tcp # VERITAS NetBackup
+vopied 13783/udp
+wnn6 22273/tcp # wnn6
+wnn6 22273/udp
+
+#
+# Datagram Delivery Protocol services
+#
+rtmp 1/ddp # Routing Table Maintenance Protocol
+nbp 2/ddp # Name Binding Protocol
+echo 4/ddp # AppleTalk Echo Protocol
+zip 6/ddp # Zone Information Protocol
+
+#=========================================================================
+# The remaining port numbers are not as allocated by IANA.
+#=========================================================================
+
+# Kerberos (Project Athena/MIT) services
+# Note that these are for Kerberos v4, and are unofficial. Sites running
+# v4 should uncomment these and comment out the v5 entries above.
+#
+kerberos4 750/udp kerberos-iv kdc # Kerberos (server)
+kerberos4 750/tcp kerberos-iv kdc
+kerberos_master 751/udp # Kerberos authentication
+kerberos_master 751/tcp
+passwd_server 752/udp # Kerberos passwd server
+krb_prop 754/tcp krb5_prop hprop # Kerberos slave propagation
+krbupdate 760/tcp kreg # Kerberos registration
+swat 901/tcp # swat
+kpop 1109/tcp # Pop with Kerberos
+knetd 2053/tcp # Kerberos de-multiplexor
+zephyr-srv 2102/udp # Zephyr server
+zephyr-clt 2103/udp # Zephyr serv-hm connection
+zephyr-hm 2104/udp # Zephyr hostmanager
+eklogin 2105/tcp # Kerberos encrypted rlogin
+# Hmmm. Are we using Kv4 or Kv5 now? Worrying.
+# The following is probably Kerberos v5 --- ajt@debian.org (11/02/2000)
+kx 2111/tcp # X over Kerberos
+iprop 2121/tcp # incremental propagation
+#
+# Unofficial but necessary (for NetBSD) services
+#
+supfilesrv 871/tcp # SUP server
+supfiledbg 1127/tcp # SUP debugging
+
+#
+# Services added for the Debian GNU/Linux distribution
+#
+linuxconf 98/tcp # LinuxConf
+poppassd 106/tcp # Eudora
+poppassd 106/udp
+ssmtp 465/tcp smtps # SMTP over SSL
+moira_db 775/tcp # Moira database
+moira_update 777/tcp # Moira update protocol
+moira_ureg 779/udp # Moira user registration
+spamd 783/tcp # spamassassin daemon
+omirr 808/tcp omirrd # online mirror
+omirr 808/udp omirrd
+customs 1001/tcp # pmake customs server
+customs 1001/udp
+skkserv 1178/tcp # skk jisho server port
+predict 1210/udp # predict -- satellite tracking
+rmtcfg 1236/tcp # Gracilis Packeten remote config server
+wipld 1300/tcp # Wipl network monitor
+xtel 1313/tcp # french minitel
+xtelw 1314/tcp # french minitel
+support 1529/tcp # GNATS
+cfinger 2003/tcp # GNU Finger
+frox 2121/tcp # frox: caching ftp proxy
+ninstall 2150/tcp # ninstall service
+ninstall 2150/udp
+zebrasrv 2600/tcp # zebra service
+zebra 2601/tcp # zebra vty
+ripd 2602/tcp # ripd vty (zebra)
+ripngd 2603/tcp # ripngd vty (zebra)
+ospfd 2604/tcp # ospfd vty (zebra)
+bgpd 2605/tcp # bgpd vty (zebra)
+ospf6d 2606/tcp # ospf6d vty (zebra)
+ospfapi 2607/tcp # OSPF-API
+isisd 2608/tcp # ISISd vty (zebra)
+afbackup 2988/tcp # Afbackup system
+afbackup 2988/udp
+afmbackup 2989/tcp # Afmbackup system
+afmbackup 2989/udp
+xtell 4224/tcp # xtell server
+fax 4557/tcp # FAX transmission service (old)
+hylafax 4559/tcp # HylaFAX client-server protocol (new)
+distmp3 4600/tcp # distmp3host daemon
+munin 4949/tcp lrrd # Munin
+enbd-cstatd 5051/tcp # ENBD client statd
+enbd-sstatd 5052/tcp # ENBD server statd
+pcrd 5151/tcp # PCR-1000 Daemon
+noclog 5354/tcp # noclogd with TCP (nocol)
+noclog 5354/udp # noclogd with UDP (nocol)
+hostmon 5355/tcp # hostmon uses TCP (nocol)
+hostmon 5355/udp # hostmon uses UDP (nocol)
+rplay 5555/udp # RPlay audio service
+nsca 5667/tcp # Nagios Agent - NSCA
+mrtd 5674/tcp # MRT Routing Daemon
+bgpsim 5675/tcp # MRT Routing Simulator
+canna 5680/tcp # cannaserver
+sane-port 6566/tcp sane saned # SANE network scanner daemon
+ircd 6667/tcp # Internet Relay Chat
+zope-ftp 8021/tcp # zope management by ftp
+tproxy 8081/tcp # Transparent Proxy
+omniorb 8088/tcp # OmniORB
+omniorb 8088/udp
+clc-build-daemon 8990/tcp # Common lisp build daemon
+xinetd 9098/tcp
+mandelspawn 9359/udp mandelbrot # network mandelbrot
+git 9418/tcp # Git Version Control System
+zope 9673/tcp # zope server
+webmin 10000/tcp
+kamanda 10081/tcp # amanda backup services (Kerberos)
+kamanda 10081/udp
+amandaidx 10082/tcp # amanda backup services
+amidxtape 10083/tcp # amanda backup services
+smsqp 11201/tcp # Alamin SMS gateway
+smsqp 11201/udp
+xpilot 15345/tcp # XPilot Contact Port
+xpilot 15345/udp
+sgi-cmsd 17001/udp # Cluster membership services daemon
+sgi-crsd 17002/udp
+sgi-gcd 17003/udp # SGI Group membership daemon
+sgi-cad 17004/tcp # Cluster Admin daemon
+isdnlog 20011/tcp # isdn logging system
+isdnlog 20011/udp
+vboxd 20012/tcp # voice box system
+vboxd 20012/udp
+binkp 24554/tcp # binkp fidonet protocol
+asp 27374/tcp # Address Search Protocol
+asp 27374/udp
+csync2 30865/tcp # cluster synchronization tool
+dircproxy 57000/tcp # Detachable IRC Proxy
+tfido 60177/tcp # fidonet EMSI over telnet
+fido 60179/tcp # fidonet EMSI over TCP
+
+# Local services
diff --git a/projectroot/etc/shadow b/projectroot/etc/shadow
new file mode 100644
index 000000000..02e92ce20
--- /dev/null
+++ b/projectroot/etc/shadow
@@ -0,0 +1,4 @@
+root::12215:0:99999:7:::
+daemon:*:14250:0:99999:7:::
+sshd:*:0:0:99999:7:::
+ftp::0:0:99999:7:::
diff --git a/projectroot/etc/smartd.conf b/projectroot/etc/smartd.conf
new file mode 100644
index 000000000..21b03b514
--- /dev/null
+++ b/projectroot/etc/smartd.conf
@@ -0,0 +1,2 @@
+# The word DEVICESCAN tells smartd to scan for all ATA and SCSI devices.
+DEVICESCAN
diff --git a/projectroot/etc/snmp/snmpd.conf b/projectroot/etc/snmp/snmpd.conf
new file mode 100644
index 000000000..8f4a197d5
--- /dev/null
+++ b/projectroot/etc/snmp/snmpd.conf
@@ -0,0 +1,193 @@
+###############################################################################
+#
+# EXAMPLE.conf:
+# An example configuration file for configuring the Net-SNMP agent ('snmpd')
+# See the 'snmpd.conf(5)' man page for details
+#
+# Some entries are deliberately commented out, and will need to be explicitly activated
+#
+###############################################################################
+#
+# AGENT BEHAVIOUR
+#
+
+# Listen for connections from the local system only
+agentAddress udp:127.0.0.1:161
+# Listen for connections on all interfaces (both IPv4 *and* IPv6)
+#agentAddress udp:161,udp6:[::1]:161
+
+
+
+###############################################################################
+#
+# SNMPv3 AUTHENTICATION
+#
+# Note that these particular settings don't actually belong here.
+# They should be copied to the file /var/net-snmp/snmpd.conf
+# and the passwords changed, before being uncommented in that file *only*.
+# Then restart the agent
+
+# createUser authOnlyUser MD5 "remember to change this password"
+# createUser authPrivUser SHA "remember to change this one too" DES
+# createUser internalUser MD5 "this is only ever used internally, but still change the password"
+
+# If you also change the usernames (which might be sensible),
+# then remember to update the other occurances in this example config file to match.
+
+
+
+###############################################################################
+#
+# ACCESS CONTROL
+#
+
+ # system + hrSystem groups only
+view systemonly included .1.3.6.1.2.1.1
+view systemonly included .1.3.6.1.2.1.25.1
+
+ # Full access from the local host
+#rocommunity public localhost
+ # Default access to basic system info
+ rocommunity public default -V systemonly
+
+ # Full access from an example network
+ # Adjust this network address to match your local
+ # settings, change the community string,
+ # and check the 'agentAddress' setting above
+#rocommunity secret 10.0.0.0/16
+
+ # Full read-only access for SNMPv3
+ rouser authOnlyUser
+ # Full write access for encrypted requests
+ # Remember to activate the 'createUser' lines above
+#rwuser authPrivUser priv
+
+# It's no longer typically necessary to use the full 'com2sec/group/access' configuration
+# r[ou]user and r[ow]community, together with suitable views, should cover most requirements
+
+
+
+###############################################################################
+#
+# SYSTEM INFORMATION
+#
+
+# Note that setting these values here, results in the corresponding MIB objects being 'read-only'
+# See snmpd.conf(5) for more details
+sysLocation Sitting on the Dock of the Bay
+sysContact Me <me@example.org>
+ # Application + End-to-End layers
+sysServices 72
+
+
+#
+# Process Monitoring
+#
+ # At least one 'mountd' process
+proc mountd
+ # No more than 4 'ntalkd' processes - 0 is OK
+proc ntalkd 4
+ # At least one 'sendmail' process, but no more than 10
+proc sendmail 10 1
+
+# Walk the UCD-SNMP-MIB::prTable to see the resulting output
+# Note that this table will be empty if there are no "proc" entries in the snmpd.conf file
+
+
+#
+# Disk Monitoring
+#
+ # 10MBs required on root disk, 5% free on /var, 10% free on all other disks
+disk / 10000
+disk /var 5%
+includeAllDisks 10%
+
+# Walk the UCD-SNMP-MIB::dskTable to see the resulting output
+# Note that this table will be empty if there are no "disk" entries in the snmpd.conf file
+
+
+#
+# System Load
+#
+ # Unacceptable 1-, 5-, and 15-minute load averages
+load 12 10 5
+
+# Walk the UCD-SNMP-MIB::laTable to see the resulting output
+# Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file
+
+
+
+###############################################################################
+#
+# ACTIVE MONITORING
+#
+
+ # send SNMPv1 traps
+ trapsink localhost public
+ # send SNMPv2c traps
+#trap2sink localhost public
+ # send SNMPv2c INFORMs
+#informsink localhost public
+
+# Note that you typically only want *one* of these three lines
+# Uncommenting two (or all three) will result in multiple copies of each notification.
+
+
+#
+# Event MIB - automatically generate alerts
+#
+ # Remember to activate the 'createUser' lines above
+iquerySecName internalUser
+rouser internalUser
+ # generate traps on UCD error conditions
+defaultMonitors yes
+ # generate traps on linkUp/Down
+linkUpDownNotifications yes
+
+
+
+###############################################################################
+#
+# EXTENDING THE AGENT
+#
+
+#
+# Arbitrary extension commands
+#
+ extend test1 /bin/echo Hello, world!
+ extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35
+#extend-sh test3 /bin/sh /tmp/shtest
+
+# Note that this last entry requires the script '/tmp/shtest' to be created first,
+# containing the same three shell commands, before the line is uncommented
+
+# Walk the NET-SNMP-EXTEND-MIB tables (nsExtendConfigTable, nsExtendOutput1Table
+# and nsExtendOutput2Table) to see the resulting output
+
+# Note that the "extend" directive supercedes the previous "exec" and "sh" directives
+# However, walking the UCD-SNMP-MIB::extTable should still returns the same output,
+# as well as the fuller results in the above tables.
+
+
+#
+# "Pass-through" MIB extension command
+#
+#pass .1.3.6.1.4.1.8072.2.255 /bin/sh PREFIX/local/passtest
+#pass .1.3.6.1.4.1.8072.2.255 /usr/bin/perl PREFIX/local/passtest.pl
+
+# Note that this requires one of the two 'passtest' scripts to be installed first,
+# before the appropriate line is uncommented.
+# These scripts can be found in the 'local' directory of the source distribution,
+# and are not installed automatically.
+
+# Walk the NET-SNMP-PASS-MIB::netSnmpPassExamples subtree to see the resulting output
+
+
+#
+# AgentX Sub-agents
+#
+ # Run as an AgentX master agent
+ master agentx
+ # Listen for network connections (from localhost)
+ # rather than the default named socket /var/agentx/master
+#agentXSocket tcp:localhost:705
diff --git a/projectroot/etc/ssh/ssh_config b/projectroot/etc/ssh/ssh_config
new file mode 100644
index 000000000..7bc8762d6
--- /dev/null
+++ b/projectroot/etc/ssh/ssh_config
@@ -0,0 +1,42 @@
+# $OpenBSD: ssh_config,v 1.21 2005/12/06 22:38:27 reyk Exp $
+
+# This is the ssh client system-wide configuration file. See
+# ssh_config(5) for more information. This file provides defaults for
+# users, and the values can be changed in per-user configuration files
+# or on the command line.
+
+# Configuration data is parsed as follows:
+# 1. command line options
+# 2. user-specific file
+# 3. system-wide file
+# Any configuration value is only changed the first time it is set.
+# Thus, host-specific definitions should be at the beginning of the
+# configuration file, and defaults at the end.
+
+# Site-wide defaults for some commonly used options. For a comprehensive
+# list of available options, their meanings and defaults, please see the
+# ssh_config(5) man page.
+
+# Host *
+# ForwardAgent no
+# ForwardX11 no
+# RhostsRSAAuthentication no
+# RSAAuthentication yes
+# PasswordAuthentication yes
+# HostbasedAuthentication no
+# BatchMode no
+# CheckHostIP yes
+# AddressFamily any
+# ConnectTimeout 0
+# StrictHostKeyChecking ask
+# IdentityFile ~/.ssh/identity
+# IdentityFile ~/.ssh/id_rsa
+# IdentityFile ~/.ssh/id_dsa
+# Port 22
+# Protocol 2,1
+# Cipher 3des
+# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
+# EscapeChar ~
+# Tunnel no
+# TunnelDevice any:any
+# PermitLocalCommand no
diff --git a/projectroot/etc/ssh/sshd_config b/projectroot/etc/ssh/sshd_config
new file mode 100644
index 000000000..7cd7897b3
--- /dev/null
+++ b/projectroot/etc/ssh/sshd_config
@@ -0,0 +1,105 @@
+# $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options change a
+# default value.
+
+Port 22
+Protocol 2
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+# HostKey for protocol version 1
+#HostKey /etc/ssh/ssh_host_key
+# HostKeys for protocol version 2
+HostKey /etc/ssh/ssh_host_rsa_key
+HostKey /etc/ssh/ssh_host_dsa_key
+
+# Lifetime and size of ephemeral version 1 server key
+#KeyRegenerationInterval 1h
+#ServerKeyBits 768
+
+# Logging
+# obsoletes QuietMode and FascistLogging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+
+#RSAAuthentication yes
+#PubkeyAuthentication yes
+#AuthorizedKeysFile .ssh/authorized_keys
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#RhostsRSAAuthentication no
+# similar for protocol version 2
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# RhostsRSAAuthentication and HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+#PermitEmptyPasswords no
+
+# Change to no to disable s/key passwords
+#ChallengeResponseAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'yes' to enable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the ChallengeResponseAuthentication mechanism.
+# Depending on your PAM configuration, this may bypass the setting of
+# PasswordAuthentication, PermitEmptyPasswords, and
+# "PermitRootLogin without-password". If you just want the PAM account and
+# session checks to run without PAM authentication, then enable this but set
+# ChallengeResponseAuthentication=no
+#UsePAM no
+
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#UseLogin no
+#UsePrivilegeSeparation yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10
+#PermitTunnel no
+
+# no default banner path
+#Banner /some/path
+
+# override default of no subsystems
+Subsystem sftp /usr/sbin/sftp-server
diff --git a/projectroot/etc/ssmtp/ssmtp.conf b/projectroot/etc/ssmtp/ssmtp.conf
new file mode 100644
index 000000000..d9aaaba87
--- /dev/null
+++ b/projectroot/etc/ssmtp/ssmtp.conf
@@ -0,0 +1,43 @@
+#
+# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
+#
+
+# The person who gets all mail for userids < 1000
+# Make this empty to disable rewriting.
+root=
+
+# The place where the mail goes. The actual machine name is required
+# no MX records are consulted. Commonly mailhosts are named mail.domain.com
+# The example will fit if you are in domain.com and your mailhub is so named.
+mailhub=mail
+
+# Example for SMTP port number 2525
+# mailhub=mail.your.domain:2525
+# Example for SMTP port number 25 (Standard/RFC)
+# mailhub=mail.your.domain
+# Example for SSL encrypted connection
+# mailhub=mail.your.domain:465
+
+# Where will the mail seem to come from?
+rewriteDomain=
+
+# The full hostname
+hostname=@HOSTNAME@
+
+# Set this to never rewrite the "From:" line (unless not given) and to
+# use that address in the "from line" of the envelope.
+FromLineOverride=YES
+
+# Use SSL/TLS to send secure messages to server.
+#UseTLS=YES
+
+# Use SSL/TLS certificate to authenticate against smtp host.
+#UseTLSCert=YES
+
+# Use this RSA certificate.
+#TLSCert=/etc/ssl/certs/ssmtp.pem
+
+# Get enhanced (*really* enhanced) debugging information in the logs
+# If you want to have debugging of the config file parsing, move this option
+# to the top of the config file and uncomment
+#Debug=YES
diff --git a/projectroot/etc/sudoers b/projectroot/etc/sudoers
new file mode 100644
index 000000000..c57a3ef44
--- /dev/null
+++ b/projectroot/etc/sudoers
@@ -0,0 +1,33 @@
+# sudoers file.
+#
+# This file MUST be edited with the 'visudo' command as root.
+# Failure to use 'visudo' may result in syntax or file permission errors
+# that prevent sudo from running.
+#
+# See the sudoers man page for the details on how to write a sudoers file.
+#
+
+# Defaults syslog=auth, secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
+
+# Host alias specification
+
+# User alias specification
+
+# Cmnd alias specification
+
+# Defaults specification
+
+# Runas alias specification
+
+# User privilege specification
+root ALL=(ALL) ALL
+
+# Uncomment to allow people in group wheel to run all commands
+# %wheel ALL=(ALL) ALL
+
+# Same thing without a password
+# %wheel ALL=(ALL) NOPASSWD: ALL
+
+# Samples
+# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
+# %users localhost=/sbin/shutdown -h now
diff --git a/projectroot/etc/sysctl.conf b/projectroot/etc/sysctl.conf
new file mode 100644
index 000000000..b10c21d8f
--- /dev/null
+++ b/projectroot/etc/sysctl.conf
@@ -0,0 +1,4 @@
+#
+# /etc/sysctl.conf - Configuration file for setting system variables
+# See sysctl.conf (5) for information.
+#
diff --git a/projectroot/etc/syslog-ng.conf b/projectroot/etc/syslog-ng.conf
new file mode 100644
index 000000000..254aecfd2
--- /dev/null
+++ b/projectroot/etc/syslog-ng.conf
@@ -0,0 +1,37 @@
+#
+# syslog-ng configuration
+#
+
+#
+# Options
+#
+
+# sync every 0 lines
+options { long_hostnames(off); sync(0); };
+
+#
+# Sources
+#
+
+# log source is /dev/log only
+source src { unix-stream("/dev/log"); internal(); };
+# source net { udp(); };
+
+#
+# Destinations
+#
+
+destination syslog { file("/var/log/syslog"); };
+
+#
+# Filters
+#
+
+#filter f_auth { facility(auth); };
+
+#
+# Logs
+#
+
+log { source(src); destination(syslog); };
+
diff --git a/projectroot/etc/syslog.conf b/projectroot/etc/syslog.conf
new file mode 100644
index 000000000..55f016239
--- /dev/null
+++ b/projectroot/etc/syslog.conf
@@ -0,0 +1,7 @@
+# Begin /etc/syslog.conf
+
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+user.* -/var/log/user.log
+
+# End /etc/syslog.conf
diff --git a/projectroot/etc/systemd/journald.conf b/projectroot/etc/systemd/journald.conf
new file mode 100644
index 000000000..1a810025a
--- /dev/null
+++ b/projectroot/etc/systemd/journald.conf
@@ -0,0 +1,32 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# See journald.conf(5) for details
+
+[Journal]
+#Storage=auto
+#Compress=yes
+#Seal=yes
+#SplitMode=login
+#RateLimitInterval=10s
+#RateLimitBurst=200
+#SystemMaxUse=
+#SystemKeepFree=
+#SystemMaxFileSize=
+#SystemMinFileSize=
+RuntimeMaxUse=1M
+#RuntimeKeepFree=
+#RuntimeMaxFileSize=
+#RuntimeMinFileSize=
+#ForwardToSyslog=yes
+#ForwardToKMsg=no
+#ForwardToConsole=no
+#TTYPath=/dev/console
+#MaxLevelStore=debug
+#MaxLevelSyslog=debug
+#MaxLevelKMsg=notice
+#MaxLevelConsole=info
diff --git a/projectroot/etc/timezone b/projectroot/etc/timezone
new file mode 100644
index 000000000..f7437836d
--- /dev/null
+++ b/projectroot/etc/timezone
@@ -0,0 +1 @@
+@TIMEZONE@
diff --git a/projectroot/etc/ts.conf b/projectroot/etc/ts.conf
new file mode 100644
index 000000000..b091ddc95
--- /dev/null
+++ b/projectroot/etc/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+#module variance delta=30
+#module dejitter delta=100
+module linear
diff --git a/projectroot/etc/udev/rules.d/udev.rules b/projectroot/etc/udev/rules.d/udev.rules
new file mode 100644
index 000000000..ec7d55d00
--- /dev/null
+++ b/projectroot/etc/udev/rules.d/udev.rules
@@ -0,0 +1,14 @@
+# make the first rtc device the default one
+KERNEL=="rtc0", SYMLINK="rtc"
+
+# ALSA devices
+KERNEL=="controlC[0-9]*", NAME="snd/%k"
+KERNEL=="hwC[D0-9]*", NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
+KERNEL=="midiC[D0-9]*", NAME="snd/%k"
+KERNEL=="timer", NAME="snd/%k"
+KERNEL=="seq", NAME="snd/%k"
+
+# create /dev/bus/usb tree
+SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \
+ ACTION=="add", NAME="%c"
diff --git a/projectroot/etc/udev/udev.conf b/projectroot/etc/udev/udev.conf
new file mode 100644
index 000000000..1b5df8e09
--- /dev/null
+++ b/projectroot/etc/udev/udev.conf
@@ -0,0 +1,9 @@
+# udev.conf
+#
+
+# Where in the filesystem to place the device nodes
+udev_root="/dev"
+
+# The syslog(3) priority: "err", "info", or the numerical value.
+udev_log="err"
+
diff --git a/projectroot/etc/udhcpc.script b/projectroot/etc/udhcpc.script
new file mode 100644
index 000000000..130c37e0c
--- /dev/null
+++ b/projectroot/etc/udhcpc.script
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# $Id$
+
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+
+RESOLV_CONF="/etc/resolv.conf"
+[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+[ -n "$subnet" ] && NETMASK="netmask $subnet"
+
+case "$1" in
+ deconfig)
+ /sbin/ifconfig $interface 0.0.0.0
+ ;;
+
+ renew|bound)
+ /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+ if [ -n "$router" ] ; then
+ echo "deleting routers"
+ while route del default gw 0.0.0.0 dev $interface ; do
+ :
+ done
+
+ for i in $router ; do
+ route add default gw $i dev $interface
+ done
+ fi
+
+ echo -n > $RESOLV_CONF
+ [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
+ for i in $dns ; do
+ echo adding dns $i
+ echo nameserver $i >> $RESOLV_CONF
+ done
+ ;;
+esac
+
+exit 0
diff --git a/projectroot/etc/udhcpd.conf b/projectroot/etc/udhcpd.conf
new file mode 100644
index 000000000..eca44c0ab
--- /dev/null
+++ b/projectroot/etc/udhcpd.conf
@@ -0,0 +1,115 @@
+# Sample udhcpd configuration file (/etc/udhcpd.conf)
+# Values shown are defaults
+
+# The start and end of the IP lease block
+start 192.168.0.20
+end 192.168.0.254
+
+# The interface that udhcpd will use
+interface eth0
+
+# The maximum number of leases (includes addresses reserved
+# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected
+# if it's bigger than IP lease block, but it ok to make it
+# smaller than lease block.
+#max_leases 254
+
+# The amount of time that an IP will be reserved (leased to nobody)
+# if a DHCP decline message is received (seconds)
+#decline_time 3600
+
+# The amount of time that an IP will be reserved
+# if an ARP conflict occurs (seconds)
+#conflict_time 3600
+
+# How long an offered address is reserved (seconds)
+#offer_time 60
+
+# If client asks for lease below this value, it will be rounded up
+# to this value (seconds)
+#min_lease 60
+
+# The location of the pid file
+#pidfile /var/run/udhcpd.pid
+
+# The location of the leases file
+#lease_file /var/lib/misc/udhcpd.leases
+
+# The time period at which udhcpd will write out leases file.
+# If this is 0, udhcpd will never automatically write leases file.
+# Specified in seconds.
+#auto_time 7200
+
+# Every time udhcpd writes a leases file, the below script will be called
+#notify_file # default: no script
+#notify_file dumpleases # useful for debugging
+
+# The following are bootp specific options
+# next server to use in bootstrap
+#siaddr 192.168.0.22 # default: 0.0.0.0 (none)
+# tftp server name
+#sname zorak # default: none
+# tftp file to download (e.g. kernel image)
+#boot_file /var/nfs_root # default: none
+
+# Static leases map
+#static_lease 00:60:08:11:CE:4E 192.168.0.54
+#static_lease 00:60:08:11:CE:3E 192.168.0.44
+
+# The remainder of options are DHCP options and can be specified with the
+# keyword 'opt' or 'option'. If an option can take multiple items, such
+# as the dns option, they can be listed on the same line, or multiple
+# lines.
+# Examples:
+opt dns 192.168.10.2 192.168.10.10
+option subnet 255.255.255.0
+opt router 192.168.10.2
+opt wins 192.168.10.10
+option dns 129.219.13.81 # appended to above DNS servers for a total of 3
+option domain local
+option lease 864000 # default: 10 days
+option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route
+option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1
+# Arbitrary option in hex form:
+option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4"
+
+# Currently supported options (for more info, see options.c):
+#opt lease NUM
+#opt subnet IP
+#opt broadcast IP
+#opt router IP_LIST
+#opt ipttl NUM
+#opt mtu NUM
+#opt hostname STRING # client's hostname
+#opt domain STRING # client's domain suffix
+#opt search STRING_LIST # search domains
+#opt nisdomain STRING
+#opt timezone NUM # (localtime - UTC_time) in seconds. signed
+#opt tftp STRING # tftp server name
+#opt bootfile STRING # tftp file to download (e.g. kernel image)
+#opt bootsize NUM # size of that file
+#opt rootpath STRING # (NFS) path to mount as root fs
+#opt wpad STRING
+#opt serverid IP # default: server's IP
+#opt message STRING # error message (udhcpd sends it on success too)
+#opt vlanid NUM # 802.1P VLAN ID
+#opt vlanpriority NUM # 802.1Q VLAN priority
+# Options specifying server(s)
+#opt dns IP_LIST
+#opt wins IP_LIST
+#opt nissrv IP_LIST
+#opt ntpsrv IP_LIST
+#opt lprsrv IP_LIST
+#opt swapsrv IP
+# Options specifying routes
+#opt routes IP_PAIR_LIST
+#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option
+#opt msstaticroutes STATIC_ROUTES # same, using MS option number
+# Obsolete options, no longer supported
+#opt logsrv IP_LIST # 704/UDP log server (not syslog!)
+#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!)
+#opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used
+#opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used
+# TODO: in development
+#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc
+#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs
diff --git a/projectroot/etc/vconsole.conf b/projectroot/etc/vconsole.conf
new file mode 100644
index 000000000..859b1a252
--- /dev/null
+++ b/projectroot/etc/vconsole.conf
@@ -0,0 +1,4 @@
+# disable keymap & font by default
+KEYMAP=
+FONT=
+
diff --git a/projectroot/etc/vga/libvga.config b/projectroot/etc/vga/libvga.config
new file mode 100644
index 000000000..ce886cf77
--- /dev/null
+++ b/projectroot/etc/vga/libvga.config
@@ -0,0 +1,52 @@
+mouse none
+# mouse Microsoft
+# mouse MouseSystems
+# mouse MMSeries
+# mouse Logitech
+# mouse Busmouse
+# mouse PS2
+# mouse MouseMan
+# mouse Spaceball
+# mouse IntelliMouse
+# mouse IMPS2
+# mouse pnp
+# mouse WacomGraphire
+# mouse DRMOUSE4DS
+# mouse unconfigured
+
+# mouse_accel_type normal
+mouse_accel_type power
+# mouse_accel_type off
+mouse_accel_mult 60
+mouse_accel_thresh 4
+mouse_accel_power 0.8
+mouse_accel_offset 30
+# mouse_accel_maxdelta 600
+# mouse_maxdelta 30
+# mouse_force
+# mdev /dev/ttyS0
+# setRTS
+# clearRTS
+# leaveRTS
+# setDTR
+# clearDTR
+# leaveDTR
+
+mouse_wheel_steps 18
+# mouse_wheel_steps 24
+# mouse_wheel_steps -18
+# mouse_wheel_steps 0
+
+# kbd_keymap /etc/vga/dvorak-us.keymap
+kbd_only_root_keymaps
+# kbd_fake_mouse_event 97 down deltay off up deltay on
+# kbd_fake_mouse_event 97 down button1 pressed up button1 released
+
+HorizSync 31.5 35.5
+VertRefresh 50 90
+
+# chipset VESA
+chipset FBDEV
+
+colortext
+
diff --git a/projectroot/etc/wpa_supplicant.conf b/projectroot/etc/wpa_supplicant.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/projectroot/etc/wpa_supplicant.conf
diff --git a/projectroot/initramfs/etc/udev/udev.conf b/projectroot/initramfs/etc/udev/udev.conf
new file mode 100644
index 000000000..31bb6620e
--- /dev/null
+++ b/projectroot/initramfs/etc/udev/udev.conf
@@ -0,0 +1,4 @@
+# The initial syslog(3) priority: "err", "info", "debug" or its
+# numerical equivalent. For runtime debugging, the daemons internal
+# state can be changed with: "udevadm control --log-priority=<value>".
+udev_log="err"
diff --git a/projectroot/lib/init/initmethod-bbinit-functions.sh b/projectroot/lib/init/initmethod-bbinit-functions.sh
new file mode 100755
index 000000000..122e37883
--- /dev/null
+++ b/projectroot/lib/init/initmethod-bbinit-functions.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+#
+# generic functions for bbinit
+#
+
+mount_root_rw() {
+
+ touch "/.root_is_rw" > /dev/null 2>&1 && return
+
+ echo -n "remounting root rw..."
+ mount /dev/root / -n -o remount,rw > /dev/null 2>&1
+ if [ "$?" -ne "0" ]; then
+ echo "failed, aborting"
+ return 1
+ fi
+ echo "done"
+}
+
+mount_root_restore() {
+
+ rm "/.root_is_rw" > /dev/null 2>&1 && return
+
+ echo -n "remounting root ro..."
+ mount /dev/root / -n -o remount,ro > /dev/null 2>&1
+ if [ "$?" -ne "0" ]; then
+ echo "failed, aborting"
+ return 1
+ fi
+ echo "done"
+}
+
diff --git a/projectroot/lib/init/nm-unmanage.sh b/projectroot/lib/init/nm-unmanage.sh
new file mode 100644
index 000000000..c9944108d
--- /dev/null
+++ b/projectroot/lib/init/nm-unmanage.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# configure NM to regard already configured interfaces as unmanaged (for NFS root)
+
+CONFFILE=/var/run/NetworkManager.conf
+
+if [ ! -e /run/resolv.conf -a -e /proc/net/pnp ]; then
+ cp /proc/net/pnp /run/resolv.conf
+fi
+
+if [ ! -f $CONFFILE ]; then
+ # set previously enabled interfaces to unmanaged
+ cat /etc/NetworkManager/NetworkManager.conf > $CONFFILE
+
+ UNMANAGED=""
+ for IF in $(ls /sys/class/net); do
+ IF_FLAGS="$(cat /sys/class/net/$IF/flags)"
+ if [ "$((IF_FLAGS&1))" = "1" -a "$IF" != "lo" ]; then
+ IF_ADDR="$(cat /sys/class/net/$IF/address)"
+ UNMANAGED="$UNMANAGED;mac:$IF_ADDR"
+ fi
+ done
+
+ echo "" >> $CONFFILE
+ echo "[keyfile]" >> $CONFFILE
+ echo "# unmanaged-devices added by $0" >> $CONFFILE
+ echo "unmanaged-devices=${UNMANAGED:1}" >> $CONFFILE
+fi
+
diff --git a/projectroot/lib/init/rc-once.sh b/projectroot/lib/init/rc-once.sh
new file mode 100644
index 000000000..8689a32bc
--- /dev/null
+++ b/projectroot/lib/init/rc-once.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+RC_ONCE_DIR=/etc/rc.once.d
+DONE_DIR="$RC_ONCE_DIR/.done"
+STAMP="$DONE_DIR/rc-once"
+
+run_rc_once() {
+ failed=0
+ echo "running rc.once.d services..."
+ cd "$RC_ONCE_DIR" || exit 1
+ mkdir -p "$DONE_DIR"
+ for script in *; do
+ test -x "$script" || continue
+ test -e "$DONE_DIR/$script" && continue
+ "$RC_ONCE_DIR/$script"
+ if [ $? -ne 0 ]; then
+ echo "running $script failed."
+ failed=1
+ else
+ : > "$DONE_DIR/$script"
+ fi
+ done
+ return $failed
+}
+
diff --git a/projectroot/lib/systemd/connman-ignore b/projectroot/lib/systemd/connman-ignore
new file mode 100755
index 000000000..fe72c5567
--- /dev/null
+++ b/projectroot/lib/systemd/connman-ignore
@@ -0,0 +1,15 @@
+#!/bin/sh
+CONNMAN_IGNORE_OPTS=""
+for IF in $(ls /sys/class/net); do
+ IF_FLAGS="$(cat /sys/class/net/$IF/flags)"
+ if [ "$((IF_FLAGS&1))" = "1" -a "$IF" != "lo" ]; then
+ if [ -z "$CONNMAN_IGNORE_OPTS" ]; then
+ CONNMAN_IGNORE_OPTS="--nodevice=$IF"
+ else
+ CONNMAN_IGNORE_OPTS="$CONNMAN_IGNORE_OPTS,$IF"
+ fi
+ fi
+done
+
+echo "CONNMAN_IGNORE_OPTS=\"$CONNMAN_IGNORE_OPTS\"" > /run/connman-ignore
+
diff --git a/projectroot/lib/systemd/ifupdown-prepare b/projectroot/lib/systemd/ifupdown-prepare
new file mode 100755
index 000000000..2028749fb
--- /dev/null
+++ b/projectroot/lib/systemd/ifupdown-prepare
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ ! -e /run/resolv.conf -a -e /proc/net/pnp ]; then
+ cp /proc/net/pnp /run/resolv.conf
+fi
+
+ifconfig | awk '/^[^ ]/ { printf "%s=kernel\n", $1 }' > /var/run/ifstate
diff --git a/projectroot/lib/systemd/network/eth0.network b/projectroot/lib/systemd/network/eth0.network
new file mode 100644
index 000000000..0ac8a4f06
--- /dev/null
+++ b/projectroot/lib/systemd/network/eth0.network
@@ -0,0 +1,5 @@
+[Match]
+Name=eth0
+
+[Network]
+DHCP=v4
diff --git a/projectroot/lib/systemd/system/NetworkManager-unmanage.service b/projectroot/lib/systemd/system/NetworkManager-unmanage.service
new file mode 100644
index 000000000..9e41dc562
--- /dev/null
+++ b/projectroot/lib/systemd/system/NetworkManager-unmanage.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Network Manager configuration (ignore kernel activated network interfaces)
+Before=NetworkManager.service
+ConditionPathExists=!/var/run/NetworkManager.conf
+
+[Service]
+Type=oneshot
+ExecStart=/lib/init/nm-unmanage.sh
+
+[Install]
+WantedBy=NetworkManager.service
diff --git a/projectroot/lib/systemd/system/NetworkManager.service b/projectroot/lib/systemd/system/NetworkManager.service
new file mode 100644
index 000000000..f41c8b4bc
--- /dev/null
+++ b/projectroot/lib/systemd/system/NetworkManager.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Network Manager
+After=syslog.target
+Wants=network.target
+Before=network.target
+
+[Service]
+Type=dbus
+BusName=org.freedesktop.NetworkManager
+ExecStart=/usr/sbin/NetworkManager --no-daemon --config=/var/run/NetworkManager.conf --state-file=/var/run/NetworkManager.state
+# Suppress stderr to eliminate duplicated messages in syslog. NM calls openlog()
+# with LOG_PERROR when run in foreground. But systemd redirects stderr to
+# syslog by default, which results in logging each message twice.
+StandardError=null
+# NM doesn't want systemd to kill its children for it
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
+Alias=dbus-org.freedesktop.NetworkManager.service
+Also=NetworkManager-wait-online.service
+
diff --git a/projectroot/lib/systemd/system/alfred@.service b/projectroot/lib/systemd/system/alfred@.service
new file mode 100644
index 000000000..08e014c41
--- /dev/null
+++ b/projectroot/lib/systemd/system/alfred@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description = A.L.F.R.E.D. server on interface %i
+BindsTo = sys-subsystem-net-devices-%i.device
+After = sys-subsystem-net-devices-%i.device
+
+[Service]
+ExecStart=/usr/bin/alfred -i %i
+
diff --git a/projectroot/lib/systemd/system/batadv-vis@.service b/projectroot/lib/systemd/system/batadv-vis@.service
new file mode 100644
index 000000000..39b4b6f34
--- /dev/null
+++ b/projectroot/lib/systemd/system/batadv-vis@.service
@@ -0,0 +1,9 @@
+[Unit]
+Description = batman-adv visualisation service on interface %i
+BindsTo = sys-subsystem-net-devices-%i.device
+After = sys-subsystem-net-devices-%i.device alfred@.service
+Requires = alfred@.service
+
+[Service]
+ExecStart=/usr/bin/batadv-vis -s -i %i
+
diff --git a/projectroot/lib/systemd/system/collectd.service b/projectroot/lib/systemd/system/collectd.service
new file mode 100644
index 000000000..752245c05
--- /dev/null
+++ b/projectroot/lib/systemd/system/collectd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=statistics collection daemon
+
+[Service]
+ExecStart=/usr/sbin/collectd -f
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/connman-ignore.service b/projectroot/lib/systemd/system/connman-ignore.service
new file mode 100644
index 000000000..ac80f517c
--- /dev/null
+++ b/projectroot/lib/systemd/system/connman-ignore.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Connection Manager configuration (ignore kernel activated network interfaces)
+Before=connman.service
+ConditionPathExists=!/run/connman-ignore
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/lib/systemd/connman-ignore
+
+[Install]
+WantedBy=connman.service
diff --git a/projectroot/lib/systemd/system/connman.service b/projectroot/lib/systemd/system/connman.service
new file mode 100644
index 000000000..4353276b5
--- /dev/null
+++ b/projectroot/lib/systemd/system/connman.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Connection service
+Requires=dbus.socket
+After=dbus.socket
+
+[Service]
+Type=dbus
+BusName=net.connman
+Restart=on-failure
+EnvironmentFile=-/run/connman-ignore
+ExecStart=/usr/sbin/connmand -n $CONNMAN_IGNORE_OPTS
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/dnsmasq.service b/projectroot/lib/systemd/system/dnsmasq.service
new file mode 100644
index 000000000..c663e018c
--- /dev/null
+++ b/projectroot/lib/systemd/system/dnsmasq.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=dnsmasq
+
+[Service]
+ExecStart=/usr/sbin/dnsmasq --pid-file=/run/dnsmasq.pid
+ExecReload=/bin/kill -HUP $MAINPID
+Type=forking
+PIDFile=/run/dnsmasq.pid
+
+[Install]
+WantedBy=network.target
diff --git a/projectroot/lib/systemd/system/fake-overlayfs.service b/projectroot/lib/systemd/system/fake-overlayfs.service
new file mode 100644
index 000000000..efb4470e3
--- /dev/null
+++ b/projectroot/lib/systemd/system/fake-overlayfs.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Fake Overlay Filesystem
+DefaultDependencies=no
+After=local-fs.target
+Requires=local-fs.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=no
+ExecStart=/sbin/fake-overlayfs
+MountFlags=private
diff --git a/projectroot/lib/systemd/system/ifupdown-prepare.service b/projectroot/lib/systemd/system/ifupdown-prepare.service
new file mode 100644
index 000000000..2c2c43b8f
--- /dev/null
+++ b/projectroot/lib/systemd/system/ifupdown-prepare.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mark kernel activated network interfaces as up
+Before=ifupdown.service
+ConditionPathExists=!/var/run/ifstate
+#ConditionKernelCommandLine=nfsroot
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/lib/systemd/ifupdown-prepare
+
diff --git a/projectroot/lib/systemd/system/ifupdown.service b/projectroot/lib/systemd/system/ifupdown.service
new file mode 100644
index 000000000..f9dd5b473
--- /dev/null
+++ b/projectroot/lib/systemd/system/ifupdown.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Handle network interface with ifup/ifdown
+Before=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/sbin/ifup -a
+ExecStop=/sbin/ifdown -a
+
diff --git a/projectroot/lib/systemd/system/lighttpd.service b/projectroot/lib/systemd/system/lighttpd.service
new file mode 100644
index 000000000..0ca5357f5
--- /dev/null
+++ b/projectroot/lib/systemd/system/lighttpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Lighttpd Web Server
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/lighttpd-angel -f /etc/lighttpd/lighttpd.conf -D
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/munin-node.service b/projectroot/lib/systemd/system/munin-node.service
new file mode 100644
index 000000000..8bb98ceef
--- /dev/null
+++ b/projectroot/lib/systemd/system/munin-node.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Munin Node
+
+[Service]
+Type=forking
+Restart=always
+ExecStart=/usr/sbin/munin-node
+PIDFile=/run/munin-node.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/nfs.target b/projectroot/lib/systemd/system/nfs.target
new file mode 100644
index 000000000..ea1b87c9c
--- /dev/null
+++ b/projectroot/lib/systemd/system/nfs.target
@@ -0,0 +1,5 @@
+[Unit]
+Description=NFS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/ntpd.service b/projectroot/lib/systemd/system/ntpd.service
new file mode 100644
index 000000000..64fce1cb7
--- /dev/null
+++ b/projectroot/lib/systemd/system/ntpd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=ntpd
+
+[Service]
+ExecStart=/usr/sbin/ntpd -n -c /etc/ntp-server.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/pure-ftpd.socket b/projectroot/lib/systemd/system/pure-ftpd.socket
new file mode 100644
index 000000000..1883b579f
--- /dev/null
+++ b/projectroot/lib/systemd/system/pure-ftpd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=pure-ftpd.service
+
+[Socket]
+ListenStream=21
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/projectroot/lib/systemd/system/pure-ftpd@.service b/projectroot/lib/systemd/system/pure-ftpd@.service
new file mode 100644
index 000000000..b7f086731
--- /dev/null
+++ b/projectroot/lib/systemd/system/pure-ftpd@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=pure-ftpd
+After=syslog.target
+@SCRIPT_DEPS@
+[Service]
+ExecStart=/usr/sbin/pure-ftpd @ARGS@
+StandardInput=socket
diff --git a/projectroot/lib/systemd/system/pure-uploadscript.service b/projectroot/lib/systemd/system/pure-uploadscript.service
new file mode 100644
index 000000000..9cdbebc07
--- /dev/null
+++ b/projectroot/lib/systemd/system/pure-uploadscript.service
@@ -0,0 +1,5 @@
+[Unit]
+Description=pure-ftpd upload script helper
+
+[Service]
+ExecStart=/usr/sbin/pure-uploadscript @ARGS@ -r @SCRIPT@
diff --git a/projectroot/lib/systemd/system/radvd.service b/projectroot/lib/systemd/system/radvd.service
new file mode 100644
index 000000000..d3c7d98aa
--- /dev/null
+++ b/projectroot/lib/systemd/system/radvd.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=IPv6 router advertisement daemon
+Requires=network.target
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/radvd -C /etc/radvd.conf --nodaemon --username nobody
diff --git a/projectroot/lib/systemd/system/rc-once.service b/projectroot/lib/systemd/system/rc-once.service
new file mode 100644
index 000000000..d3377b3d7
--- /dev/null
+++ b/projectroot/lib/systemd/system/rc-once.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=First boot services
+DefaultDependencies=no
+After=local-fs.target
+Requires=local-fs.target
+After=system-update.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=no
+ExecStart=/lib/systemd/systemd-rc-once
+StandardOutput=syslog+console
+
diff --git a/projectroot/lib/systemd/system/rpc-statd.service b/projectroot/lib/systemd/system/rpc-statd.service
new file mode 100644
index 000000000..3c2bb2c71
--- /dev/null
+++ b/projectroot/lib/systemd/system/rpc-statd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=NFS status monitor for NFSv2/3 locking.
+DefaultDependencies=no
+Conflicts=umount.target
+Requires=nss-lookup.target rpcbind.target
+After=network.target nss-lookup.target rpcbind.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/rpc.statd --no-notify
diff --git a/projectroot/lib/systemd/system/sshd.socket b/projectroot/lib/systemd/system/sshd.socket
new file mode 100644
index 000000000..fd684073d
--- /dev/null
+++ b/projectroot/lib/systemd/system/sshd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=sshd.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/projectroot/lib/systemd/system/sshd@.service b/projectroot/lib/systemd/system/sshd@.service
new file mode 100644
index 000000000..a96f28680
--- /dev/null
+++ b/projectroot/lib/systemd/system/sshd@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=SSH Per-Connection Server
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/sshd -i
+SuccessExitStatus=0 255
+StandardInput=socket
diff --git a/projectroot/lib/systemd/system/telnetd.socket b/projectroot/lib/systemd/system/telnetd.socket
new file mode 100644
index 000000000..22441383d
--- /dev/null
+++ b/projectroot/lib/systemd/system/telnetd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Conflicts=telnetd.service
+ConditionKernelCommandLine=ptxdist-devel
+
+[Socket]
+ListenStream=23
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/projectroot/lib/systemd/system/telnetd@.service b/projectroot/lib/systemd/system/telnetd@.service
new file mode 100644
index 000000000..e0897eb00
--- /dev/null
+++ b/projectroot/lib/systemd/system/telnetd@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Telnet Per-Connection Server
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/telnetd -i
+StandardInput=socket
diff --git a/projectroot/lib/systemd/system/urshd.service b/projectroot/lib/systemd/system/urshd.service
new file mode 100644
index 000000000..913256583
--- /dev/null
+++ b/projectroot/lib/systemd/system/urshd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=urshd Server
+After=syslog.target
+ConditionKernelCommandLine=ptxdist-devel
+
+[Service]
+ExecStart=/usr/bin/urshd -D
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/system/utelnetd.service b/projectroot/lib/systemd/system/utelnetd.service
new file mode 100644
index 000000000..406f994ab
--- /dev/null
+++ b/projectroot/lib/systemd/system/utelnetd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Telnet Server
+After=syslog.target
+
+[Service]
+ExecStart=/sbin/utelnetd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/projectroot/lib/systemd/systemd-rc-once b/projectroot/lib/systemd/systemd-rc-once
new file mode 100644
index 000000000..98b089185
--- /dev/null
+++ b/projectroot/lib/systemd/systemd-rc-once
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+. /lib/init/initmethod-bbinit-functions.sh
+. /lib/init/rc-once.sh
+
+start() {
+ mount_root_rw || exit 1
+ if run_rc_once; then
+ rm -f /system-update
+ fi
+ systemctl daemon-reexec
+ sleep 1
+ touch /var/lib/systemd/clock
+ exec "$0" umount
+}
+
+umount() {
+ if ! mount_root_restore; then
+ # remounting rw/ro during the second boot will flush anything
+ # left in the filesystem journal
+ ln -sf /etc/rc.once.d /system-update
+ systemctl reboot
+ else
+ if [ -e /system-update ]; then
+ systemctl rescue
+ else
+ systemctl default
+ fi
+ fi
+}
+
+case "$1" in
+
+ start|"")
+ start
+ ;;
+ umount)
+ umount
+ ;;
+ *)
+ echo "Usage: $0 {start|umount}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+
diff --git a/projectroot/loader/entries/default.conf b/projectroot/loader/entries/default.conf
new file mode 100644
index 000000000..5650907ab
--- /dev/null
+++ b/projectroot/loader/entries/default.conf
@@ -0,0 +1,5 @@
+title @TITLE@
+version @VERSION@
+options @CMDLINE@
+linux @KERNEL@
+@DEVICETREE@
diff --git a/projectroot/sbin/bootchartd b/projectroot/sbin/bootchartd
new file mode 100644
index 000000000..41b868510
--- /dev/null
+++ b/projectroot/sbin/bootchartd
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Bootchart logger script
+#
+# Copyright (C) 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# based on: Bootchart logger script from
+#
+# Ziga Mahkovec <ziga.mahkovec@klika.si>
+#
+# This script is used for data collection for the bootchart boot
+# performance visualization tool (http://www.bootchart.org).
+#
+# To profile the boot process, bootchartd should be called instead of
+# /sbin/init. Modify the kernel command line to include
+# init=/sbin/bootchartd or rdinit=/sbin/bootchartd if you use an
+# initrd
+#
+# bootchartd will then start itself in background and exec /sbin/init
+# or /init in case of an inird (or an alternative init process if
+# specified using bootchart_init=)
+#
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+VERSION="0.9"
+
+LOG_DIR="/bc"
+OUT_DIR="/var/log"
+HZ=10
+
+mount proc /proc -t proc
+
+{
+ mount -n -t tmpfs -o size=8M none "$LOG_DIR"
+ /lib/bootchart/collector ${HZ} "${LOG_DIR}"
+ /lib/bootchart/gather "${OUT_DIR}/bootchart.tgz" "${LOG_DIR}"
+} &
+
+# from kernel:/init/main.c
+for init in \
+ "/sbin/init" \
+ "/etc/init" \
+ "/bin/init" \
+ "/bin/sh"; do
+ if [ -x "$init" ]; then
+ exec "${init}" "$@"
+ fi
+done
diff --git a/projectroot/sbin/enable-rc-once b/projectroot/sbin/enable-rc-once
new file mode 100644
index 000000000..d95c6cb4b
--- /dev/null
+++ b/projectroot/sbin/enable-rc-once
@@ -0,0 +1,11 @@
+#!/bin/sh
+if [ -n "$1" ]; then
+ rm -f "$DESTDIR/etc/rc.once.d/.done/$1"
+fi
+rm -f "$DESTDIR/etc/rc.once.d/.done/rc-once"
+
+if [ -f "$DESTDIR/lib/systemd/system/rc-once.service" ]; then
+ if [ ! -e $DESTDIR/system-update ]; then
+ ln -sf etc/rc.once.d $DESTDIR/system-update
+ fi
+fi
diff --git a/projectroot/sbin/fake-overlayfs b/projectroot/sbin/fake-overlayfs
new file mode 100644
index 000000000..b6692c578
--- /dev/null
+++ b/projectroot/sbin/fake-overlayfs
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+OVERLAY_DIRS="@OVERLAY_DIRLIST@"
+
+bdir=/tmp/.fake-overlay-root
+
+mkdir $bdir
+mount -o bind,private / $bdir
+mount -o remount,ro,bind,private / $bdir
+IFS=:
+set $OVERLAY_DIRS
+while [ $# -gt 0 ]; do
+ if [ -z "$1" ]; then
+ shift
+ continue
+ fi
+ echo $1
+ src="$bdir$1"
+ dst="$1/"
+ test -e "$dst" || mkdir $dst
+ cp -a "$src/"* "$src/".[^.]* "$src/"..?* $dst 2> /dev/null
+ shift
+done
+umount $bdir
+rmdir $bdir
+
diff --git a/projectroot/sbin/init b/projectroot/sbin/init
new file mode 100755
index 000000000..81e658bb9
--- /dev/null
+++ b/projectroot/sbin/init
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# This init script makes sure we have /dev/console and /dev/null, no matter
+# if we boot from flash or NFS
+
+mount -t tmpfs none /dev -o mode=755
+
+mknod /dev/console c 5 1
+chmod 600 /dev/console
+mknod /dev/null c 1 3
+chmod 666 /dev/null
+
+# FIXME: this still gives a "unable to open initial console" warning
+
+exec /bin/busybox init "$@" 1> /dev/console 2> /dev/console < /dev/console
+
diff --git a/projectroot/usr/bin/chrony_command b/projectroot/usr/bin/chrony_command
new file mode 100755
index 000000000..03a18d0ae
--- /dev/null
+++ b/projectroot/usr/bin/chrony_command
@@ -0,0 +1,27 @@
+#!/bin/sh
+# This is a generic chrony command script which
+# extracts the chrony access key from /etc/chrony/chrony.key
+# and executes one given command
+# some chronyc commands need prior autentication: extract keys from config
+PREFIX="chrony command helper: "
+command=$1
+if [ -z "$command" ] ; then
+ echo "Usage: $0 <command>"
+ exit 0
+fi
+[ "$command" = "--help" ] && command="help"
+
+bailout(){
+ echo "${PREFIX}ERROR --- $*" >&2
+ exit 1
+}
+
+KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
+PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
+
+/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+/usr/bin/chronyc <<-EOF
+password $PASSWORD
+$command
+EOF
+
diff --git a/projectroot/usr/bin/chrony_stat b/projectroot/usr/bin/chrony_stat
new file mode 100755
index 000000000..e86d396db
--- /dev/null
+++ b/projectroot/usr/bin/chrony_stat
@@ -0,0 +1,107 @@
+#!/bin/sh
+# get chrony sync status
+PREFIX="chrony stat: "
+
+bailout(){
+ echo "${PREFIX}ERROR --- $*" >&2
+ exit 1
+}
+
+KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
+PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
+command=sources
+
+command_helper(){
+/usr/bin/chronyc <<-EOF
+password $PASSWORD
+$command
+EOF
+}
+
+show_help(){
+cat << EOF
+
+ Usage $0 [ --full | --bool | --skew | --short-skew | --help ]
+
+ --full or no argument: show server name and verbose status
+
+ --bool show server name and
+ a) true, if timesource is currently synced
+ b) false otherwise
+
+ --skew show servername and
+ a) estimated error, if timesource is currently synced
+ b) false otherwise
+
+ --short-skew show estimated error, if timesource is currently synced
+ suppress all other servers
+
+EOF
+}
+
+get_status(){
+while read status server info; do
+case $status in
+ '^*') echo -e "$server\tsynchronized `echo $info | sed s/'.*]'//g`" ;;
+ '^+') echo -e "$server\twaiting" ;;
+ '^?') echo -e "$server\tunreacheable" ;;
+ '^x') echo -e "$server\terror" ;;
+ '^~') echo -e "$server\tbad time" ;;
+ '=*'|'=+'|'=?'|'=x'|'=~') echo "peer : $status" ;;
+ '#*'|'#+'|'#?'|'#x'|'#~') echo "local : $status" ;;
+esac
+done
+}
+
+get_bool(){
+while read status server info; do
+case $status in
+ '^*') echo -e "$server\ttrue" ;;
+ '^'*)
+ echo -e "$server\tfalse" ;;
+esac
+done
+}
+
+get_skew(){
+while read status server info; do
+case $status in
+ '^*') echo -e "$server\t`echo $info | sed -e s/'.*]'//g -e s/"^\ "//g -e s@'+/- '@@g`" ;;
+ '^'*)
+ echo -e "$server\tundef" ;;
+esac
+done
+}
+
+get_short_skew(){
+while read status server info; do
+case $status in
+ '^*') echo $info | sed -e s/'.*]'//g -e s/"^\ "//g -e s@'+/- '@@g ;;
+esac
+done
+}
+
+/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+
+case $1 in
+ --help)
+ show_help
+ exit 0
+ ;;
+ --bool)
+ command_helper | while read l ; do get_bool "$l"; done
+ exit 0
+ ;;
+ --skew)
+ command_helper | while read l ; do get_skew "$l"; done
+ exit 0
+ ;;
+ --short-skew)
+ command_helper | while read l ; do get_short_skew "$l"; done
+ exit 0
+ ;;
+ *|'')
+ command_helper | while read l ; do get_status "$l"; done
+ exit 0
+ ;;
+esac
diff --git a/projectroot/usr/bin/ldd b/projectroot/usr/bin/ldd
new file mode 100755
index 000000000..b3629a42f
--- /dev/null
+++ b/projectroot/usr/bin/ldd
@@ -0,0 +1,213 @@
+#! /bin/sh
+# Copyright (C) 1996-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library 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
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
+
+
+# This is the `ldd' command, which lists what shared libraries are
+# used by given dynamically-linked executables. It works by invoking the
+# run-time dynamic linker as a command and setting the environment
+# variable LD_TRACE_LOADED_OBJECTS to a non-empty value.
+
+# We should be able to find the translation right at the beginning.
+TEXTDOMAIN=libc
+TEXTDOMAINDIR=/usr/share/locale
+
+RTLDLIST="/lib/ld-linux.so.3 /lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2 /lib/ld.so.1 /lib64/ld64.so.1"
+warn=
+bind_now=
+verbose=
+filename_magic_regex="((^|/)lib|.so$)"
+
+while test $# -gt 0; do
+ case "$1" in
+ --vers | --versi | --versio | --version)
+ echo 'ldd (GNU libc) 2.7'
+ printf $"Copyright (C) %s Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+" "2007"
+ printf $"Written by %s and %s.
+" "Roland McGrath" "Ulrich Drepper"
+ exit 0
+ ;;
+ --h | --he | --hel | --help)
+ echo $"Usage: ldd [OPTION]... FILE...
+ --help print this help and exit
+ --version print version information and exit
+ -d, --data-relocs process data relocations
+ -r, --function-relocs process data and function relocations
+ -u, --unused print unused direct dependencies
+ -v, --verbose print all information
+For bug reporting instructions, please see:
+<http://www.gnu.org/software/libc/bugs.html>."
+ exit 0
+ ;;
+ -d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
+ --data-rel | --data-relo | --data-reloc | --data-relocs)
+ warn=yes
+ shift
+ ;;
+ -r | --f | --fu | --fun | --func | --funct | --functi | --functio | \
+ --function | --function- | --function-r | --function-re | --function-rel | \
+ --function-relo | --function-reloc | --function-relocs)
+ warn=yes
+ bind_now=yes
+ shift
+ ;;
+ -v | --verb | --verbo | --verbos | --verbose)
+ verbose=yes
+ shift
+ ;;
+ -u | --u | --un | --unu | --unus | --unuse | --unused)
+ unused=yes
+ shift
+ ;;
+ --v | --ve | --ver)
+ echo >&2 $"ldd: option \`$1' is ambiguous"
+ exit 1
+ ;;
+ --) # Stop option processing.
+ shift; break
+ ;;
+ -*)
+ echo >&2 'ldd:' $"unrecognized option" "\`$1'"
+ echo >&2 $"Try \`ldd --help' for more information."
+ exit 1
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+
+nonelf ()
+{
+ # Maybe extra code for non-ELF binaries.
+ return 1;
+}
+
+add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
+add_env="$add_env LD_LIBRARY_VERSION=\$verify_out"
+add_env="$add_env LD_VERBOSE=$verbose"
+if test "$unused" = yes; then
+ add_env="$add_env LD_DEBUG=\"$LD_DEBUG${LD_DEBUG:+,}unused\""
+fi
+
+# The following use of cat is needed to make ldd work in SELinux
+# environments where the executed program might not have permissions
+# to write to the console/tty. But only bash 3.x supports the pipefail
+# option, and we don't bother to handle the case for older bash versions.
+if set -o pipefail 2> /dev/null; then
+ try_trace() {
+ eval $add_env '"$@"' | cat
+ }
+else
+ try_trace() {
+ eval $add_env '"$@"'
+ }
+fi
+
+case $# in
+0)
+ echo >&2 'ldd:' $"missing file arguments"
+ echo >&2 $"Try \`ldd --help' for more information."
+ exit 1
+ ;;
+1)
+ single_file=t
+ ;;
+*)
+ single_file=f
+ ;;
+esac
+
+result=0
+for file do
+ # We don't list the file name when there is only one.
+ test $single_file = t || echo "${file}:"
+ case $file in
+ */*) :
+ ;;
+ *) file=./$file
+ ;;
+ esac
+ if test ! -e "$file"; then
+ echo "ldd: ${file}:" $"No such file or directory" >&2
+ result=1
+ elif test ! -f "$file"; then
+ echo "ldd: ${file}:" $"not regular file" >&2
+ result=1
+ elif test -r "$file"; then
+ if test ! -x "$file" && eval echo "$file" \
+ | egrep -v "$filename_magic_regex" > /dev/null; then
+ echo 'ldd:' $"warning: you do not have execution permission for"\
+ "\`$file'" >&2
+ fi
+ RTLD=
+ ret=1
+ for rtld in ${RTLDLIST}; do
+ if test -x $rtld; then
+ verify_out=`${rtld} --verify "$file" 2>/dev/null`
+ ret=$?
+ case $ret in
+ [02]) RTLD=${rtld}; break;;
+ esac
+ fi
+ done
+ case $ret in
+ 0)
+ # If the program exits with exit code 5, it means the process has been
+ # invoked with __libc_enable_secure. Fall back to running it through
+ # the dynamic linker.
+ if test -x "$file"; then
+ try_trace "$file"
+ else
+ try_trace "${RTLD}" "$file"
+ fi
+ rc=$?
+ if [ $rc = 5 ]; then
+ try_trace "$RTLD" "$file"
+ rc=$?
+ fi
+ [ $rc = 0 ] || result=1
+ ;;
+ 1)
+ # This can be a non-ELF binary or no binary at all.
+ nonelf "$file" || {
+ echo $" not a dynamic executable"
+ result=1
+ }
+ ;;
+ 2)
+ try_trace "$RTLD" "$file" || result=1
+ ;;
+ *)
+ echo 'ldd:' ${RTLD} $"exited with unknown exit code" "($ret)" >&2
+ exit 1
+ ;;
+ esac
+ else
+ echo 'ldd:' $"error: you do not have read permission for" "\`$file'" >&2
+ result=1
+ fi
+done
+
+exit $result
+# Local Variables:
+# mode:ksh
+# End:
diff --git a/projectroot/usr/bin/poff b/projectroot/usr/bin/poff
new file mode 100644
index 000000000..a37f4c598
--- /dev/null
+++ b/projectroot/usr/bin/poff
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+DEV="${1}"
+
+if [ -z "${DEV}" ]; then
+ if [ -n "${IFACE}" ]; then
+ DEV="${IFACE}"
+ else
+ DEV=ppp0
+ fi
+else
+ shift
+fi
+
+exec /sbin/start-stop-daemon -K -p /var/run/${DEV}.pid
diff --git a/projectroot/usr/bin/pon b/projectroot/usr/bin/pon
new file mode 100644
index 000000000..70b86a9f4
--- /dev/null
+++ b/projectroot/usr/bin/pon
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+PROVIDER="${1}"
+
+if [ -z "${PROVIDER}" ]; then
+ if [ -n "${IF_PROVIDER}" ]; then
+ PROVIDER="${IF_PROVIDER}"
+ else
+ PROVIDER=provider
+ fi
+else
+ shift
+fi
+
+exec start-stop-daemon -S -x /usr/sbin/pppd -- call "${PROVIDER}" "${@}"
diff --git a/projectroot/usr/lib/crda/regulatory.bin b/projectroot/usr/lib/crda/regulatory.bin
new file mode 100644
index 000000000..4b1bd2bd0
--- /dev/null
+++ b/projectroot/usr/lib/crda/regulatory.bin
Binary files differ
diff --git a/projectroot/usr/lib/tmpfiles.d/lighttpd.conf b/projectroot/usr/lib/tmpfiles.d/lighttpd.conf
new file mode 100644
index 000000000..6600f1308
--- /dev/null
+++ b/projectroot/usr/lib/tmpfiles.d/lighttpd.conf
@@ -0,0 +1 @@
+d /var/log/lighttpd 0750 www www -
diff --git a/projectroot/usr/lib/tmpfiles.d/nfs.conf b/projectroot/usr/lib/tmpfiles.d/nfs.conf
new file mode 100644
index 000000000..593d7cd45
--- /dev/null
+++ b/projectroot/usr/lib/tmpfiles.d/nfs.conf
@@ -0,0 +1,6 @@
+d /var/lib/nfs 0755 @RPCUSER@ root -
+f /var/lib/nfs/etab 0644 @RPCUSER@ root -
+f /var/lib/nfs/rmtab 0644 @RPCUSER@ root -
+f /var/lib/nfs/xtab 0600 @RPCUSER@ root -
+d /var/lib/nfs/sm 0700 @RPCUSER@ root -
+d /var/lib/nfs/sm.bak 0700 @RPCUSER@ root -
diff --git a/projectroot/usr/lib/tmpfiles.d/ssh.conf b/projectroot/usr/lib/tmpfiles.d/ssh.conf
new file mode 100644
index 000000000..cc208db9f
--- /dev/null
+++ b/projectroot/usr/lib/tmpfiles.d/ssh.conf
@@ -0,0 +1 @@
+d /run/sshd 0700 root root -
diff --git a/projectroot/var/lib/connman/settings b/projectroot/var/lib/connman/settings
new file mode 100644
index 000000000..d2ab56334
--- /dev/null
+++ b/projectroot/var/lib/connman/settings
@@ -0,0 +1,6 @@
+[global]
+OfflineMode=false
+
+[Wired]
+Enable=true
+
diff --git a/projectroot/var/www/bottles.php b/projectroot/var/www/bottles.php
new file mode 100644
index 000000000..363e52c43
--- /dev/null
+++ b/projectroot/var/www/bottles.php
@@ -0,0 +1,58 @@
+<?php
+
+/*
+Date: 05/17/05
+Author: Kenneth Clark
+URL: n/a
+
+this is from http://99-bottles-of-beer.net/language-php5-659.html
+*/
+
+class SingBeerWallSong{
+ private $noBeers;
+ private $output;
+ private $outputType;
+ public function __construct($noBeers, $type){
+ $this->noBeers = $noBeers;
+ $this->type = $type;
+
+ }
+
+ public function singSong(){
+ for ($i = $this->noBeers; $i > 0; $i--){
+ if ($i == 1) {
+ $bottle = "bottle";
+ }else{
+ $bottle = "bottles";
+ }
+ $this->output .= $i . " ".$bottle." of beer on the wall \n";
+ $this->output .= $i . " ".$bottle." of beer \n";
+ $this->output .= "And if 1 bottle of beer should fall,\n";
+ if ($this->minusOne($i) == 1) {
+ $bottle = "bottle";
+ }else{
+ $bottle = "bottles";
+ }
+ $this->output .= "There will be " . $this->minusOne($i) . " " . $bottle . " of beer on the wall \n\n";
+ }
+ if (strtolower($this->type) == "html") {
+ $this->addBreak();
+ }
+ }
+
+ private function addBreak(){
+ $this->output = str_replace("\n","<br>",$this->output);
+ }
+ private function minusOne($int){
+ return $int - 1;
+ }
+ public function getOutput(){
+ return $this->output;
+ }
+}
+
+$oBeer = new SingBeerWallSong(99,"html");
+$oBeer->singSong();
+echo $oBeer->getOutput();
+
+?>
diff --git a/projectroot/var/www/httpd.html b/projectroot/var/www/httpd.html
new file mode 100644
index 000000000..da6d138c0
--- /dev/null
+++ b/projectroot/var/www/httpd.html
@@ -0,0 +1,10 @@
+<HTML>
+<HEAD><TITLE>Some httpd is running</TITLE></HEAD>
+
+<H3>Some httpd is running</H3>
+
+<P>
+Looks like you got it working. Congrats. \o/
+
+</BODY>
+</HTML>
diff --git a/projectroot/var/www/index.html b/projectroot/var/www/index.html
new file mode 100644
index 000000000..8635c9ac1
--- /dev/null
+++ b/projectroot/var/www/index.html
@@ -0,0 +1,19 @@
+<html>
+<!-- This file is used when no other html documents are selected -->
+<head>
+ <title>This is a small demo file to show http server is up and
+running</title>
+</head>
+
+<body>
+<p>
+<center><font size=+10>This is your target system.<br>Apache is up and
+running</font></center>
+</p>
+<p>
+<center><font size=+5>Here you can test the cgi ability of apache:<br>
+<a href="/cgi-bin/test-cgi"><font size=+5>Apache Demo
+Test-CGI-Program</font></a></center>
+</p>
+</body>
+</html>
diff --git a/projectroot/var/www/lighttpd.html b/projectroot/var/www/lighttpd.html
new file mode 100644
index 000000000..1b53ddb3e
--- /dev/null
+++ b/projectroot/var/www/lighttpd.html
@@ -0,0 +1,23 @@
+<html>
+<head>
+ <title>This is a small demo file to show http server is up and running</title>
+</head>
+
+<body>
+ <p>
+ <center>
+ <font size=+1>
+ This is your target system.<br>lighttpd is up and running
+ </font>
+ </center>
+ </p>
+
+ <p>
+ <center>
+ Here you can test the fastcgi ability of lighttpd:<br>
+ <a href="bottles.php">A Test-CGI-Program</a><br>
+ <a href="more_bottles.php">Another Test-CGI-Program</a>
+ </center>
+ </p>
+</body>
+</html>
diff --git a/projectroot/var/www/more_bottles.php b/projectroot/var/www/more_bottles.php
new file mode 100644
index 000000000..d0d94e89b
--- /dev/null
+++ b/projectroot/var/www/more_bottles.php
@@ -0,0 +1,211 @@
+<?php
+
+/*
+Date: 08/07/05
+Author: caminoix
+URL: http://p2p.info.pl
+
+this is from http://99-bottles-of-beer.net/language-php4-825.html
+*/
+
+/*
+This script generates a series of HTML tables with cells in different colours. It is an utterly useless way to generate images on-the-fly.
+
+It shows how comfortable PHP can be compared to raw HTML. This script is 5KB long compared to over 14MB (!) of HTML output.
+
+If you like this script, I would be most grateful if you could visit http://p2p.info.pl/eng/index.php and click a Google ad ;)
+*/
+
+$letter["a"]=array(array(0,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,1),
+ array(1,0,0,0,1));
+$letter["b"]=array(array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,1,1,1,0));
+$letter["d"]=array(array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,0));
+$letter["e"]=array(array(1,1,1,1,1),
+ array(1,0,0,0,0),
+ array(1,1,1,1,0),
+ array(1,0,0,0,0),
+ array(1,1,1,1,1));
+$letter["f"]=array(array(1,1,1,1,1),
+ array(1,0,0,0,0),
+ array(1,1,1,1,0),
+ array(1,0,0,0,0),
+ array(1,0,0,0,0));
+$letter["g"]=array(array(0,1,1,1,1),
+ array(1,0,0,0,0),
+ array(1,0,1,1,1),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0));
+$letter["h"]=array(array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1));
+$letter["i"]=array(array(0,1,1,1,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,1,1,1,0));
+$letter["k"]=array(array(1,0,0,0,1),
+ array(1,0,0,1,0),
+ array(1,1,1,0,0),
+ array(1,0,0,1,0),
+ array(1,0,0,0,1));
+$letter["l"]=array(array(1,0,0,0,0),
+ array(1,0,0,0,0),
+ array(1,0,0,0,0),
+ array(1,0,0,0,0),
+ array(1,1,1,1,1));
+$letter["m"]=array(array(1,0,0,0,1),
+ array(1,1,0,1,1),
+ array(1,0,1,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1));
+$letter["n"]=array(array(1,0,0,0,1),
+ array(1,1,0,0,1),
+ array(1,0,1,0,1),
+ array(1,0,0,1,1),
+ array(1,0,0,0,1));
+$letter["o"]=array(array(0,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0));
+$letter["p"]=array(array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,0),
+ array(1,0,0,0,0));
+$letter["r"]=array(array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,0),
+ array(1,0,0,0,1));
+$letter["s"]=array(array(0,1,1,1,1),
+ array(1,0,0,0,0),
+ array(0,1,1,1,0),
+ array(0,0,0,0,1),
+ array(1,1,1,1,0));
+$letter["t"]=array(array(1,1,1,1,1),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0));
+$letter["u"]=array(array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0));
+$letter["w"]=array(array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,1,0,1),
+ array(1,1,0,1,1),
+ array(1,0,0,0,1));
+$letter["y"]=array(array(1,0,0,0,1),
+ array(0,1,0,1,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0));
+$letter["0"]=array(array(0,0,1,0,0),
+ array(0,1,0,1,0),
+ array(0,1,0,1,0),
+ array(0,1,0,1,0),
+ array(0,0,1,0,0));
+$letter["1"]=array(array(0,0,1,0,0),
+ array(0,1,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0),
+ array(0,0,1,0,0));
+$letter["2"]=array(array(0,1,1,1,0),
+ array(1,0,0,1,1),
+ array(0,0,1,0,0),
+ array(0,1,0,0,0),
+ array(1,1,1,1,1));
+$letter["3"]=array(array(1,1,1,1,0),
+ array(0,0,0,0,1),
+ array(0,1,1,1,0),
+ array(0,0,0,0,1),
+ array(1,1,1,1,0));
+$letter["4"]=array(array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,0,0,0,1),
+ array(1,1,1,1,1),
+ array(0,0,0,0,1));
+$letter["5"]=array(array(1,1,1,1,1),
+ array(1,0,0,0,0),
+ array(1,1,1,1,0),
+ array(0,0,0,0,1),
+ array(1,1,1,1,0));
+$letter["6"]=array(array(0,1,1,1,1),
+ array(1,0,0,0,0),
+ array(1,1,1,1,0),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0));
+$letter["7"]=array(array(1,1,1,1,1),
+ array(0,0,0,1,0),
+ array(0,0,1,0,0),
+ array(0,1,0,0,0),
+ array(1,0,0,0,0));
+$letter["8"]=array(array(0,1,1,1,0),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0),
+ array(1,0,0,0,1),
+ array(0,1,1,1,0));
+$letter["9"]=array(array(0,1,1,1,0),
+ array(1,0,0,0,1),
+ array(0,1,1,1,1),
+ array(0,0,0,0,1),
+ array(0,1,1,1,0));
+$letter[","]=array(array(0,0,0,0,0),
+ array(0,0,0,0,0),
+ array(0,0,0,0,0),
+ array(0,1,0,0,0),
+ array(1,0,0,0,0));
+$letter["."]=array(array(0,0,0,0,0),
+ array(0,0,0,0,0),
+ array(0,0,0,0,0),
+ array(1,1,0,0,0),
+ array(1,1,0,0,0));
+
+function one_line($what_in_it){
+ global $letter;
+ echo "<table cellspacing=\"0\">";
+ for ($y=0; $y<5; $y++){
+ echo "<tr>";
+ for ($i=0; $i<strlen($what_in_it); $i++){
+ for ($x=0; $x<5; $x++){
+ if ($letter[$what_in_it[$i]][$y][$x]==1)
+ $colour="#000000";
+ else
+ $colour="#ffffff";
+ echo "<td style=\"background-color:$colour\">";
+ echo "</td>";
+ }
+ echo "<td style=\"background-color:#ffffff\"></td>";
+ }
+ echo "</tr>";
+ }
+ echo "<tr><td></td></tr>";
+ echo "</table>";
+}
+
+for ($i=99; $i>0; $i--){
+ $i==1 ? $s="" : $s="s";
+ $i==1 ? $no="no more" : $no=$i-1;
+ one_line("$i bottle$s of beer on the wall, $i bottle$s of beer.");
+ one_line("take one down and pass it around, $no bottles of beer on the wall.");
+ one_line(" ");
+}
+one_line("no more bottles of beer on the wall, no more bottles of beer.");
+one_line("go to the store and buy some more, 99 bottles of beer on the wall.");
+?>
diff --git a/projectroot/var/www/thttpd.html b/projectroot/var/www/thttpd.html
new file mode 100644
index 000000000..28823a614
--- /dev/null
+++ b/projectroot/var/www/thttpd.html
@@ -0,0 +1,15 @@
+<!-- This is a small demo to show thttpd is running on your system -->
+<HTML>
+<HEAD><TITLE>thttpd is running</TITLE></HEAD>
+<BODY BGCOLOR="#99cc99" TEXT="#000000" LINK="#2020ff" VLINK="#4040cc">
+
+<H3>thttpd is running</H3>
+
+<P>
+Looks like you got it working. Congrats.
+
+<P>
+Here's a link to the <A HREF="http://www.acme.com/software/thttpd/">thttpd web pages</A>.
+
+</BODY>
+</HTML>