summaryrefslogtreecommitdiffstats
path: root/source/installer/sources/initrd/etc
diff options
context:
space:
mode:
Diffstat (limited to 'source/installer/sources/initrd/etc')
-rw-r--r--source/installer/sources/initrd/etc/DIR_COLORS166
-rw-r--r--source/installer/sources/initrd/etc/HOSTNAME1
-rwxr-xr-xsource/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample49
-rw-r--r--source/installer/sources/initrd/etc/disk27
-rw-r--r--source/installer/sources/initrd/etc/dnsmasq.conf0
-rw-r--r--source/installer/sources/initrd/etc/fstab3
-rw-r--r--source/installer/sources/initrd/etc/group44
-rw-r--r--source/installer/sources/initrd/etc/host.conf2
-rw-r--r--source/installer/sources/initrd/etc/hosts21
-rw-r--r--source/installer/sources/initrd/etc/inittab40
-rw-r--r--source/installer/sources/initrd/etc/installer1
-rw-r--r--source/installer/sources/initrd/etc/issue25
-rw-r--r--source/installer/sources/initrd/etc/keymaps.tarbin0 -> 573440 bytes
-rw-r--r--source/installer/sources/initrd/etc/ld.so.cachebin0 -> 4468 bytes
-rw-r--r--source/installer/sources/initrd/etc/ld.so.conf2
-rw-r--r--source/installer/sources/initrd/etc/localtimebin0 -> 118 bytes
-rw-r--r--source/installer/sources/initrd/etc/login.defs68
-rw-r--r--source/installer/sources/initrd/etc/lvm/lvm.conf411
-rw-r--r--source/installer/sources/initrd/etc/mdev.conf0
-rw-r--r--source/installer/sources/initrd/etc/mke2fs.conf44
-rw-r--r--source/installer/sources/initrd/etc/motd0
-rw-r--r--source/installer/sources/initrd/etc/mtab0
-rw-r--r--source/installer/sources/initrd/etc/mtools.conf64
-rw-r--r--source/installer/sources/initrd/etc/networks10
-rw-r--r--source/installer/sources/initrd/etc/nsswitch.conf42
-rw-r--r--source/installer/sources/initrd/etc/passwd21
-rw-r--r--source/installer/sources/initrd/etc/pcmcia/config.opts71
-rw-r--r--source/installer/sources/initrd/etc/profile35
-rwxr-xr-xsource/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh55
-rwxr-xr-xsource/installer/sources/initrd/etc/profile.d/glibc.sh8
-rw-r--r--source/installer/sources/initrd/etc/protocols146
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.S250
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.dropbear58
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.font45
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.ieee139448
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.inet128
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.pcmcia65
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.udev133
-rwxr-xr-xsource/installer/sources/initrd/etc/rc.d/rc.usb71
-rw-r--r--source/installer/sources/initrd/etc/scsi_id.config17
-rw-r--r--source/installer/sources/initrd/etc/securetty20
-rw-r--r--source/installer/sources/initrd/etc/shadow17
-rw-r--r--source/installer/sources/initrd/etc/shells2
-rw-r--r--source/installer/sources/initrd/etc/syslog.conf4
-rw-r--r--source/installer/sources/initrd/etc/termcap238
45 files changed, 2332 insertions, 0 deletions
diff --git a/source/installer/sources/initrd/etc/DIR_COLORS b/source/installer/sources/initrd/etc/DIR_COLORS
new file mode 100644
index 000000000..13a21dfc0
--- /dev/null
+++ b/source/installer/sources/initrd/etc/DIR_COLORS
@@ -0,0 +1,166 @@
+# Configuration file for dircolors, a utility to help you set the
+# LS_COLORS environment variable used by GNU ls with the --color option.
+
+# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+# slackware version of dircolors) are recognized but ignored.
+# (see the scripts in /etc/profile.d/coreutils-dircolors.* to change default
+# options in the Slackware aliases)
+
+# Below, there should be one TERM entry for each termtype that is colorizable
+TERM linux
+TERM linux-c
+TERM mach-color
+TERM console
+TERM con132x25
+TERM con132x30
+TERM con132x43
+TERM con132x60
+TERM con80x25
+TERM con80x28
+TERM con80x30
+TERM con80x43
+TERM con80x50
+TERM con80x60
+TERM cygwin
+TERM dtterm
+TERM putty
+TERM xterm
+TERM xterm-color
+TERM xterm-debian
+TERM rxvt
+TERM screen
+TERM screen-bce
+TERM screen-w
+TERM vt100
+TERM Eterm
+
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+NORMAL 00 # global default, although everything should be something.
+FILE 00 # normal file
+DIR 01;34 # directory
+LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
+ # numerical value, the color is as for the file pointed to.)
+FIFO 40;33 # pipe
+SOCK 01;35 # socket
+DOOR 01;35 # door
+BLK 40;33;01 # block device driver
+CHR 40;33;01 # character device driver
+ORPHAN 40;31;01 # symlink to nonexistent file
+SETUID 37;41 # file that is setuid (u+s)
+SETGID 30;43 # file that is setgid (g+s)
+STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
+OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
+STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
+EXEC 01;32 # This is for files with execute permission:
+
+# List any file extensions like '.gz' or '.tar' that you would like ls
+# to colorize below. Put the extension, a space, and the color init string.
+# (and any comments you want to add after a '#')
+
+# DOS-style executables (bright green)
+.bat 01;32
+.BAT 01;32
+.btm 01;32
+.BTM 01;32
+.cmd 01;32
+.CMD 01;32
+.com 01;32
+.COM 01;32
+.dll 01;32
+.DLL 01;32
+.exe 01;32
+.EXE 01;32
+
+# archives or compressed (bright red)
+.arj 01;31
+.bz2 01;31
+.deb 01;31
+.gz 01;31
+.lzh 01;31
+.rar 01;31
+.RAR 01;31
+.rpm 01;31
+.tar 01;31
+.taz 01;31
+.tb2 01;31
+.tbz2 01;31
+.tbz 01;31
+.tgz 01;31
+.tz2 01;31
+.z 01;31
+.Z 01;31
+.zip 01;31
+.ZIP 01;31
+.zoo 01;31
+
+# multimedia (video/image/sound) file formats
+.asf 01;35
+.ASF 01;35
+.avi 01;35
+.AVI 01;35
+.bmp 01;35
+.BMP 01;35
+.flac 01;35
+.FLAC 01;35
+.gif 01;35
+.GIF 01;35
+.jpg 01;35
+.JPG 01;35
+.jpeg 01;35
+.JPEG 01;35
+.m2a 01;35
+.M2A 01;35
+.m2v 01;35
+.M2V 01;35
+.m4a 01;35
+.M4A 01;35
+.m4p 01;35
+.M4P 01;35
+.m4v 01;35
+.M4V 01;35
+.mov 01;35
+.MOV 01;35
+.mp3 01;35
+.MP3 01;35
+.mpc 01;35
+.MPC 01;35
+.mpeg 01;35
+.MPEG 01;35
+.mpg 01;35
+.MPG 01;35
+.ogg 01;35
+.OGG 01;35
+.pbm 01;35
+.pgm 01;35
+.png 01;35
+.PNG 01;35
+.ppm 01;35
+.ram 01;35
+.RAM 01;35
+.rm 01;35
+.RM 01;35
+.tga 01;35
+.TGA 01;35
+.tif 01;35
+.TIF 01;35
+.tiff 01;35
+.TIFF 01;35
+.wav 01;35
+.WAV 01;35
+.wma 01;35
+.WMA 01;35
+.wmv 01;35
+.WMV 01;35
+.xbm 01;35
+.xcf 01;35
+.xpm 01;35
+.xwd 01;35
+.XWD 01;35
+
diff --git a/source/installer/sources/initrd/etc/HOSTNAME b/source/installer/sources/initrd/etc/HOSTNAME
new file mode 100644
index 000000000..23169fd62
--- /dev/null
+++ b/source/installer/sources/initrd/etc/HOSTNAME
@@ -0,0 +1 @@
+slackware.example.net
diff --git a/source/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample b/source/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample
new file mode 100755
index 000000000..f49cffdd0
--- /dev/null
+++ b/source/installer/sources/initrd/etc/dhcpc/dhcpcd.exe-sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# This is a sample /etc/dhcpc/dhcpcd.exe script.
+# /etc/dhcpc/dhcpcd.exe script is executed by dhcpcd daemon
+# any time it configures or shuts down interface.
+# The following parameters are passed to dhcpcd.exe script:
+# $1 = HostInfoFilePath, e.g "/etc/dhcpc/dhcpcd-eth0.info"
+# $2 = "up" if interface has been configured with the same
+# IP address as before reboot;
+# $2 = "down" if interface has been shut down;
+# $2 = "new" if interface has been configured with new IP address;
+# $3 (optional) = "-d" debug flag passed if dhcpcd daemon has been
+# invoked with "-d" flag
+#
+# Sanity checks
+
+if [ $# -lt 2 ]; then
+ logger -s -p local0.err -t dhcpcd.exe "wrong usage"
+ exit 1
+fi
+
+hostinfo="$1"
+state="$2"
+debug="$3"
+
+# Reading HostInfo file for configuration parameters
+. "${hostinfo}"
+
+case "${state}" in
+ up)
+ logger -s -p local0.info -t dhcpcd.exe \
+ "interface ${INTERFACE} has been configured with old IP=${IPADDR}"
+ # Put your code here for when the interface has been brought up with an
+ # old IP address here
+ ;;
+
+ new)
+ logger -s -p local0.info -t dhcpcd.exe \
+ "interface ${INTERFACE} has been configured with new IP=${IPADDR}"
+ # Put your code here for when the interface has been brought up with a
+ # new IP address
+ ;;
+
+ down) logger -s -p local0.info -t dhcpcd.exe \
+ "interface ${INTERFACE} has been brought down"
+ # Put your code here for the when the interface has been shut down
+ ;;
+esac
+exit 0
diff --git a/source/installer/sources/initrd/etc/disk2 b/source/installer/sources/initrd/etc/disk2
new file mode 100644
index 000000000..6a80aac22
--- /dev/null
+++ b/source/installer/sources/initrd/etc/disk2
@@ -0,0 +1,7 @@
+Hi there. :-)
+
+This file is used to determine if the second install "disk"
+is already loaded or not... if it's not found in /etc, then
+the boot scripts will ask you to insert the second install
+floppy.
+
diff --git a/source/installer/sources/initrd/etc/dnsmasq.conf b/source/installer/sources/initrd/etc/dnsmasq.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/source/installer/sources/initrd/etc/dnsmasq.conf
diff --git a/source/installer/sources/initrd/etc/fstab b/source/installer/sources/initrd/etc/fstab
new file mode 100644
index 000000000..0fdb74a70
--- /dev/null
+++ b/source/installer/sources/initrd/etc/fstab
@@ -0,0 +1,3 @@
+devpts /dev/pts devpts gid=5,mode=620 0 0
+proc /proc proc defaults 0 0
+tmpfs /dev/shm tmpfs defaults 0 0
diff --git a/source/installer/sources/initrd/etc/group b/source/installer/sources/initrd/etc/group
new file mode 100644
index 000000000..8e9154a19
--- /dev/null
+++ b/source/installer/sources/initrd/etc/group
@@ -0,0 +1,44 @@
+root:x:0:root
+bin:x:1:root,bin
+daemon:x:2:root,bin,daemon
+sys:x:3:root,bin,adm
+adm:x:4:root,adm,daemon
+tty:x:5:
+disk:x:6:root,adm
+lp:x:7:lp
+mem:x:8:
+kmem:x:9:
+wheel:x:10:root
+floppy:x:11:root
+mail:x:12:mail
+news:x:13:news
+uucp:x:14:uucp
+man:x:15:
+dialout:x:16:uucp
+audio:x:17:root
+video:x:18:root
+cdrom:x:19:root
+games:x:20:
+slocate:x:21:
+utmp:x:22:
+smmsp:x:25:smmsp
+tape:x:26:root
+mysql:x:27:
+rpc:x:32:
+sshd:x:33:sshd
+gdm:x:42:
+shadow:x:43:
+ftp:x:50:
+oprofile:x:51:
+apache:x:80:
+messagebus:x:81:
+haldaemon:x:82:
+plugdev:x:83:root
+power:x:84:
+netdev:x:86:
+pop:x:90:pop
+scanner:x:93:
+nobody:x:98:nobody
+nogroup:x:99:
+users:x:100:
+console:x:101:
diff --git a/source/installer/sources/initrd/etc/host.conf b/source/installer/sources/initrd/etc/host.conf
new file mode 100644
index 000000000..a659e913a
--- /dev/null
+++ b/source/installer/sources/initrd/etc/host.conf
@@ -0,0 +1,2 @@
+order hosts, bind
+multi on
diff --git a/source/installer/sources/initrd/etc/hosts b/source/installer/sources/initrd/etc/hosts
new file mode 100644
index 000000000..bc4ad4f13
--- /dev/null
+++ b/source/installer/sources/initrd/etc/hosts
@@ -0,0 +1,21 @@
+#
+# hosts This file describes a number of hostname-to-address
+# mappings for the TCP/IP subsystem. It is mostly
+# used at boot time, when no name servers are running.
+# On small systems, this file can be used instead of a
+# "named" name server. Just add the names, addresses
+# and any aliases to this file...
+#
+# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
+# should NEVER be named with the name of the machine. It causes problems
+# for some (stupid) programs, irc and reputedly talk. :^)
+#
+
+# For loopbacking.
+127.0.0.1 localhost
+# This next entry is technically wrong, but good enough to get TCP/IP apps
+# to quit complaining that they can't verify the hostname on a loopback-only
+# Linux box.
+127.0.0.1 slackware.example.net slackware
+
+# End of hosts.
diff --git a/source/installer/sources/initrd/etc/inittab b/source/installer/sources/initrd/etc/inittab
new file mode 100644
index 000000000..2695f00e0
--- /dev/null
+++ b/source/installer/sources/initrd/etc/inittab
@@ -0,0 +1,40 @@
+# /etc/inittab
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in single-user mode.
+::sysinit:/etc/rc.d/rc.S
+
+# Login /bin/sh invocations on selected ttys.
+#
+# Start a shell on the console
+::respawn:-/bin/sh
+# Start an "askfirst" shell on tty2 and tty3
+tty2::askfirst:-/bin/sh
+tty3::askfirst:-/bin/sh
+
+# /sbin/getty invocations for selected ttys.
+#
+#tty1::respawn:/sbin/getty 38400 tty1
+#tty2::respawn:/sbin/getty 38400 tty2
+
+# Example of how to put a getty on a serial line (for a terminal)
+#
+#ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
+#ttyS1::respawn:/sbin/getty -L ttyS1 9600 vt100
+#
+# Example how to put a getty on a modem line.
+#ttyS2::respawn:/sbin/getty -x0 -s 57600 ttyS2
+
+# Reboot when ctrl-alt-del keys are pressed.
+::ctrlaltdel:/sbin/reboot
+#::ctrlaltdel:/sbin/brc
+
+# Stuff to do before halting or rebooting.
+# Hopefully it does these things in order, so that we can fake the
+# system date one last time before umounting:
+::shutdown:/bin/sh /sbin/fakedate
+::shutdown:/sbin/swapoff -a >/dev/null 2>&1
+::shutdown:/bin/umount -a -r >/dev/null 2>&1
+::shutdown:/sbin/vgchange -an --ignorelockingfailure >/dev/null 2>&1
+# Otherwise SSH logins are left lingering:
+::shutdown:/bin/killall dropbear > /dev/null 2>&1
+::shutdown:/bin/sh /sbin/fixdate
diff --git a/source/installer/sources/initrd/etc/installer b/source/installer/sources/initrd/etc/installer
new file mode 100644
index 000000000..e2af85b91
--- /dev/null
+++ b/source/installer/sources/initrd/etc/installer
@@ -0,0 +1 @@
+If /etc/installer exists, it's a cue to scripts that we're on the installer.
diff --git a/source/installer/sources/initrd/etc/issue b/source/installer/sources/initrd/etc/issue
new file mode 100644
index 000000000..8b2ac3360
--- /dev/null
+++ b/source/installer/sources/initrd/etc/issue
@@ -0,0 +1,25 @@
+
+
+
+
+Welcome to the Slackware Linux installation disk! (version 12.2)
+
+###### IMPORTANT! READ THE INFORMATION BELOW CAREFULLY. ######
+
+- You will need one or more partitions of type 'Linux' prepared. It is also
+ recommended that you create a swap partition (type 'Linux swap') prior
+ to installation. For more information, run 'setup' and read the help file.
+
+- If you're having problems that you think might be related to low memory, you
+ can try activating a swap partition before you run setup. After making a
+ swap partition (type 82) with cfdisk or fdisk, activate it like this:
+ mkswap /dev/<partition> ; swapon /dev/<partition>
+
+- Once you have prepared the disk partitions for Linux, type 'setup' to begin
+ the installation process.
+
+- If you do not have a color monitor, type: TERM=vt100
+ before you start 'setup'.
+
+You may now login as 'root'.
+
diff --git a/source/installer/sources/initrd/etc/keymaps.tar b/source/installer/sources/initrd/etc/keymaps.tar
new file mode 100644
index 000000000..2ae6004b7
--- /dev/null
+++ b/source/installer/sources/initrd/etc/keymaps.tar
Binary files differ
diff --git a/source/installer/sources/initrd/etc/ld.so.cache b/source/installer/sources/initrd/etc/ld.so.cache
new file mode 100644
index 000000000..ea1fb85b3
--- /dev/null
+++ b/source/installer/sources/initrd/etc/ld.so.cache
Binary files differ
diff --git a/source/installer/sources/initrd/etc/ld.so.conf b/source/installer/sources/initrd/etc/ld.so.conf
new file mode 100644
index 000000000..61b171c81
--- /dev/null
+++ b/source/installer/sources/initrd/etc/ld.so.conf
@@ -0,0 +1,2 @@
+/lib
+/usr/lib
diff --git a/source/installer/sources/initrd/etc/localtime b/source/installer/sources/initrd/etc/localtime
new file mode 100644
index 000000000..5583f5b0c
--- /dev/null
+++ b/source/installer/sources/initrd/etc/localtime
Binary files differ
diff --git a/source/installer/sources/initrd/etc/login.defs b/source/installer/sources/initrd/etc/login.defs
new file mode 100644
index 000000000..bcbdb2f0f
--- /dev/null
+++ b/source/installer/sources/initrd/etc/login.defs
@@ -0,0 +1,68 @@
+#
+# /etc/login.defs - Configuration control definitions for the login package.
+#
+# $Id: login.defs.linux,v 1.10 1999/03/07 19:14:33 marekm Exp $
+FAIL_DELAY 3
+DIALUPS_CHECK_ENAB yes
+FAILLOG_ENAB yes
+LOG_UNKFAIL_ENAB no
+LOG_OK_LOGINS no
+LASTLOG_ENAB yes
+MAIL_CHECK_ENAB no
+OBSCURE_CHECKS_ENAB yes
+PORTTIME_CHECKS_ENAB yes
+QUOTAS_ENAB yes
+SYSLOG_SU_ENAB yes
+SYSLOG_SG_ENAB yes
+CONSOLE /etc/securetty
+#CONSOLE console:tty01:tty02:tty03:tty04
+#SULOG_FILE /var/log/sulog
+MOTD_FILE /etc/motd
+#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
+#ISSUE_FILE /etc/issue
+#TTYTYPE_FILE /etc/ttytype
+FTMP_FILE /var/log/btmp
+NOLOGINS_FILE /etc/nologin
+SU_NAME su
+#QMAIL_DIR Maildir
+MAIL_DIR /var/spool/mail
+#MAIL_FILE .mail
+HUSHLOGIN_FILE .hushlogin
+#HUSHLOGIN_FILE /etc/hushlogins
+NOLOGIN_STR NOLOGIN
+#ENV_TZ TZ=CST6CDT
+#ENV_TZ /etc/tzname
+ENV_HZ HZ=100
+#ENV_HZ HZ=1024
+ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin
+ENV_PATH PATH=/usr/local/bin:/bin:/usr/bin
+TTYGROUP tty
+TTYPERM 0620
+ERASECHAR 0177
+KILLCHAR 025
+UMASK 022
+#ULIMIT 2097152
+PASS_MAX_DAYS 99999
+PASS_MIN_DAYS 0
+PASS_MIN_LEN 5
+PASS_WARN_AGE 7
+SU_WHEEL_ONLY no
+#CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict
+UID_MIN 1000
+UID_MAX 60000
+GID_MIN 100
+GID_MAX 60000
+LOGIN_RETRIES 5
+LOGIN_TIMEOUT 60
+PASS_CHANGE_TRIES 5
+PASS_ALWAYS_WARN yes
+#PASS_MAX_LEN 8
+CHFN_AUTH yes
+CHFN_RESTRICT frwh
+#LOGIN_STRING "%s's Password: "
+MD5_CRYPT_ENAB yes
+#CONSOLE_GROUPS floppy:audio:cdrom
+DEFAULT_HOME yes
+ENVIRON_FILE /etc/environment
+#USERDEL_CMD /usr/sbin/userdel_local
+#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6
diff --git a/source/installer/sources/initrd/etc/lvm/lvm.conf b/source/installer/sources/initrd/etc/lvm/lvm.conf
new file mode 100644
index 000000000..16cefb2f1
--- /dev/null
+++ b/source/installer/sources/initrd/etc/lvm/lvm.conf
@@ -0,0 +1,411 @@
+# This is an example configuration file for the LVM2 system.
+# It contains the default settings that would be used if there was no
+# /etc/lvm/lvm.conf file.
+#
+# Refer to 'man lvm.conf' for further information including the file layout.
+#
+# To put this file in a different directory and override /etc/lvm set
+# the environment variable LVM_SYSTEM_DIR before running the tools.
+
+
+# This section allows you to configure which block devices should
+# be used by the LVM system.
+devices {
+
+ # Where do you want your volume groups to appear ?
+ dir = "/dev"
+
+ # An array of directories that contain the device nodes you wish
+ # to use with LVM2.
+ scan = [ "/dev" ]
+
+ # If several entries in the scanned directories correspond to the
+ # same block device and the tools need to display a name for device,
+ # all the pathnames are matched against each item in the following
+ # list of regular expressions in turn and the first match is used.
+ preferred_names = [ ]
+
+ # Try to avoid using undescriptive /dev/dm-N names, if present.
+ # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
+
+ # A filter that tells LVM2 to only use a restricted set of devices.
+ # The filter consists of an array of regular expressions. These
+ # expressions can be delimited by a character of your choice, and
+ # prefixed with either an 'a' (for accept) or 'r' (for reject).
+ # The first expression found to match a device name determines if
+ # the device will be accepted or rejected (ignored). Devices that
+ # don't match any patterns are accepted.
+
+ # Be careful if there there are symbolic links or multiple filesystem
+ # entries for the same device as each name is checked separately against
+ # the list of patterns. The effect is that if any name matches any 'a'
+ # pattern, the device is accepted; otherwise if any name matches any 'r'
+ # pattern it is rejected; otherwise it is accepted.
+
+ # Don't have more than one filter line active at once: only one gets used.
+
+ # Run vgscan after you change this parameter to ensure that
+ # the cache file gets regenerated (see below).
+ # If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
+
+
+ # By default we accept every block device:
+ filter = [ "a/.*/" ]
+
+ # Exclude the cdrom drive
+ # filter = [ "r|/dev/cdrom|" ]
+
+ # When testing I like to work with just loopback devices:
+ # filter = [ "a/loop/", "r/.*/" ]
+
+ # Or maybe all loops and ide drives except hdc:
+ # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
+
+ # Use anchors if you want to be really specific
+ # filter = [ "a|^/dev/hda8$|", "r/.*/" ]
+
+ # The results of the filtering are cached on disk to avoid
+ # rescanning dud devices (which can take a very long time).
+ # By default this cache is stored in the /etc/lvm/cache directory
+ # in a file called '.cache'.
+ # It is safe to delete the contents: the tools regenerate it.
+ # (The old setting 'cache' is still respected if neither of
+ # these new ones is present.)
+ cache_dir = "/etc/lvm/cache"
+ cache_file_prefix = ""
+
+ # You can turn off writing this cache file by setting this to 0.
+ write_cache_state = 1
+
+ # Advanced settings.
+
+ # List of pairs of additional acceptable block device types found
+ # in /proc/devices with maximum (non-zero) number of partitions.
+ # types = [ "fd", 16 ]
+
+ # If sysfs is mounted (2.6 kernels) restrict device scanning to
+ # the block devices it believes are valid.
+ # 1 enables; 0 disables.
+ sysfs_scan = 1
+
+ # By default, LVM2 will ignore devices used as components of
+ # software RAID (md) devices by looking for md superblocks.
+ # 1 enables; 0 disables.
+ md_component_detection = 1
+
+ # By default, if a PV is placed directly upon an md device, LVM2
+ # will align its data blocks with the the chunk_size exposed in sysfs.
+ # 1 enables; 0 disables.
+ md_chunk_alignment = 1
+
+ # If, while scanning the system for PVs, LVM2 encounters a device-mapper
+ # device that has its I/O suspended, it waits for it to become accessible.
+ # Set this to 1 to skip such devices. This should only be needed
+ # in recovery situations.
+ ignore_suspended_devices = 0
+}
+
+# This section that allows you to configure the nature of the
+# information that LVM2 reports.
+log {
+
+ # Controls the messages sent to stdout or stderr.
+ # There are three levels of verbosity, 3 being the most verbose.
+ verbose = 0
+
+ # Should we send log messages through syslog?
+ # 1 is yes; 0 is no.
+ syslog = 1
+
+ # Should we log error and debug messages to a file?
+ # By default there is no log file.
+ #file = "/var/log/lvm2.log"
+
+ # Should we overwrite the log file each time the program is run?
+ # By default we append.
+ overwrite = 0
+
+ # What level of log messages should we send to the log file and/or syslog?
+ # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
+ # 7 is the most verbose (LOG_DEBUG).
+ level = 0
+
+ # Format of output messages
+ # Whether or not (1 or 0) to indent messages according to their severity
+ indent = 1
+
+ # Whether or not (1 or 0) to display the command name on each line output
+ command_names = 0
+
+ # A prefix to use before the message text (but after the command name,
+ # if selected). Default is two spaces, so you can see/grep the severity
+ # of each message.
+ prefix = " "
+
+ # To make the messages look similar to the original LVM tools use:
+ # indent = 0
+ # command_names = 1
+ # prefix = " -- "
+
+ # Set this if you want log messages during activation.
+ # Don't use this in low memory situations (can deadlock).
+ # activation = 0
+}
+
+# Configuration of metadata backups and archiving. In LVM2 when we
+# talk about a 'backup' we mean making a copy of the metadata for the
+# *current* system. The 'archive' contains old metadata configurations.
+# Backups are stored in a human readeable text format.
+backup {
+
+ # Should we maintain a backup of the current metadata configuration ?
+ # Use 1 for Yes; 0 for No.
+ # Think very hard before turning this off!
+ backup = 1
+
+ # Where shall we keep it ?
+ # Remember to back up this directory regularly!
+ backup_dir = "/etc/lvm/backup"
+
+ # Should we maintain an archive of old metadata configurations.
+ # Use 1 for Yes; 0 for No.
+ # On by default. Think very hard before turning this off.
+ archive = 1
+
+ # Where should archived files go ?
+ # Remember to back up this directory regularly!
+ archive_dir = "/etc/lvm/archive"
+
+ # What is the minimum number of archive files you wish to keep ?
+ retain_min = 10
+
+ # What is the minimum time you wish to keep an archive file for ?
+ retain_days = 30
+}
+
+# Settings for the running LVM2 in shell (readline) mode.
+shell {
+
+ # Number of lines of history to store in ~/.lvm_history
+ history_size = 100
+}
+
+
+# Miscellaneous global LVM2 settings
+global {
+
+ # The file creation mask for any files and directories created.
+ # Interpreted as octal if the first digit is zero.
+ umask = 077
+
+ # Allow other users to read the files
+ #umask = 022
+
+ # Enabling test mode means that no changes to the on disk metadata
+ # will be made. Equivalent to having the -t option on every
+ # command. Defaults to off.
+ test = 0
+
+ # Default value for --units argument
+ units = "h"
+
+ # Whether or not to communicate with the kernel device-mapper.
+ # Set to 0 if you want to use the tools to manipulate LVM metadata
+ # without activating any logical volumes.
+ # If the device-mapper kernel driver is not present in your kernel
+ # setting this to 0 should suppress the error messages.
+ activation = 1
+
+ # If we can't communicate with device-mapper, should we try running
+ # the LVM1 tools?
+ # This option only applies to 2.4 kernels and is provided to help you
+ # switch between device-mapper kernels and LVM1 kernels.
+ # The LVM1 tools need to be installed with .lvm1 suffices
+ # e.g. vgscan.lvm1 and they will stop working after you start using
+ # the new lvm2 on-disk metadata format.
+ # The default value is set when the tools are built.
+ # fallback_to_lvm1 = 0
+
+ # The default metadata format that commands should use - "lvm1" or "lvm2".
+ # The command line override is -M1 or -M2.
+ # Defaults to "lvm1" if compiled in, else "lvm2".
+ # format = "lvm1"
+
+ # Location of proc filesystem
+ proc = "/proc"
+
+ # Type of locking to use. Defaults to local file-based locking (1).
+ # Turn locking off by setting to 0 (dangerous: risks metadata corruption
+ # if LVM2 commands get run concurrently).
+ # Type 2 uses the external shared library locking_library.
+ # Type 3 uses built-in clustered locking.
+ locking_type = 1
+
+ # If using external locking (type 2) and initialisation fails,
+ # with this set to 1 an attempt will be made to use the built-in
+ # clustered locking.
+ # If you are using a customised locking_library you should set this to 0.
+ fallback_to_clustered_locking = 1
+
+ # If an attempt to initialise type 2 or type 3 locking failed, perhaps
+ # because cluster components such as clvmd are not running, with this set
+ # to 1 an attempt will be made to use local file-based locking (type 1).
+ # If this succeeds, only commands against local volume groups will proceed.
+ # Volume Groups marked as clustered will be ignored.
+ fallback_to_local_locking = 1
+
+ # Local non-LV directory that holds file-based locks while commands are
+ # in progress. A directory like /tmp that may get wiped on reboot is OK.
+ locking_dir = "/var/lock/lvm"
+
+ # Other entries can go here to allow you to load shared libraries
+ # e.g. if support for LVM1 metadata was compiled as a shared library use
+ # format_libraries = "liblvm2format1.so"
+ # Full pathnames can be given.
+
+ # Search this directory first for shared libraries.
+ # library_dir = "/lib"
+
+ # The external locking library to load if locking_type is set to 2.
+ # locking_library = "liblvm2clusterlock.so"
+}
+
+activation {
+ # How to fill in missing stripes if activating an incomplete volume.
+ # Using "error" will make inaccessible parts of the device return
+ # I/O errors on access. You can instead use a device path, in which
+ # case, that device will be used to in place of missing stripes.
+ # But note that using anything other than "error" with mirrored
+ # or snapshotted volumes is likely to result in data corruption.
+ missing_stripe_filler = "error"
+
+ # How much stack (in KB) to reserve for use while devices suspended
+ reserved_stack = 256
+
+ # How much memory (in KB) to reserve for use while devices suspended
+ reserved_memory = 8192
+
+ # Nice value used while devices suspended
+ process_priority = -18
+
+ # If volume_list is defined, each LV is only activated if there is a
+ # match against the list.
+ # "vgname" and "vgname/lvname" are matched exactly.
+ # "@tag" matches any tag set in the LV or VG.
+ # "@*" matches if any tag defined on the host is also set in the LV or VG
+ #
+ # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
+
+ # Size (in KB) of each copy operation when mirroring
+ mirror_region_size = 512
+
+ # Setting to use when there is no readahead value stored in the metadata.
+ #
+ # "none" - Disable readahead.
+ # "auto" - Use default value chosen by kernel.
+ readahead = "auto"
+
+ # 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
+ # how a device failure affecting a mirror is handled.
+ # A mirror is composed of mirror images (copies) and a log.
+ # A disk log ensures that a mirror does not need to be re-synced
+ # (all copies made the same) every time a machine reboots or crashes.
+ #
+ # In the event of a failure, the specified policy will be used to
+ # determine what happens:
+ #
+ # "remove" - Simply remove the faulty device and run without it. If
+ # the log device fails, the mirror would convert to using
+ # an in-memory log. This means the mirror will not
+ # remember its sync status across crashes/reboots and
+ # the entire mirror will be re-synced. If a
+ # mirror image fails, the mirror will convert to a
+ # non-mirrored device if there is only one remaining good
+ # copy.
+ #
+ # "allocate" - Remove the faulty device and try to allocate space on
+ # a new device to be a replacement for the failed device.
+ # Using this policy for the log is fast and maintains the
+ # ability to remember sync state through crashes/reboots.
+ # Using this policy for a mirror device is slow, as it
+ # requires the mirror to resynchronize the devices, but it
+ # will preserve the mirror characteristic of the device.
+ # This policy acts like "remove" if no suitable device and
+ # space can be allocated for the replacement.
+ # Currently this is not implemented properly and behaves
+ # similarly to:
+ #
+ # "allocate_anywhere" - Operates like "allocate", but it does not
+ # require that the new space being allocated be on a
+ # device is not part of the mirror. For a log device
+ # failure, this could mean that the log is allocated on
+ # the same device as a mirror device. For a mirror
+ # device, this could mean that the mirror device is
+ # allocated on the same device as another mirror device.
+ # This policy would not be wise for mirror devices
+ # because it would break the redundant nature of the
+ # mirror. This policy acts like "remove" if no suitable
+ # device and space can be allocated for the replacement.
+
+ mirror_log_fault_policy = "allocate"
+ mirror_device_fault_policy = "remove"
+}
+
+
+####################
+# Advanced section #
+####################
+
+# Metadata settings
+#
+# metadata {
+ # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
+ # You might want to override it from the command line with 0
+ # when running pvcreate on new PVs which are to be added to large VGs.
+
+ # pvmetadatacopies = 1
+
+ # Approximate default size of on-disk metadata areas in sectors.
+ # You should increase this if you have large volume groups or
+ # you want to retain a large on-disk history of your metadata changes.
+
+ # pvmetadatasize = 255
+
+ # List of directories holding live copies of text format metadata.
+ # These directories must not be on logical volumes!
+ # It's possible to use LVM2 with a couple of directories here,
+ # preferably on different (non-LV) filesystems, and with no other
+ # on-disk metadata (pvmetadatacopies = 0). Or this can be in
+ # addition to on-disk metadata areas.
+ # The feature was originally added to simplify testing and is not
+ # supported under low memory situations - the machine could lock up.
+ #
+ # Never edit any files in these directories by hand unless you
+ # you are absolutely sure you know what you are doing! Use
+ # the supplied toolset to make changes (e.g. vgcfgrestore).
+
+ # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
+#}
+
+# Event daemon
+#
+# dmeventd {
+ # mirror_library is the library used when monitoring a mirror device.
+ #
+ # "libdevmapper-event-lvm2mirror.so" attempts to recover from
+ # failures. It removes failed devices from a volume group and
+ # reconfigures a mirror as necessary. If no mirror library is
+ # provided, mirrors are not monitored through dmeventd.
+
+ # mirror_library = "libdevmapper-event-lvm2mirror.so"
+
+ # snapshot_library is the library used when monitoring a snapshot device.
+ #
+ # "libdevmapper-event-lvm2snapshot.so" monitors the filling of
+ # snapshots and emits a warning through syslog, when the use of
+ # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
+ # 95% of the snapshot are filled.
+
+ # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
+#}
+
diff --git a/source/installer/sources/initrd/etc/mdev.conf b/source/installer/sources/initrd/etc/mdev.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/source/installer/sources/initrd/etc/mdev.conf
diff --git a/source/installer/sources/initrd/etc/mke2fs.conf b/source/installer/sources/initrd/etc/mke2fs.conf
new file mode 100644
index 000000000..3795b1ed6
--- /dev/null
+++ b/source/installer/sources/initrd/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/source/installer/sources/initrd/etc/motd b/source/installer/sources/initrd/etc/motd
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/source/installer/sources/initrd/etc/motd
diff --git a/source/installer/sources/initrd/etc/mtab b/source/installer/sources/initrd/etc/mtab
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/source/installer/sources/initrd/etc/mtab
diff --git a/source/installer/sources/initrd/etc/mtools.conf b/source/installer/sources/initrd/etc/mtools.conf
new file mode 100644
index 000000000..b528c01d6
--- /dev/null
+++ b/source/installer/sources/initrd/etc/mtools.conf
@@ -0,0 +1,64 @@
+# Example mtools.conf files. Uncomment the lines which correspond to
+# your architecture and comment out the "SAMPLE FILE" line below
+#SAMPLE FILE
+
+# # Linux floppy drives
+drive a: file="/dev/fd0" exclusive
+drive b: file="/dev/fd1" exclusive
+
+# # First SCSI hard disk partition
+# drive c: file="/dev/sda1"
+
+# # First IDE hard disk partition
+# drive c: file="/dev/hda1"
+
+# # dosemu floppy image
+# drive m: file="/var/lib/dosemu/diskimage"
+
+# # dosemu hdimage
+# drive n: file="/var/lib/dosemu/diskimage" offset=3840
+
+# # Atari ramdisk image
+# drive o: file="/tmp/atari_rd" offset=136
+
+# # ZIP disk for Solaris:
+# Drive X is ZIP-100 at target 5
+# drive X: file="/dev/rdsk/c0t5d0s2" partition=4 scsi=1 nodelay
+
+# # ZIP disk for SunOS:
+# # Zip drive is at target 5, which default kernel calls tape st1 !!
+# drive Y: file="/dev/rsd5c" partition=4 scsi=1 nodelay
+
+# # autoselect zip drive/floppy on HP-UX 9/10
+# drive a: file="/dev/rdsk/c201d5" exclusive partition=4
+# drive a: file="/dev/rdsk/c201d5s0" exclusive partition=4
+# drive a: file="/dev/rfloppy/c201d0s0" exclusive
+
+# A/UX target 5 on 1st scsi bus jaz or zip
+# drive X: file="/dev/rdsk/c105d0s31" partition=4
+
+
+# Some examples for BeOS.
+# floppy drive. hardcoded in devices.c, so no real need to define it here
+#drive a: file="/dev/floppy_disk" exclusive
+# ZIP drive on SCSI ID 6
+#drive z: file="/dev/scsi_disk_060" offset=16384 fat_bits=16
+
+# SCO Unix 3.2v4
+# # Floppy disk drives
+#
+# drive a: file="/dev/install" exclusive
+# drive b: file="/dev/install1" exclusive
+#
+# # SCSI hard disk partitions
+#
+# drive c: file="/dev/dsk/0sC"
+# drive d: file="/dev/dsk/0sD"
+# drive e: file="/dev/dsk/0sE"
+# drive f: file="/dev/dsk/0sF"
+# drive g: file="/dev/dsk/0sG"
+# drive h: file="/dev/dsk/0sH"
+
+# # uncomment the following line to display all file names in lower
+# # case by default
+# mtools_lower_case=1
diff --git a/source/installer/sources/initrd/etc/networks b/source/installer/sources/initrd/etc/networks
new file mode 100644
index 000000000..50d5162ee
--- /dev/null
+++ b/source/installer/sources/initrd/etc/networks
@@ -0,0 +1,10 @@
+#
+# networks This file describes a number of netname-to-address
+# mappings for the TCP/IP subsystem. It is mostly
+# used at boot time, when no name servers are running.
+#
+
+loopback 127.0.0.0
+localnet 127.0.0.0
+
+# End of networks.
diff --git a/source/installer/sources/initrd/etc/nsswitch.conf b/source/installer/sources/initrd/etc/nsswitch.conf
new file mode 100644
index 000000000..b21796bba
--- /dev/null
+++ b/source/installer/sources/initrd/etc/nsswitch.conf
@@ -0,0 +1,42 @@
+#
+# /etc/nsswitch.conf
+#
+# An example Name Service Switch config file. This file should be
+# sorted with the most-used services at the beginning.
+#
+# The entry '[NOTFOUND=return]' means that the search for an
+# entry should stop if the search in the previous entry turned
+# up nothing. Note that if the search failed due to some other reason
+# (like no NIS server responding) then the search continues with the
+# next entry.
+#
+# Legal entries are:
+#
+# nisplus or nis+ Use NIS+ (NIS version 3)
+# nis or yp Use NIS (NIS version 2), also called YP
+# dns Use DNS (Domain Name Service)
+# files Use the local files
+# [NOTFOUND=return] Stop searching if not found so far
+#
+
+passwd: files
+shadow: files
+group: files
+
+hosts: files dns
+
+services: [NOTFOUND=return] files
+networks: [NOTFOUND=return] files
+protocols: [NOTFOUND=return] files
+rpc: [NOTFOUND=return] files
+ethers: [NOTFOUND=return] files
+netmasks: [NOTFOUND=return] files
+bootparams: [NOTFOUND=return] files
+
+netgroup:
+
+publickey:
+
+automount: files
+aliases: files
+
diff --git a/source/installer/sources/initrd/etc/passwd b/source/installer/sources/initrd/etc/passwd
new file mode 100644
index 000000000..d89e1ba5f
--- /dev/null
+++ b/source/installer/sources/initrd/etc/passwd
@@ -0,0 +1,21 @@
+root:x:0:0::/root:/bin/bash
+bin:x:1:1:bin:/bin:
+daemon:x:2:2:daemon:/sbin:
+adm:x:3:4:adm:/var/log:
+lp:x:4:7:lp:/var/spool/lpd:
+sync:x:5:0:sync:/sbin:/bin/sync
+shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
+halt:x:7:0:halt:/sbin:/sbin/halt
+mail:x:8:12:mail:/:
+news:x:9:13:news:/usr/lib/news:
+uucp:x:10:14:uucp:/var/spool/uucppublic:
+operator:x:11:0:operator:/root:/bin/bash
+games:x:12:100:games:/usr/games:
+ftp:x:14:50::/home/ftp:
+smmsp:x:25:25:smmsp:/var/spool/clientmqueue:
+mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash
+rpc:x:32:32:RPC portmap user:/:/bin/false
+sshd:x:33:33:sshd:/:
+gdm:x:42:42:GDM:/var/state/gdm:/bin/bash
+pop:x:90:90:POP:/:
+nobody:x:99:99:nobody:/:
diff --git a/source/installer/sources/initrd/etc/pcmcia/config.opts b/source/installer/sources/initrd/etc/pcmcia/config.opts
new file mode 100644
index 000000000..5b8d5faf3
--- /dev/null
+++ b/source/installer/sources/initrd/etc/pcmcia/config.opts
@@ -0,0 +1,71 @@
+#
+# Local PCMCIA Configuration File
+#
+#----------------------------------------------------------------------
+#
+# System resources available for PCMCIA cards
+#
+# NOTE: these settings have no effect on resources assigned to a
+# CardBus bridge device itself; this file only affects resources
+# assigned to cards. Also, interrupt settings here will only affect
+# ISA bus interrupts assigned to 16-bit cards. PCI interrupts
+# generally can't be reconfigured.
+#
+# With the kernel PCMCIA subsystem, these settings also have no effect
+# at all on resources used for 32-bit CardBus cards. Those are set by
+# the PCI hotplug subsystem.
+#
+
+# These are the official ports to use from pcmcia-cs:
+#include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
+# However, ports 0x810-0x81f hurt on some DELL machines and
+# ports 0x3b0-0x3df hurt on some FSC machines, so we use this port
+# list instead:
+include port 0x100-0x3af, port 0x3e0-0x4ff, port 0xc00-0xcff
+
+include memory 0xc0000-0xfffff
+include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
+
+# High port numbers do not always work...
+# include port 0x1000-0x17ff
+
+# Extra port range for IBM Token Ring
+include port 0xa00-0xaff
+
+# Resources we should not use, even if they appear to be available
+
+# First built-in serial port
+exclude irq 4
+# Second built-in serial port
+#exclude irq 3
+# First built-in parallel port
+exclude irq 7
+
+#----------------------------------------------------------------------
+
+# Examples of options for loadable modules
+
+# To fix sluggish network with IBM ethernet adapter...
+#module "pcnet_cs" opts "mem_speed=600"
+
+# Options for IBM Token Ring adapters
+#module "ibmtr_cs" opts "mmiobase=0xd0000 srambase=0xd4000"
+
+# Options for Raylink/WebGear driver: uncomment only one line...
+# These are the default settings for use with the WebGear Windows driver:
+#module "ray_cs" opts "essid=NETWORK_NAME hop_dwell=128 beacon_period=256 translate=0"
+# Generic ad-hoc network
+#module "ray_cs" opts "essid=ADHOC_ESSID hop_dwell=128 beacon_period=256 translate=1"
+# Infrastructure network for older cards
+#module "ray_cs" opts "net_type=1 essid=ESSID1"
+# Infrastructure network for WebGear
+#module "ray_cs" opts "net_type=1 essid=ESSID1 translate=1 hop_dwell=128 beacon_period=256"
+
+# Options for WaveLAN/IEEE driver (AccessPoint mode)...
+#module "wvlan_cs" opts "station_name=MY_PC"
+# Options for WaveLAN/IEEE driver (ad-hoc mode)...
+#module "wvlan_cs" opts "port_type=3 channel=1 station_name=MY_PC"
+
+# Options for Xircom Netwave driver...
+#module "netwave_cs" opts "domain=0x100 scramble_key=0x0"
+
diff --git a/source/installer/sources/initrd/etc/profile b/source/installer/sources/initrd/etc/profile
new file mode 100644
index 000000000..c728b165b
--- /dev/null
+++ b/source/installer/sources/initrd/etc/profile
@@ -0,0 +1,35 @@
+# commands common to all logins
+PATH="$PATH:/bin:/sbin:/usr/bin:/usr/lib/setup"
+PATH="$PATH:/mnt/usr/local/bin:/mnt/usr/bin:/mnt/bin"
+PATH="$PATH:/mnt/usr/local/sbin:/mnt/usr/sbin:/mnt/sbin"
+PATH="$PATH:/mnt/linux/usr/local/bin:/mnt/linux/usr/bin:/mnt/linux/bin"
+PATH="$PATH:/mnt/linux/usr/local/sbin:/mnt/linux/usr/sbin:/mnt/linux/sbin"
+
+# Allow a user to set the default TERM entry by specifying TERM=<name>
+# as a kernel command line parameter:
+if cat /proc/cmdline | grep "TERM=[a-zA-Z0-9]" 1> /dev/null 2> /dev/null ; then
+ export TERM=$( sed 's/.*TERM=\([^ ]*\).*/\1/' < /proc/cmdline )
+elif cat /proc/cmdline | grep console=ttyS 1> /dev/null 2> /dev/null ; then
+ export TERM=vt100
+else
+ export TERM=linux
+fi
+HOME=/root
+LESS=-MM
+
+# Set command line prompt:
+PS1='\u@\h:\w# '
+PS2='> '
+
+ignoreeof=10
+export HOME PATH DISPLAY LESS TERM PS1 PS2 ignoreeof
+umask 022
+
+# Append any additional sh scripts found in /etc/profile.d/:
+for profile_script in /etc/profile.d/*.sh ; do
+ if [ -x $profile_script ]; then
+ . $profile_script
+ fi
+done
+unset profile_script
+
diff --git a/source/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh b/source/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh
new file mode 100755
index 000000000..57670d6ef
--- /dev/null
+++ b/source/installer/sources/initrd/etc/profile.d/coreutils-dircolors.sh
@@ -0,0 +1,55 @@
+# Slackware color ls profile script for /bin/sh-like shells.
+
+# Set up LS_OPTIONS environment variable.
+# This contains extra command line options to use with ls.
+# The default ones are:
+# -F = show '/' for dirs, '*' for executables, etc.
+# -T 0 = don't trust tab spacing when formatting ls output.
+# -b = better support for special characters
+OPTIONS="-F -b -T 0"
+
+# COLOR needs one of these arguments:
+# 'auto' colorizes output to ttys, but not pipes.
+# 'always' adds color characters to all output.
+# 'never' shuts colorization off.
+COLOR=auto
+
+# This section shouldn't require any user adjustment since it is
+# simply setting the LS_OPTIONS variable using the information
+# already given above:
+LS_OPTIONS=" $OPTIONS --color=$COLOR ";
+export LS_OPTIONS;
+unset COLOR
+unset OPTIONS
+
+# Set up aliases to use color ls by default. A few additional
+# aliases like 'dir', 'vdir', etc, are some ancient artifacts
+# from 1992 or so... possibly they should be disabled, but maybe
+# someone out there is actually using them? :-)
+# Assume shell aliases are supported. Ash is going to freak out
+# when it sees zsh syntax anyway, so whatever.
+alias ls='/bin/ls $LS_OPTIONS';
+alias dir='/bin/ls $LS_OPTIONS --format=vertical';
+alias vdir='/bin/ls $LS_OPTIONS --format=long';
+alias d=dir;
+alias v=vdir;
+
+# Just for fun, here are the old sh/ash style shell functions.
+# this script isn't currently working with ash (and makes some noisy
+# error messages), but perhaps these will still be of use to
+# someone...
+#ls () { /bin/ls $LS_OPTIONS "$@" ; };
+#dir () { /bin/ls $LS_OPTIONS --format=vertical "$@" ; };
+#vdir () { /bin/ls $LS_OPTIONS --format=long "$@" ; };
+#d () { dir "$@" ; };
+#v () { vdir "$@" ; };
+
+# Set up the LS_COLORS environment:
+if [ -f $HOME/.dir_colors ]; then
+ eval `/bin/dircolors -b $HOME/.dir_colors`
+elif [ -f /etc/DIR_COLORS ]; then
+ eval `/bin/dircolors -b /etc/DIR_COLORS`
+else
+ eval `/bin/dircolors -b`
+fi
+
diff --git a/source/installer/sources/initrd/etc/profile.d/glibc.sh b/source/installer/sources/initrd/etc/profile.d/glibc.sh
new file mode 100755
index 000000000..979f4879e
--- /dev/null
+++ b/source/installer/sources/initrd/etc/profile.d/glibc.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Set more relaxed (glibc-2.3.5 like) malloc() checking.
+#
+# This relaxes the default paranoia level so that it reports
+# bugs, but does not kill the questionable process. You can
+# get away with running broken programs with this setting,
+# but at a possible performance and security cost.
+#export MALLOC_CHECK_=1
diff --git a/source/installer/sources/initrd/etc/protocols b/source/installer/sources/initrd/etc/protocols
new file mode 100644
index 000000000..db3254c97
--- /dev/null
+++ b/source/installer/sources/initrd/etc/protocols
@@ -0,0 +1,146 @@
+#
+# Internet protocols
+#
+# $FreeBSD: src/etc/protocols,v 1.16 2002/02/10 08:19:58 dd Exp $
+# from: @(#)protocols 5.1 (Berkeley) 4/17/89
+#
+# See also http://www.iana.org/assignments/protocol-numbers
+#
+ip 0 IP # internet protocol, pseudo protocol number
+#hopopt 0 HOPOPT # hop-by-hop options for ipv6
+icmp 1 ICMP # internet control message protocol
+igmp 2 IGMP # internet group management protocol
+ggp 3 GGP # gateway-gateway protocol
+ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
+st2 5 ST2 # ST2 datagram mode (RFC 1819)
+tcp 6 TCP # transmission control protocol
+cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>
+egp 8 EGP # exterior gateway protocol
+igp 9 IGP # any private interior gateway (Cisco: for IGRP)
+bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring
+nvp 11 NVP-II # Network Voice Protocol
+pup 12 PUP # PARC universal packet protocol
+argus 13 ARGUS # ARGUS
+emcon 14 EMCON # EMCON
+xnet 15 XNET # Cross Net Debugger
+chaos 16 CHAOS # Chaos
+udp 17 UDP # user datagram protocol
+mux 18 MUX # Multiplexing protocol
+dcn 19 DCN-MEAS # DCN Measurement Subsystems
+hmp 20 HMP # host monitoring protocol
+prm 21 PRM # packet radio measurement protocol
+xns-idp 22 XNS-IDP # Xerox NS IDP
+trunk-1 23 TRUNK-1 # Trunk-1
+trunk-2 24 TRUNK-2 # Trunk-2
+leaf-1 25 LEAF-1 # Leaf-1
+leaf-2 26 LEAF-2 # Leaf-2
+rdp 27 RDP # "reliable datagram" protocol
+irtp 28 IRTP # Internet Reliable Transaction Protocol
+iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4
+netblt 30 NETBLT # Bulk Data Transfer Protocol
+mfe-nsp 31 MFE-NSP # MFE Network Services Protocol
+merit-inp 32 MERIT-INP # MERIT Internodal Protocol
+sep 33 SEP # Sequential Exchange Protocol
+3pc 34 3PC # Third Party Connect Protocol
+idpr 35 IDPR # Inter-Domain Policy Routing Protocol
+xtp 36 XTP # Xpress Tranfer Protocol
+ddp 37 DDP # Datagram Delivery Protocol
+idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto
+tp++ 39 TP++ # TP++ Transport Protocol
+il 40 IL # IL Transport Protocol
+ipv6 41 IPV6 # ipv6
+sdrp 42 SDRP # Source Demand Routing Protocol
+ipv6-route 43 IPV6-ROUTE # routing header for ipv6
+ipv6-frag 44 IPV6-FRAG # fragment header for ipv6
+idrp 45 IDRP # Inter-Domain Routing Protocol
+rsvp 46 RSVP # Resource ReSerVation Protocol
+gre 47 GRE # Generic Routing Encapsulation
+mhrp 48 MHRP # Mobile Host Routing Protocol
+bna 49 BNA # BNA
+esp 50 ESP # encapsulating security payload
+ah 51 AH # authentication header
+i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA
+swipe 53 SWIPE # IP with Encryption
+narp 54 NARP # NBMA Address Resolution Protocol
+mobile 55 MOBILE # IP Mobility
+tlsp 56 TLSP # Transport Layer Security Protocol
+skip 57 SKIP # SKIP
+ipv6-icmp 58 IPV6-ICMP # ICMP for IPv6
+ipv6-nonxt 59 IPV6-NONXT # no next header for ipv6
+ipv6-opts 60 IPV6-OPTS # destination options for ipv6
+# 61 # any host internal protocol
+cftp 62 CFTP # CFTP
+# 63 # any local network
+sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK
+kryptolan 65 KRYPTOLAN # Kryptolan
+rvd 66 RVD # MIT Remote Virtual Disk Protocol
+ippc 67 IPPC # Internet Pluribus Packet Core
+# 68 # any distributed file system
+sat-mon 69 SAT-MON # SATNET Monitoring
+visa 70 VISA # VISA Protocol
+ipcv 71 IPCV # Internet Packet Core Utility
+cpnx 72 CPNX # Computer Protocol Network Executive
+cphb 73 CPHB # Computer Protocol Heart Beat
+wsn 74 WSN # Wang Span Network
+pvp 75 PVP # Packet Video Protocol
+br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring
+sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary
+wb-mon 78 WB-MON # WIDEBAND Monitoring
+wb-expak 79 WB-EXPAK # WIDEBAND EXPAK
+iso-ip 80 ISO-IP # ISO Internet Protocol
+vmtp 81 VMTP # Versatile Message Transport
+secure-vmtp 82 SECURE-VMTP # SECURE-VMTP
+vines 83 VINES # VINES
+ttp 84 TTP # TTP
+nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP
+dgp 86 DGP # Dissimilar Gateway Protocol
+tcf 87 TCF # TCF
+eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)
+ospf 89 OSPFIGP # Open Shortest Path First IGP
+sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol
+larp 91 LARP # Locus Address Resolution Protocol
+mtp 92 MTP # Multicast Transport Protocol
+ax.25 93 AX.25 # AX.25 Frames
+ipip 94 IPIP # Yet Another IP encapsulation
+micp 95 MICP # Mobile Internetworking Control Pro.
+scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro.
+etherip 97 ETHERIP # Ethernet-within-IP Encapsulation
+encap 98 ENCAP # Yet Another IP encapsulation
+# 99 # any private encryption scheme
+gmtp 100 GMTP # GMTP
+ifmp 101 IFMP # Ipsilon Flow Management Protocol
+pnni 102 PNNI # PNNI over IP
+pim 103 PIM # Protocol Independent Multicast
+aris 104 ARIS # ARIS
+scps 105 SCPS # SCPS
+qnx 106 QNX # QNX
+a/n 107 A/N # Active Networks
+ipcomp 108 IPComp # IP Payload Compression Protocol
+snp 109 SNP # Sitara Networks Protocol
+compaq-peer 110 Compaq-Peer # Compaq Peer Protocol
+ipx-in-ip 111 IPX-in-IP # IPX in IP
+vrrp 112 VRRP # Virtual Router Redundancy Protocol
+pgm 113 PGM # PGM Reliable Transport Protocol
+# 114 # any 0-hop protocol
+l2tp 115 L2TP # Layer Two Tunneling Protocol
+ddx 116 DDX # D-II Data Exchange
+iatp 117 IATP # Interactive Agent Transfer Protocol
+st 118 ST # Schedule Transfer
+srp 119 SRP # SpectraLink Radio Protocol
+uti 120 UTI # UTI
+smp 121 SMP # Simple Message Protocol
+sm 122 SM # SM
+ptp 123 PTP # Performance Transparency Protocol
+isis 124 ISIS # ISIS over IPv4
+fire 125 FIRE
+crtp 126 CRTP # Combat Radio Transport Protocol
+crudp 127 CRUDP # Combat Radio User Datagram
+sscopmce 128 SSCOPMCE
+iplt 129 IPLT
+sps 130 SPS # Secure Packet Shield
+pipe 131 PIPE # Private IP Encapsulation within IP
+sctp 132 SCTP # Stream Control Transmission Protocol
+fc 133 FC # Fibre Channel
+# 134-254 # Unassigned
+divert 254 DIVERT # Divert pseudo-protocol [non IANA]
+# 255 # Reserved
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.S b/source/installer/sources/initrd/etc/rc.d/rc.S
new file mode 100755
index 000000000..38317b4df
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.S
@@ -0,0 +1,250 @@
+#!/bin/sh
+# rc.S: Basic system initialization.
+
+# Any /etc/mtab that exists here is old, so we start with a new one:
+/bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab
+
+# Add (fake) entry for / to /etc/mtab:
+/sbin/mount -f -w /dev/initramfs / -t tmpfs 1> /dev/null
+
+# Mount /proc:
+/sbin/mount -v proc /proc -t proc 1> /dev/null
+
+# Mount sysfs next:
+/sbin/mount -v sysfs /sys -t sysfs 1> /dev/null
+
+# Activate swap:
+/sbin/swapon -a 1> /dev/null
+
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig 1> /dev/null
+fi
+
+## Detect serial console from kernel command line:
+#if cat /proc/cmdline | grep console=ttyS 1> /dev/null 2> /dev/null ; then
+# SERIAL_CONSOLE="true"
+#fi
+
+# System logger (mostly to eat annoying messages):
+/sbin/syslogd 2> /dev/null
+sleep 1
+/sbin/klogd -c 3 1> /dev/null
+
+# Try to load the loop module:
+modprobe loop 1> /dev/null 2> /dev/null
+
+# Run udev:
+if ! grep -wq noudev /proc/cmdline ; then
+ /bin/bash /etc/rc.d/rc.udev start
+
+ # Re-assemble RAID volumes:
+ /sbin/mdadm -E -s > /etc/mdadm.conf
+ /sbin/mdadm -S -s
+ /sbin/mdadm -A -s
+ # This seems to make the kernel see partitions more reliably:
+ fdisk -l /dev/md* 1> /dev/null 2> /dev/null
+else
+ # Run our old detection routines:
+
+ # Look for USB keyboard or storage:
+ /etc/rc.d/rc.usb start
+ sleep 3
+
+ # Look for IEEE1394 devices:
+ if grep 1394 /proc/pci 1> /dev/null 2> /dev/null ; then
+ /etc/rc.d/rc.ieee1394 start
+ #sleep 3
+ fi
+
+ # Load additional install floppies:
+ for NEWDISK in 2 ; do
+ if [ ! -r /etc/disk${NEWDISK} ]; then
+ while [ 0 ]; do
+ echo
+ echo -n "Insert install.${NEWDISK} floppy disk to be loaded into RAM disk and press ENTER"
+ read readfoo;
+ if [ "$readfoo" = "Q" -o "$readfoo" = "q" ]; then
+ break;
+ fi
+ echo -n "Loading install.${NEWDISK} floppy into RAM disk... "
+ ( cd / ; cat /dev/fd0 | zcat 2> /dev/null | tar xf - )
+ if [ -r /etc/disk${NEWDISK} ]; then
+ echo "done."
+ echo
+ break;
+ else
+ echo "Error. (reload or enter Q)"
+ echo
+ continue;
+ fi
+ done
+ fi
+ done
+
+ ### PROBABLY USELESS WITHOUT SOME TIMED DELAY ABOVE
+ ## Start USB again (in case we missed a USB keyboard)
+ #/etc/rc.d/rc.usb start
+
+ # Make detected partitions:
+ /dev/makedevs.sh
+
+ ## Not needed with CONFIG_SCSI_MULTI_LUN=y
+ #unset SCAN
+ ## Now we should rescan the "SCSI" bus to look for new USB or firewire devices
+ ## that look like SCSI devices:
+ #if [ -r /proc/bus/usb/devices ]; then
+ # if cat /proc/bus/usb/devices | grep -w usb-storage 1> /dev/null 2> /dev/null ; then
+ # SCAN="true"
+ # fi
+ #fi
+ #if [ -r /proc/bus/ieee1394/devices ]; then
+ # if cat /proc/bus/ieee1394/devices | grep -w SBP2 1> /dev/null 2> /dev/null ; then
+ # SCAN="true"
+ # fi
+ #fi
+ #if [ "$SCAN" = "true" ]; then
+ # if ! cat /proc/cmdline | grep -q noscanluns 2> /dev/null ; then
+ # echo "Detected new USB/IEEE1394 storage devices... scanning all LUNs."
+ # echo "(to skip, give a 'noscanluns' kernel option at boot)"
+ # #sleep 5
+ # sh /sbin/rescan-scsi-bus -l
+ # #sleep 1
+ # fi
+ #fi
+ #unset SCAN
+
+ # Re-assemble RAID volumes:
+ /sbin/mdadm -E -s > /etc/mdadm.conf
+ /sbin/mdadm -S -s
+ /sbin/mdadm -A -s
+ # This seems to make the kernel see partitions more reliably:
+ fdisk -l /dev/md* 1> /dev/null 2> /dev/null
+
+ # Check /proc/partitions again:
+ /dev/makedevs.sh
+
+ # Create LVM nodes:
+ /dev/devmap_mknod.sh
+
+fi # End Run udev:
+
+# Here's the situation. Because of the practice of keeping the local
+# time (rather than UTC) in the system's clock, at any given time half
+# of the people doing an install will be creating files that upon
+# reboot will appear to have been created in the future.
+#
+# There are a lot of things that aren't happy when that happens. The
+# one that screams the most loudly is e2fsck, and we don't want to
+# anger that! Sometimes it even proceeds to check the partitions just
+# to be sure the user is fully punished.
+#
+# But, there's a simple solution. If we set the (temporary) Linux clock
+# to yesterday (-24h), then there's no way that could occur. Everything
+# on the system will be in the past (but not too far in the past).
+# Since files will quickly be put into use and given the correct after
+# reboot, this really shouldn't have a negative impact. Plus, it affects
+# only newly created files during installation -- any file shipped in a
+# package will have an accurate time of creation. (for its timezone ;-)
+#
+# Update: We have to use 2 days ago, or chroot()+timezone offset might
+# still be in the future... <sigh>
+#
+touch /.today
+/bin/sh /sbin/fakedate
+
+if [ -x /etc/rc.d/rc.inet1 ]; then
+ /bin/sh /etc/rc.d/rc.inet1
+fi
+
+# pcmciautils is installing rc.pcmcia as chmod 644, so we'll change that.
+# It won't be run at boot time, but it'll make it easy for the pcmcia script
+# or to run it from the command line.
+chmod 755 /etc/rc.d/rc.pcmcia
+
+# Scan for existing LVM partitions:
+# We will run 'vgscan -ay' in the setup to prevent a 10 second sleep;
+vgscan --mknodes 2> /tmp/foo
+cat /tmp/foo | uniq
+rm -f /tmp/foo
+
+if [ -x /etc/rc.d/rc.font ]; then
+ /bin/sh /etc/rc.d/rc.font
+fi
+
+# Don't automatically blank the screen, or it will go black during the install
+# process when stray keystrokes might be dangerous:
+/bin/setterm -blank 0
+
+echo > /etc/motd
+echo "`/bin/uname -a | /bin/cut -d\ -f1,3`." >> /etc/motd
+echo >> /etc/motd
+cat << EOF >> /etc/motd
+If you're upgrading an existing Slackware system, you might want to
+remove old packages before you run 'setup' to install the new ones. If
+you don't, your system will still work but there might be some old files
+left laying around on your drive.
+
+Just mount your Linux partitions under /mnt and type 'pkgtool'. If you
+don't know how to mount your partitions, type 'pkgtool' and it will tell
+you how it's done.
+
+To partition your hard drive(s), use 'cfdisk' or 'fdisk'.
+To start the main installation (after partitioning), type 'setup'.
+
+EOF
+
+# Dropbear seems to handle the $PATH correctly now...
+#echo > /etc/motd.net
+#echo "First command to run is 'source /etc/profile'." >> /etc/motd.net
+#echo "This will setup the PATH for you." >> /etc/motd.net
+#echo >> /etc/motd.net
+
+# If possible, figure out what kernel we just booted with:
+unset SLACK_KERNEL
+for ARG in `cat /proc/cmdline` ; do
+ if [ "`echo $ARG | cut -f 1 -d =`" = "SLACK_KERNEL" ]; then
+ IMAGE="`echo $ARG | cut -f 2 -d =`"
+ SLACK_KERNEL=$IMAGE
+ fi
+done
+export SLACK_KERNEL
+
+. /etc/profile
+
+clear
+if ! cat /proc/cmdline | grep -q 'kbd=' 2> /dev/null ; then
+ echo
+ echo
+ echo "<OPTION TO LOAD SUPPORT FOR NON-US KEYBOARD>"
+ echo
+ echo "If you are not using a US keyboard, you may now load a different"
+ echo "keyboard map. To select a different keyboard map, please enter 1"
+ echo "now. To continue using the US map, just hit enter."
+ echo
+ echo -n "Enter 1 to select a keyboard map: "
+ read ONE
+ if [ "$ONE" = "1" ]; then
+ /usr/lib/setup/SeTkeymap
+ fi
+else
+ for ARG in `cat /proc/cmdline` ; do
+ if [ "`echo $ARG | cut -f1 -d=`" = "kbd" ]; then
+ BMAP="`echo $ARG | cut -f2 -d=`.bmap"
+ fi
+ done
+ tar xzOf /etc/keymaps.tar.gz $BMAP | loadkmap
+ unset BMAP
+fi
+clear
+
+# Provision for unattended network configuration:
+/usr/lib/setup/SeTnet boot
+# Start dropbear ssh server (only if a configured interface is present):
+/etc/rc.d/rc.dropbear start
+
+# Fake login: (fooled ya! ;^)
+
+cat /etc/issue
+echo -n "slackware login: "
+read BOGUS_LOGIN
+cat /etc/motd
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.dropbear b/source/installer/sources/initrd/etc/rc.d/rc.dropbear
new file mode 100755
index 000000000..a9ed47fd5
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.dropbear
@@ -0,0 +1,58 @@
+#!/bin/sh
+# Start/stop/restart the dropbear secure shell server:
+
+# Terminate the script now if we have no interface with an IP address:
+if ! `ip -f inet -o addr show | grep -v " lo " 1>/dev/null 2>/dev/null` ; then
+ exit 1
+fi
+
+dropbear_start() {
+ # Create host keys if needed.
+ if [ ! -f /etc/dropbear/dropbear_rsa_host_key ]; then
+ /bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
+ fi
+ if [ ! -f /etc/dropbear/dropbear_dss_host_key ]; then
+ /bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
+ fi
+ touch /var/log/lastlog # The file is missing in the installer
+ /sbin/dropbear 2>> /var/log/dropbear.log
+}
+
+dropbear_stop() {
+ killall dropbear
+}
+
+dropbear_restart() {
+ if [ -r /var/run/dropbear.pid ]; then
+ echo "WARNING: killing listener process only. To kill every dropbear process, you "
+ echo " must use 'rc.dropbear stop'. 'rc.dropbear restart' kills only the "
+ echo " parent dropbear to allow an admin logged in through dropbear to use "
+ echo " 'rc.dropbear restart' without being cut off. If dropbear has been "
+ echo " upgraded, new connections will now use the new version, which should "
+ echo " be a safe enough approach."
+ kill `cat /var/run/dropbear.pid`
+ else
+ echo "WARNING: There does not appear to be a parent instance of dropbear running."
+ echo " If you really want to kill all running instances of dropbear "
+ echo " (including any sessions currently in use), run "
+ echo " '/etc/rc.d/rc.dropbear stop' instead."
+ exit 1
+ fi
+ sleep 1
+ dropbear_start
+}
+
+case "$1" in
+'start')
+ dropbear_start
+ ;;
+'stop')
+ dropbear_stop
+ ;;
+'restart')
+ dropbear_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.font b/source/installer/sources/initrd/etc/rc.d/rc.font
new file mode 100755
index 000000000..69e69baaa
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.font
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Load terminus font. This is either to resize the terminal to be close to default,
+# or to simply load a better looking font for the installer.
+
+# In case udev has not yet prepared the tty devices, create them:
+create_tty() {
+ if [ ! -r /dev/tty1 ]; then
+ mknod /dev/tty1 c 4 1
+ chown root:tty /dev/tty1
+ chmod 620 /dev/tty1
+ fi
+ if [ ! -r /dev/tty2 ]; then
+ mknod /dev/tty2 c 4 2
+ chown root:tty /dev/tty2
+ chmod 620 /dev/tty2
+ fi
+ if [ ! -r /dev/tty3 ]; then
+ mknod /dev/tty3 c 4 3
+ chown root:tty /dev/tty3
+ chmod 620 /dev/tty3
+ fi
+ if [ ! -r /dev/tty4 ]; then
+ mknod /dev/tty4 c 4 4
+ chown root:tty /dev/tty4
+ chmod 620 /dev/tty4
+ fi
+}
+
+if ! grep -wq nofont /proc/cmdline ; then
+ if [ ! "$(cat /proc/fb)" = "" ] ; then
+ if [ -r /usr/share/kbd/consolefonts/ter-120b.psf.gz ]; then
+ create_tty
+ for tty in /dev/tty{1,2,3,4} ; do
+ setfont -C $tty /usr/share/kbd/consolefonts/ter-120b.psf.gz
+ done
+ fi
+ else
+ if [ -r /usr/share/kbd/consolefonts/ter-c14v.psf.gz ]; then
+ create_tty
+ for tty in /dev/tty{1,2,3,4} ; do
+ setfont -C $tty /usr/share/kbd/consolefonts/ter-c14v.psf.gz
+ done
+ fi
+ fi
+fi
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.ieee1394 b/source/installer/sources/initrd/etc/rc.d/rc.ieee1394
new file mode 100755
index 000000000..2701229dc
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.ieee1394
@@ -0,0 +1,48 @@
+#!/bin/sh
+# rc.ieee1394: search for IEEE1394 (firewire) devices needed for installation.
+
+# This is a function to unload the IEEE1394 (firewire) modules:
+ieee1394_stop() {
+ modprobe -r sbp2 ohci1394
+ modprobe -r ieee1394
+}
+
+# This is a function to attempt to enable a IEEE1394 storage device.
+# If this causes problems for you, use "noieee1394" as a kernel
+# command line option at boot time.
+ieee1394_start() {
+ # If noieee1394 was given at boot, skip.
+ if ! cat /proc/cmdline | grep noieee1394 1> /dev/null 2> /dev/null ; then
+ # If there aren't even any modules for this kernel, skip.
+ if [ -d /lib/modules/`uname -r` ]; then
+ # If ieee1394 is already loaded, skip.
+ if ! grep ieee1394 /proc/modules 1> /dev/null 2> /dev/null ; then
+ echo "Probing for IEEE1394 (Firewire) controllers."
+ echo "(to skip, give a 'noieee1394' kernel option at boot)"
+ #sleep 5
+ modprobe -q ieee1394 >/dev/null 2>&1
+ # Try to load hub module:
+ modprobe -q ohci1394 >/dev/null 2>&1
+ # Attempt to load storage support.
+ modprobe -q sbp2 >/dev/null 2>&1
+ fi
+ fi
+ fi
+}
+
+case "$1" in
+'start')
+ ieee1394_start
+ ;;
+'stop')
+ ieee1394_stop
+ ;;
+'restart')
+ ieee1394_stop
+ sleep 5
+ ieee1394_start
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.inet1 b/source/installer/sources/initrd/etc/rc.d/rc.inet1
new file mode 100755
index 000000000..370de0061
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.inet1
@@ -0,0 +1,28 @@
+#! /bin/sh
+#
+# rc.inet1 This shell script boots up the base INET system.
+#
+# Version: @(#)/etc/rc.d/rc.inet1 1.01 05/27/93
+#
+
+TMP=/var/log/setup/tmp
+mkdir -p $TMP/dhcpc
+
+HOSTNAME=`cat /etc/HOSTNAME`
+/bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .`
+
+# Attach the loopback device.
+/sbin/ifconfig lo 127.0.0.1
+/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
+
+# In case we use udev -
+# Try to get information from a local DHCP server and store that for later:
+if ! grep -wq nodhcp /proc/cmdline ; then
+ for EDEV in $(cat /proc/net/dev | grep ':' | sed -e "s/^ *//" | cut -f1 -d: | grep -v lo) ; do
+ if grep -q $(echo ${EDEV}: | cut -f 1 -d :): /proc/net/wireless ; then
+ continue # skip wireless interfaces
+ fi
+ /sbin/dhcpcd -t 35 -L -T $EDEV 1>/etc/dhcpc/dhcpcd-${EDEV}.info 2>/dev/null &
+ done
+fi
+
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.pcmcia b/source/installer/sources/initrd/etc/rc.d/rc.pcmcia
new file mode 100755
index 000000000..1f21be84e
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.pcmcia
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# rc.pcmcia: Script to initialize PCMCIA subsystem.
+# Based in an example found in cardmgr-to-pcmciautils.txt
+# and in Slackware rc.pcmcia found in pcmcia-cs package.
+#
+
+# Set this to the driver to use, one of:
+# probe, yenta_socket, i82365, i82092, pd6729, tcic, etc.
+#
+DRIVER=probe
+DRIVER_OPTS=
+
+case "$1" in
+ start)
+ echo "Starting PCMCIA services:"
+ fgrep -q pcmcia /proc/devices
+ if [ $? -ne 0 ] ; then
+ if [ "$DRIVER" = "probe" ]; then
+ echo " <Probing for PCIC: edit /etc/rc.d/rc.pcmcia>"
+ for DRV in yenta_socket i82365 tcic ; do
+ /sbin/modprobe $DRV > /dev/null 2>&1
+ /sbin/pccardctl status | grep -q Socket && break
+ /sbin/modprobe -r $DRV > /dev/null 2>&1
+ done
+ else
+ echo " <Loading PCIC: $DRIVER>"
+ /sbin/modprobe $DRIVER $DRIVER_OPTS > /dev/null 2>&1
+ fi
+ /sbin/modprobe pcmcia > /dev/null 2>&1 # just in case it's not auto-loaded
+ else
+ echo " <PCIC already loaded>"
+ fi
+ ;;
+
+ stop)
+ echo -n "Shutting down PCMCIA services: "
+ echo -n "cards "
+ /sbin/pccardctl eject
+ MODULES=`/sbin/lsmod | grep "pcmcia " | awk '{print $4}' | tr , ' '`
+ for i in $MODULES ; do
+ echo -n "$i "
+ /sbin/modprobe -r $i > /dev/null 2>&1
+ done
+ echo -n "pcmcia "
+ /sbin/modprobe -r pcmcia > /dev/null 2>&1
+ if [ "$DRIVER" = "probe" ]; then
+ for DRV in yenta_socket i82365 tcic ; do
+ grep -qw $DRV /proc/modules && modprobe -r $DRV && \
+ echo -n "$DRV " && break
+ done
+ else
+ /sbin/modprobe -r $DRIVER > /dev/null 2>&1
+ fi
+ echo -n "rsrc_nonstatic "
+ /sbin/modprobe -r rsrc_nonstatic > /dev/null 2>&1
+ echo "pcmcia_core"
+ /sbin/modprobe -r pcmcia_core > /dev/null 2>&1
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+esac
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.udev b/source/installer/sources/initrd/etc/rc.d/rc.udev
new file mode 100755
index 000000000..8c238b0dd
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.udev
@@ -0,0 +1,133 @@
+#!/bin/sh
+# This is a script to initialize udev, which populates the /dev
+# directory with device nodes, scans for devices, loads the
+# appropriate kernel modules, and configures the devices.
+
+PATH="/sbin:/bin"
+OPT=""
+
+. /etc/udev/udev.conf
+
+# remove trailing slash from udev_root
+UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//')
+
+case "$1" in
+ start)
+ # Sanity check #1, udev requires that the kernel support tmpfs:
+ if ! grep -wq tmpfs /proc/filesystems ; then
+ echo "Sorry, but you need tmpfs support in the kernel to use udev."
+ echo
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+
+ # Sanity check #2, make sure that a 2.6.x kernel is new enough:
+ if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then
+ if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "15" ]; then
+ echo "Sorry, but you need a 2.6.15+ kernel to use udev."
+ echo "Your kernel version is only $(uname -r)."
+ echo
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+ fi
+
+ # Sanity check #3, make sure the udev package was not removed. If udevd
+ # is not there, this will also shut off this script to prevent further
+ # problems:
+ if [ ! -x /sbin/udevd ]; then
+ chmod 644 /etc/rc.d/rc.udev
+ echo "No udevd daemon found."
+ echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev"
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+
+ # Disable hotplug helper since udevd listens to netlink:
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo "" > /proc/sys/kernel/hotplug
+ fi
+
+ # if udevd is already running, rc.udev start will try to re-run
+ # failed events. Else, it will start udevd.
+ if ps axc | grep -q udevd ; then
+ OPT="--type=failed $OPT"
+ ( cd ${UDEV_ROOT}/.udev
+ for TMPFILE in tmp-rules-*.rules ; do
+ mv $TMPFILE /etc/udev/rules.d/${TMPFILE/tmp-rules--/} 2>/dev/null
+ done
+ )
+ else
+ # Mount tmpfs on $UDEV_ROOT:
+ if ! grep -E -q "^[^[:space:]]+ $UDEV_ROOT tmpfs" /proc/mounts; then
+ # umount shm if needed
+ if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/shm tmpfs" /proc/mounts; then
+ umount -l $UDEV_ROOT/shm
+ fi
+
+ # Umount pts if needed, we will remount it later:
+ if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/pts devpts" /proc/mounts; then
+ umount -l $UDEV_ROOT/pts
+ fi
+
+ # Mount tmpfs on $UDEV_ROOT:
+ # the -n is because we don't want $UDEV_ROOT umounted when
+ # someone (rc.[06]) calls umount -a
+ mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT
+
+ # Remount pts:
+ mkdir $UDEV_ROOT/pts 2> /dev/null
+ mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts
+ fi
+
+ # Add the static nodes to $UDEV_ROOT:
+ cp --preserve=all --recursive --remove-destination /lib/udev/devices/* $UDEV_ROOT
+
+ # Start udevd:
+ echo "Starting udevd: /sbin/udevd --daemon"
+ /sbin/udevd --daemon
+
+ # Create rootdev rules
+ DEVICENUMBER=$( /bin/stat -c %d / )
+ MAJORNUMBER=$(($DEVICENUMBER / 256))
+ MINORNUMBER=$(($DEVICENUMBER % 256))
+
+ echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'", SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules
+
+ fi
+
+ echo "Triggering udev events: /sbin/udevadm trigger $OPT"
+ # Call udevtrigger and udevsettle to do the device configuration:
+ /sbin/udevadm trigger $OPT && /sbin/udevadm settle --timeout=120
+
+ ;;
+ stop)
+ echo "Stopping udevd"
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo /sbin/hotplug > /proc/sys/kernel/hotplug
+ fi
+ killall udevd
+ ;;
+ restart)
+ echo "Restarting udevd"
+ killall udevd
+ sleep 5
+ udevd --daemon
+ ;;
+ reload)
+ echo "Reloading udev rules"
+ udevadm control --reload-rules
+ cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
+ ;;
+ force-reload)
+ echo "Updating all available device nodes in $UDEV_ROOT"
+ udevadm control --reload-rules
+ rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk
+ cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}"
+ exit 1
+ ;;
+esac
diff --git a/source/installer/sources/initrd/etc/rc.d/rc.usb b/source/installer/sources/initrd/etc/rc.d/rc.usb
new file mode 100755
index 000000000..0c40b5b46
--- /dev/null
+++ b/source/installer/sources/initrd/etc/rc.d/rc.usb
@@ -0,0 +1,71 @@
+#!/bin/sh
+# rc.usb: search for USB devices needed for installation.
+
+# This is a function to unload the USB modules:
+usb_stop() {
+ modprobe -r usb-storage keybdev mousedev usbmouse hid usbkbd \
+ input uhci usb-uhci usb-ohci uhci-hcd ohci-hcd ehci-hcd 2> /dev/null
+ umount usbfs 2> /dev/null
+ modprobe -r usbcore 2> /dev/null
+}
+
+# This is a function to attempt to enable a USB keyboard,
+# mouse, and storage (CD or hard drive).
+# If this causes problems for you, use "nousb" as a kernel
+# command line option at boot time.
+usb_start() {
+ # If nousb was given at boot, skip.
+ if ! cat /proc/cmdline | grep nousb 1> /dev/null 2> /dev/null ; then
+ # If there aren't even any modules for this kernel, skip.
+ if [ -d /lib/modules/`uname -r` ]; then
+ # If usbcore is already loaded, skip.
+ if ! grep usbcore /proc/modules 1> /dev/null 2> /dev/null ; then
+ echo "Probing for USB controllers."
+ echo "(to skip, give a 'nousb' kernel option at boot)"
+ #sleep 5
+ modprobe -q usbcore >/dev/null 2>&1
+ # Try to mount usbfs:
+ if [ -d /proc/bus/usb -a ! -f /proc/bus/usb/devices ]; then
+ mount -t usbfs usbfs /proc/bus/usb
+ fi
+ # Try to load all the hub modules:
+ modprobe -q ehci-hcd >/dev/null 2>&1
+ modprobe -q ohci-hcd >/dev/null 2>&1
+ modprobe -q uhci-hcd >/dev/null 2>&1
+ modprobe -q usb-ohci >/dev/null 2>&1
+ # NOTE: this prefers "uhci"; you may prefer "usb-uhci".
+ #modprobe -q usb-uhci >/dev/null 2>&1 || modprobe -q uhci >/dev/null 2>&1
+ modprobe -q uhci >/dev/null 2>&1 || modprobe -q usb-uhci >/dev/null 2>&1
+ # Load input core:
+ modprobe -q input >/dev/null 2>&1
+ # Load USB keyboard:
+ modprobe -q usbkbd >/dev/null 2>&1
+ # Load Human Interface Device (HID) USB module:
+ modprobe -q hid >/dev/null 2>&1
+ # Load mouse (just in case (TM)) and keyboard USB input modules:
+ modprobe -q mousedev >/dev/null 2>&1
+ modprobe -q keybdev >/dev/null 2>&1
+ # Attempt to load storage support. Some funny USB ports (non-0 LUN) might not work
+ # so well, but most are well-behaved.
+ modprobe -q usb-storage >/dev/null 2>&1
+ fi
+ fi
+ fi
+}
+
+case "$1" in
+'start')
+ usb_start
+ ;;
+'stop')
+ usb_stop
+ ;;
+'restart')
+ usb_stop
+ sleep 5
+ usb_start
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/source/installer/sources/initrd/etc/scsi_id.config b/source/installer/sources/initrd/etc/scsi_id.config
new file mode 100644
index 000000000..d2a10a5f7
--- /dev/null
+++ b/source/installer/sources/initrd/etc/scsi_id.config
@@ -0,0 +1,17 @@
+#
+# scsi_id configuration
+#
+# lower or upper case has no effect on the left side. Quotes (") are
+# required for spaces in values. Model is the same as the SCSI
+# INQUIRY product identification field. Per the SCSI INQUIRY, the vendor
+# is limited to 8 bytes, model to 16 bytes.
+#
+# The first matching line found is used. Short matches match longer ones,
+# if you do not want such a match space fill the extra bytes. If no model
+# is specified, only the vendor string need match.
+#
+# options=<any scsi_id command line options>
+# vendor=string[,model=string],options=<per-device scsi_id options>
+
+# some libata drives require vpd page 0x80
+vendor="ATA",options=-p 0x80
diff --git a/source/installer/sources/initrd/etc/securetty b/source/installer/sources/initrd/etc/securetty
new file mode 100644
index 000000000..e4b461401
--- /dev/null
+++ b/source/installer/sources/initrd/etc/securetty
@@ -0,0 +1,20 @@
+# This file defines which devices root can log in on.
+
+# These are the ttys on the physical console:
+console
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+
+# These are remote ttys, and uncommenting them might be less than fully secure:
+ttyS0
+ttyS1
+ttyS2
+ttyS3
+#ttyp0
+#ttyp1
+#ttyp2
+#ttyp3
diff --git a/source/installer/sources/initrd/etc/shadow b/source/installer/sources/initrd/etc/shadow
new file mode 100644
index 000000000..577b5d0f5
--- /dev/null
+++ b/source/installer/sources/initrd/etc/shadow
@@ -0,0 +1,17 @@
+root:joFWnPF2bJhPc:9797:0:::::
+halt:*:9797:0:::::
+operator:*:9797:0:::::
+shutdown:*:9797:0:::::
+sync:*:9797:0:::::
+bin:*:9797:0:::::
+ftp:*:9797:0:::::
+daemon:*:9797:0:::::
+adm:*:9797:0:::::
+lp:*:9797:0:::::
+mail:*:9797:0:::::
+news:*:9797:0:::::
+uucp:*:9797:0:::::
+man:*:9797:0:::::
+games:*:9797:0:::::
+guest:*:9797:0:::::
+nobody:*:9797:0:::::
diff --git a/source/installer/sources/initrd/etc/shells b/source/installer/sources/initrd/etc/shells
new file mode 100644
index 000000000..de0249b3b
--- /dev/null
+++ b/source/installer/sources/initrd/etc/shells
@@ -0,0 +1,2 @@
+/bin/sh
+/bin/bash
diff --git a/source/installer/sources/initrd/etc/syslog.conf b/source/installer/sources/initrd/etc/syslog.conf
new file mode 100644
index 000000000..055ab1c27
--- /dev/null
+++ b/source/installer/sources/initrd/etc/syslog.conf
@@ -0,0 +1,4 @@
+# Write any informational messages on virtual console 4:
+*.=info;*.=notice /dev/tty4
+*.=debug /dev/tty4
+*.warn;*.err /dev/tty4
diff --git a/source/installer/sources/initrd/etc/termcap b/source/installer/sources/initrd/etc/termcap
new file mode 100644
index 000000000..6fcd14ade
--- /dev/null
+++ b/source/installer/sources/initrd/etc/termcap
@@ -0,0 +1,238 @@
+# [Slackware note: If you're looking for a big, full-featured termcap,
+# use /etc/termcap-BSD instead ]
+#
+# From: miquels@drinkel.ow.org (Miquel van Smoorenburg)
+#
+# Okay guys, here is a shorter termcap that does have most
+# capabilities and is ncurses compatible. If it works for you
+# I'd like to hear about it.
+#
+# Some entries in termcap 2.0.7 are too long and your programs
+# may complain "tgetent: warning: termcap entry too long". Here is
+# a smaller termcap. But it may not cover as many terminals as the one
+# in termcap 2.0.7. You can install it as /etc/termcap.
+#
+# termcap Termcap entries for the VT family.
+# All termcap entries have been freed of the 'ks' and
+# 'ke' entries, that put the keypad into applications
+# mode. This is a generally misused entry, not ment
+# for the vt100 "applications" mode. Now cursor and
+# function keys will work in all programs.
+#
+# Also, there is a "generic" vt entry with common
+# entries for all terminals, on which all other entries
+# are built.
+#
+# Version: @(#) vt-termcap 1.37 12-Mar-1996 MvS
+#
+
+# Generic VT entry.
+vg|vt-generic|Generic VT entries:\
+ :bs:mi:ms:pt:xn:xo:it#8:\
+ :RA=\E[?7l:SA=\E?7h:\
+ :bl=^G:cr=^M:ta=^I:\
+ :cm=\E[%i%d;%dH:\
+ :le=^H:up=\E[A:do=\E[B:nd=\E[C:\
+ :LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:DO=\E[%dB:\
+ :ho=\E[H:cl=\E[H\E[2J:ce=\E[K:cb=\E[1K:cd=\E[J:sf=\ED:sr=\EM:\
+ :ct=\E[3g:st=\EH:\
+ :cs=\E[%i%d;%dr:sc=\E7:rc=\E8:\
+ :ei=\E[4l:ic=\E[@:IC=\E[%d@:al=\E[L:AL=\E[%dL:\
+ :dc=\E[P:DC=\E[%dP:dl=\E[M:DL=\E[%dM:\
+ :so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
+ :mb=\E[5m:mh=\E[2m:md=\E[1m:mr=\E[7m:me=\E[m:\
+ :sc=\E7:rc=\E8:kb=\177:\
+ :ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:
+
+## Linux console. One should really set TERM=linux instead of TERM=console.
+#lx|linux|console|con80x25|LINUX System Console:\
+# :co#80:li#25:am:\
+# :is=\E[m\E[?1l\E>\E[10m:\
+# :rs=\E[m\E[?1l\E>\E[10m:\
+# :ch=\E[%i%dG:cv=\E[%i%dd:\
+# :eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
+# :ve=\E[?25h:vi=\E[?25l:\
+# :se=\E[27m:ue=\E[24m:mh=\E[2m:\
+# :ks=:ke=:\
+# :kh=\E[1~:kH=\E[4~:kI=\E[2~:kD=\E[3~:kP=\E[5~:kN=\E[6~:\
+# :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:\
+# :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
+# :F1=\E[23~:F2=\E[24~:\
+# :tc=vt-generic:
+
+# Slackware 3.1 linux termcap entry (Sat Apr 27 23:03:58 CDT 1996):
+lx|linux|console|con80x25|LINUX System Console:\
+ :do=^J:co#80:li#25:cl=\E[H\E[J:sf=\ED:sb=\EM:\
+ :le=^H:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
+ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[27m:us=\E[36m:ue=\E[m:\
+ :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;25r\E[25;1H:\
+ :ll=\E[1;25r\E[25;1H:al=\E[L:dc=\E[P:dl=\E[M:\
+ :it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:ti=\E[r\E[H:\
+ :ho=\E[H:kP=\E[5~:kN=\E[6~:kH=\E[4~:kh=\E[1~:kD=\E[3~:kI=\E[2~:\
+ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\
+ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:K1=\E[1~:K2=\E[5~:\
+ :K4=\E[4~:K5=\E[6~:\
+ :pt:sr=\EM:vt#3:xn:km:bl=^G:vi=\E[?25l:ve=\E[?25h:vs=\E[?25h:\
+ :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:\
+ :r1=\Ec:r2=\Ec:r3=\Ec:
+
+# Some other, commonly used linux console entries.
+lx|con80x28:co#80:li#28:tc=linux:
+lx|con80x43:co#80:li#43:tc=linux:
+lx|con80x50:co#80:li#50:tc=linux:
+lx|con100x37:co#100:li#37:tc=linux:
+lx|con100x40:co#100:li#40:tc=linux:
+lx|con132x43:co#132:li#43:tc=linux:
+
+# vt102 - vt100 + insert line etc. VT102 does not have insert character.
+v2|vt102|DEC vt102 compatible:\
+ :co#80:li#24:\
+ :ic@:IC@:\
+ :is=\E[m\E[?1l\E>:\
+ :rs=\E[m\E[?1l\E>:\
+ :eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
+ :ks=:ke=:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
+ :tc=vt-generic:
+
+# vt100 - really vt102 without insert line, insert char etc.
+vt|vt100|DEC vt100 compatible:\
+ :im@:mi@:al@:dl@:ic@:dc@:AL@:DL@:IC@:DC@:\
+ :tc=vt102:
+
+# Standard vt320 (based on my own digital vt320)
+v3|vt320|DEC vt320:\
+ :co#80:li#24:hs:es:\
+ :is=\E[m\E[2$~\E[?1l\E>:\
+ :rs=\E[m\E[?1l\E>:\
+ :ve=\E[?25h:vi=\E[?25l:\
+ :se=\E[27m:ue=\E[24m:mh=\E[2m:\
+ :eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
+ :ts=\E[1$}\E[1;%i%dH:fs=\E[0$}:ds=\E[1$}\r\E[m\E[K\E[0$}:\
+ :ks=:ke=:\
+ :kI=\E[2~:kD=\E[3~:kP=\E[5~:kN=\E[6~:\
+ :@4=\E[29~:@0=\E[1~:*6=\E[4~:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[16~\
+ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
+ :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\
+ :F6=\E[29~:F7=\E[31~:F8=\E[32~:\
+ :tc=vt-generic:
+
+v8|vt320-8|DEC vt320 in 8-bit mode:\
+ :kI=\2332~:kD=\2333~:kP=\2335~:kN=\2336~:\
+ :@4=\23329~:@0=\2331~:*6=\2334~:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\23316~\
+ :k6=\23317~:k7=\23318~:k8=\23319~:k9=\23320~:k0=\23321~:\
+ :F1=\23323~:F2=\23324~:F3=\23325~:F4=\23326~:F5=\23328~:\
+ :F6=\23329~:F7=\23331~:F8=\23332~:\
+ :ku=\233A:kd=\233B:kr=\233C:kl=\233D:\
+ :tc=vt320:
+
+# Entry for minicom so it uses the PC (IBM) character set.
+# If this doesn't work for kernels between 1.1.18 and 1.1.80,
+# change \E(U -> \E[11m (enter ANSI mode)
+# and \E(B -> \E[10m (leave ANSI mode)
+mc|minicom|ansi-mc|termcap entry for minicom on the console:\
+ :is=\E[m\E>\E(U:\
+ :rs=\E[m\E>\E(B:\
+ :as@:ae@:eA@:ac@:\
+ :bl=\E(B\007\E(U:\
+ :vb=\E(B\007\E(U:\
+ :tc=linux:
+
+# Entry for an xterm. Insert mode has been disabled.
+vs|xterm|xterm-color|vs100|xterm terminal emulator (X Window System):\
+ :am:bs:mi@:km:co#80:li#55:\
+ :im@:ei@:\
+ :ct=\E[3k:ue=\E[m:\
+ :is=\E[m\E[?1l\E>:\
+ :rs=\E[m\E[?1l\E>:\
+ :eA=\E)0:as=^N:ae=^O:ac=aaffggjjkkllmmnnooqqssttuuvvwwxx:\
+ :kI=\E[2~:kD=\177:kP=\E[5~:kN=\E[6~:\
+ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
+ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k0=\E[21~:\
+ :F1=\E[23~:F2=\E[24~:\
+ :kh=\E[H:kH=\EOw:\
+ :ks=:ke=:\
+ :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\
+ :tc=vt-generic:
+
+# Some other entries for the same xterm.
+v2|xterms|vs100s|xterm small window:\
+ :co#80:li#24:tc=xterm:
+vb|xterm-bold|xterm with bold instead of underline:\
+ :us=\E[1m:tc=xterm:
+vi|xterm-ins|xterm with insert mode:\
+ :mi:im=\E[4h:ei=\E[4l:tc=xterm:
+
+Eterm|Eterm Terminal Emulator (X11 Window System):\
+ :am:bw:eo:km:mi:ms:xn:xo:\
+ :co#80:it#8:li#24:lm#0:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39m\E[49m:\
+ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
+ :K1=\E[7~:K2=\EOu:K3=\E[5~:K4=\E[8~:K5=\E[6~:LE=\E[%dD:\
+ :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\
+ :ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
+ :cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\E[B:\
+ :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E>\E[?1l:ic=\E[@:\
+ :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
+ :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
+ :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
+ :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=:kh=\E[7~:\
+ :kl=\E[D:kr=\E[C:ks=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\
+ :me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
+ :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
+ :te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
+ :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
+ :ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:
+
+# DOS terminal emulator such as Telix or TeleMate.
+# This probably also works for the SCO console, though it's incomplete.
+an|ansi|ansi-bbs|ANSI terminals (emulators):\
+ :co#80:li#24:am:\
+ :is=:rs=\Ec:kb=^H:\
+ :as=\E[m:ae=:eA=:\
+ :ac=0\333+\257,\256.\031-\030a\261f\370g\361j\331k\277l\332m\300n\305q\304t\264u\303v\301w\302x\263~\025:\
+ :kD=\177:kH=\E[Y:kN=\E[U:kP=\E[V:kh=\E[H:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
+ :k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k0=\EOY:\
+ :tc=vt-generic:
+
+# This seems to be an entry for other x86 based unices.
+at|at386-m|386AT-M|386at-m|at/386 console:\
+ :am:bw:eo:xt:co#80:li#25:\
+ :ae=\E[10m:as=\E[12m:\
+ :is=\E[0;10;38m:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
+ :k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\
+ :kh=\E[H:us=\E[4m:vb=^G:nl=\E[B:kb=^H:\
+ :tc=vt-generic:
+
+# Yeah - Minix still lives :)
+ma|minix|minix-am|minix-vcam|MINIX 1.5 Virtual Console:\
+ :am:bs:co#80:li#25:km:ms:\
+ :is=\E[0m\EPlinewrap.on\E\\:\
+ :rs=\Ec\EPlinewrap.on\E\\:\
+ :as=:ae=:eA=:\
+ :ac=0\333+\257,\256.\031-\030a\261f\370g\361j\331k\277l\332m\300n\305q\304t\264u\303v\301w\302x\263~\025:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:\
+ :k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:k0=\EOY:\
+ :kD=\177:kH=\E[Y:kN=\E[U:kP=\E[V:kh=\E[H:kb=^H:\
+ :ve=\EPcursor.on\E\\:vi=\EPcursor.off\E\\:\
+ :tc=vt-generic:
+
+# Some obligatory historic entries.
+sa|network|ethernet|arpanet:co#80:os:am:
+su|dumb|un|unknown:co#80:os:am:
+sd|du|dialup:co#80:os:am:
+t7|37|tty37|model 37 teletype:\
+ :cr=^M:do=^J:nl=^J:bl=^G:le=^H:bs:hc:hu=\E8:hd=\E9:up=\E7:os:
+
+# Yes, there really are people that login from a Sun Console.
+mu|sun|Sun Microsystems Workstation console:\
+ :am:bs:km:mi:ms:pt:\
+ :li#34:co#80:cl=^L:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
+ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:\
+ :kd=\E[B:kl=\E[D:ku=\E[A:kr=\E[C:kh=\E[H:\
+ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
+ :al=\E[L:dl=\E[M:im=:ei=:ic=\E[@:dc=\E[P:\
+ :rs=\E[s: