Difference between revisions of "Installation on Slackware 13"

From Linux-VServer

Jump to: navigation, search
(Patch used)
(+cat)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
What follows was tested on a Slackware 13.1 guest. I assume you have a Linux-Vserver host working.
+
What follows was tested on a Slackware 13.37 and 13.1 guest. I assume you have a Linux-Vserver host working. If not, have a look at [http://linux-vserver.org/Installation_on_Linux_2.6 this] page.
  
 
== Download the patch and the installer script ==
 
== Download the patch and the installer script ==
Line 6: Line 6:
 
<pre>
 
<pre>
 
tar xzf slack_vserver.tar.gz
 
tar xzf slack_vserver.tar.gz
chown -R root.root slack_vserver  
+
cd slack_vserver  
  
ls slack_vserver
+
ls  
 
</pre>
 
</pre>
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Patch_used slackware-13.1.patch] is the patch which modify ''rc.0'' ''rc.6'' ''rc.M rc.K'' and ''rc.inet2''. It must be applyed after the creation of the guest. In the patch I switched off all the executable that are related to the hardware, including the ''rc.inet1'', and ''rc.6''. Inside ''rc./d/init.d/'' you can find the ''rc'' script that starts the vserver. Comments would be welcome about this :-).
+
 
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Make_the_guest make_slack_vserver.sh] is the shell script that you have to adjust. It installs the guest.
+
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Slackware_package_list PKG_LIST] is the package list to be installed in the guest
* [http://notes.sagredo.eu/sites/notes.sagredo.eu/files/linux-vserver/PKG_LIST PKG_LIST] is my Slackware packages' list
+
* slackware_pkg/ is the folder were the packages ("*.tgz" or "*.txz") to be installed are stored. This folder will be automatically created by these scripts.
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Download_the_slack_packages download_slack.sh] is a script that you can use to download all the PKG_LIST
+
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Download_the_slack_packages download_slack.sh] is a script that you can use to download all the packages in the PKG_LIST list. If you use this scriptlet all the packages will be stored in the slackware_pkg sub-folder.
 +
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Make_the_guest make_slack_vserver.sh] is a shell script that you have to adjust. It installs the guest.
 +
* [http://www.linux-vserver.org/Installation_on_Slackware_13#Patch_used slackware-13.37.patch] is the patch which modifies ''/etc/rc.d/rc.6'' ''/etc/rc.d/rc.M'' and ''/etc/rc.d/rc.inet2''. It must be applied after the creation of the guest. In the patch I switched off all the mounts and executables that are related to the hardware.
 
* ''rc'' is the startup script for the virtual server. It will be automatically copied in ''/etc/rc.d/init.d/rc''
 
* ''rc'' is the startup script for the virtual server. It will be automatically copied in ''/etc/rc.d/init.d/rc''
 
<pre>
 
<pre>
 
# more rc
 
# more rc
  
if [ $1 -eq 3 ]; then
+
#!/bin/bash
  echo "entering runlevel 3: multi";
+
 
 +
if [ "$1" == "3" ]; then
 
   /etc/rc.d/rc.M
 
   /etc/rc.d/rc.M
fi
+
elif [ "$1" == "6" ]; then
if [ $1 -eq 6 ]; then
+
  echo "entering runlevel 6: reboot";
+
 
   /etc/rc.d/rc.6
 
   /etc/rc.d/rc.6
fi
+
else
if [ $1 -eq 0 ]; then
+
   echo "Invalid level."
   echo "entering runlevel 0: shutdown";
+
   exit 1
  /etc/rc.d/rc.0
+
fi
+
if [ $1 -eq 4 ]; then
+
  echo "entering runlevel 4";
+
fi
+
if [ $1 -eq 5 ]; then
+
   echo "entering runlevel 5";
+
fi
+
if [ $1 -eq 1 ]; then
+
  echo "entering runlevel 1:single";
+
  /etc/rc.d/rc.K
+
fi
+
if [ $1 -eq 2 ]; then
+
  echo "entering runlevel 2:multi";
+
  /etc/rc.d/rc.M
+
 
fi
 
fi
 
</pre>
 
</pre>
Line 48: Line 34:
 
== Download the slack packages ==
 
== Download the slack packages ==
  
First of all select a minimal set of packages to be installed on the virtual server. This list of '''108 packages''' is based on the Minimal System reported at [http://slackwiki.org/Minimal_System http://slackwiki.org/Minimal_System] without all hardware, kernel and multimedia related packages. The install leads to '''a guest of about 448M of size'''.
+
First of all select a minimal set of packages to be installed on the virtual server. [http://linux-vserver.org/Installation_on_Slackware_13#Slackware_package_list This list] of '''109 packages''' is based on the Minimal System reported at [http://slackwiki.org/Minimal_System http://slackwiki.org/Minimal_System] without all hardware, kernel and multimedia related packages. The install leads to '''a guest of about 448M of size'''.
  
Create a folder where to store the Slackware packages to install in the new server.  
+
I assume that the packages to be installed are stored in the ''slackware_pkg'' folder. If not, adjust its location editing the ''make_slack_vserver.sh'' script.
  
<pre>
+
You can download my minimal set of packages running the shell script download_slack_pkg.sh
mkdir slackware
+
cd slackware
+
</pre>
+
If you decide to download the packages via ftp, create here a file [http://notes.sagredo.eu/sites/notes.sagredo.eu/files/linux-vserver/PKG_LIST PKG_LIST] with the packages' list inside.
+
 
+
To download the packages you can use a script like this:
+
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
+
#
LIST="PKG_LIST"
+
# v. 2011.01.07
SRC="ftp://ftp.slackware.no/slackware/slackware-13.1/slackware/"
+
# Put here your favourite Slackware repository
#"ftp://ftp.slackware.no/slackware/slackware64-13.1/slackware64/"
+
 
   
+
SRC="ftp://ftp.slackware.no/slackware/slackware-13.37/slackware/"     # 32-bit
 +
#SRC="ftp://ftp.slackware.no/slackware/slackware64-13.37/slackware64/"  # 64-bit
 +
 
 +
LIST="../PKG_LIST"
 +
 
 +
cd slackware_pkg
 +
 
 
if [ -f $LIST ]; then
 
if [ -f $LIST ]; then
 
         while read line   
 
         while read line   
Line 71: Line 57:
 
             wget "$SRC$line*.t?z"
 
             wget "$SRC$line*.t?z"
 
         done < $LIST
 
         done < $LIST
 +
else
 +
  echo "Can't find $LIST file."
 +
  exit 1
 
fi
 
fi
 +
 +
rm index.html*
 +
</pre>
 +
 +
Adjust the package [http://linux-vserver.org/Installation_on_Slackware_13#Slackware_package_list PKG_LIST], enter your favorite ftp server and run from the command line
 +
<pre>
 +
./download_slack_pkg.sh
 
</pre>
 
</pre>
Adjust the packages' list, enter your favorite ftp server and run from the command line.
 
  
 
== Make the guest ==
 
== Make the guest ==
Line 79: Line 74:
 
Now let's create the guest and install the packages. As you know you must choose at least a "name", a "context" and an ip. In addition you have to modify most of the ''rc.*'' startup scripts removing all the hardware related daemons, and finally replace the ''/dev'' dir.
 
Now let's create the guest and install the packages. As you know you must choose at least a "name", a "context" and an ip. In addition you have to modify most of the ''rc.*'' startup scripts removing all the hardware related daemons, and finally replace the ''/dev'' dir.
  
This is done running the script ''make_slack_vserver.sh'' that you downloaded before. Adjust the script to your needs:
+
This is done running the script ''make_slack_vserver.sh'':
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
 
#
 
#
# More info here: http://www.linux-vserver.org/Installation_on_Slackware_13
+
# v. 2011.04.28
 +
# Author: Roberto Puzzanghera
 +
#
 +
# This script installs a Slackware guest into a linux-vserver host (http://linux-vserver.org)
 +
#
 +
# Comments are welcome :-)
 +
# More info here: http://notes.sagredo.eu/node/7
 
   
 
   
 
if [ $# != 1 ]; then
 
if [ $# != 1 ]; then
Line 93: Line 94:
 
NAME=$1
 
NAME=$1
 
HOSTNAME=$NAME.myserver.net
 
HOSTNAME=$NAME.myserver.net
IP=10.0.0.147
+
IP=10.0.0.149
 
INTERFACE=eth0:$IP/24
 
INTERFACE=eth0:$IP/24
CONTEXT=1010
+
CONTEXT=1011
 +
VERSION=13.37 # Slackware version
 
   
 
   
 
# where is the vservers dir? default is /vservers
 
# where is the vservers dir? default is /vservers
VDIR="/usr/local/vservers"
+
VDIR="/vservers"
 
   
 
   
 
# the directory where you unpacked slack_vserver.tar.gz
 
# the directory where you unpacked slack_vserver.tar.gz
SETUP="/path/to/slack_vserver"
+
# $PWD should work, otherwise put /path/to/slack_vserver
 +
SETUP=$PWD
 
   
 
   
 
# the directory where you downloaded the slackware packages
 
# the directory where you downloaded the slackware packages
PACKAGES="$SETUP/slackware"
+
PACKAGES="$SETUP/slackware_pkg"
 
   
 
   
# the patch to rc script file (leave as is)
+
# the path to rc script file (leave as is)
 
RC="$SETUP/rc"
 
RC="$SETUP/rc"
 
   
 
   
Line 114: Line 117:
 
   
 
   
 
if [ ! -d "$VDIR" ]; then
 
if [ ! -d "$VDIR" ]; then
         echo ""
+
         echo
 
         echo "Can't find VDIR dir: $VDIR"
 
         echo "Can't find VDIR dir: $VDIR"
 
         echo "Exiting"
 
         echo "Exiting"
         echo ""
+
         echo
         exit 1
+
         exit 1  
 
fi
 
fi
 
if [ ! -d "$SETUP" ]; then
 
if [ ! -d "$SETUP" ]; then
         echo ""
+
         echo
 
         echo "Can't find SETUP dir: $SETUP"
 
         echo "Can't find SETUP dir: $SETUP"
 
         echo "Exiting"
 
         echo "Exiting"
         echo ""
+
         echo
 
         exit 1
 
         exit 1
 
fi
 
fi
 
if [ ! -d "$PACKAGES" ]; then
 
if [ ! -d "$PACKAGES" ]; then
         echo ""
+
         echo
 
         echo "Can't find PACKAGES dir: $PACKAGES"
 
         echo "Can't find PACKAGES dir: $PACKAGES"
 
         echo "Exiting"
 
         echo "Exiting"
         echo ""
+
         echo
 
         exit 1
 
         exit 1
 
fi
 
fi
 
if [ ! -f "$RC" ]; then
 
if [ ! -f "$RC" ]; then
         echo ""
+
         echo
 
         echo "Can't find RC path: $RC"
 
         echo "Can't find RC path: $RC"
 
         echo "Exiting"
 
         echo "Exiting"
         echo ""
+
         echo
 
         exit 1
 
         exit 1
 
fi
 
fi
Line 144: Line 147:
 
# if everything is ok start the install
 
# if everything is ok start the install
 
   
 
   
echo ""
+
echo
 
read -p "press any key to make skeleton..."
 
read -p "press any key to make skeleton..."
 
vserver ${NAME} build -m skeleton \
 
vserver ${NAME} build -m skeleton \
 
         --hostname ${HOSTNAME} \
 
         --hostname ${HOSTNAME} \
 
         --interface ${INTERFACE} \
 
         --interface ${INTERFACE} \
 +
        --context $CONTEXT \
 
         --flags lock,virt_mem,virt_uptime,virt_cpu,virt_load,sched_hard,hide_netif \
 
         --flags lock,virt_mem,virt_uptime,virt_cpu,virt_load,sched_hard,hide_netif \
 
         --initstyle sysv
 
         --initstyle sysv
 
echo "...done"
 
echo "...done"
echo ""
+
echo
 
   
 
   
read -p "press any key to move to a temp dir the /dev folder..."
+
read -p "press any key to move the /dev folder to a temp dir the /dev folder..."
 
mv $VDIR/$NAME/dev $VDIR/$NAME/dev2
 
mv $VDIR/$NAME/dev $VDIR/$NAME/dev2
 
   
 
   
echo ""
+
echo
read -p "press any key to install packages..."
+
read -p "press any key to install packages..."  
 
cd $PACKAGES
 
cd $PACKAGES
installpkg -root $VDIR/$NAME *.t?z;
+
installpkg -root $VDIR/$NAME *.t?z;  
echo "...done"
+
echo "...done"  
echo ""
+
echo
 
   
 
   
echo ""
+
echo
read -p "press any key to copy rc script to /etc/rc.d/init.d..."
+
read -p "press any key to copy the rc script to /etc/rc.d/init.d..."
echo ""
+
echo
 
echo "copying rc to /etc/rc.d/init.d/rc"
 
echo "copying rc to /etc/rc.d/init.d/rc"
echo ""
 
 
cp -p $RC $VDIR/$NAME/etc/rc.d/init.d/
 
cp -p $RC $VDIR/$NAME/etc/rc.d/init.d/
echo "done"
+
echo "...done"
 
   
 
   
echo ""
+
echo
echo "removing x flag to rc.inet1 and rc.sshd"
+
echo "removing x flag to rc.inet1 rc.loop and rc.sshd"
chmod -x $VDIR/$NAME/etc/rc.d/rc.inet1 $VDIR/$NAME/etc/rc.d/rc.sshd
+
chmod -x $VDIR/$NAME/etc/rc.d/rc.inet1 $VDIR/$NAME/etc/rc.d/rc.loop $VDIR/$NAME/etc/rc.d/rc.sshd
echo "done"
+
echo "...done"
echo ""
+
echo
 
   
 
   
 
echo "trying to adjust HOSTNAME, hosts, resolv.conf, profile. Check later..."
 
echo "trying to adjust HOSTNAME, hosts, resolv.conf, profile. Check later..."
Line 186: Line 189:
 
echo "127.0.0.1 localhost" > $VDIR/$NAME/etc/hosts
 
echo "127.0.0.1 localhost" > $VDIR/$NAME/etc/hosts
 
echo "$IP $HOSTNAME $NAME" >> $VDIR/$NAME/etc/hosts
 
echo "$IP $HOSTNAME $NAME" >> $VDIR/$NAME/etc/hosts
touch $VDIR/$NAME/etc/mtab
+
touch $VDIR/$NAME/etc/mtab                        
 
touch $VDIR/$NAME/etc/fstab
 
touch $VDIR/$NAME/etc/fstab
echo "done"
+
echo "...done"
 +
echo
 
   
 
   
echo ""
 
 
read -p "press any key to restore /dev2 to /dev"
 
read -p "press any key to restore /dev2 to /dev"
 
rm -r $VDIR/$NAME/dev
 
rm -r $VDIR/$NAME/dev
 
mv $VDIR/$NAME/dev2 $VDIR/$NAME/dev
 
mv $VDIR/$NAME/dev2 $VDIR/$NAME/dev
 
   
 
   
echo ""
+
echo
echo "done; DON'T FORGET to patch /etc/rc.d: "
+
echo -n "Do you want that I apply the patch for you y/n? [y] "
echo "cd $VDIR/$NAME/etc/rc.d"
+
read VAR_PATCH
echo "patch -p1 < $SETUP/slackware-13.1.patch"
+
echo ""
+
if [ "$VAR_PATCH" = 'y' ] || [ "$VAR_PATCH" = '' ]; then
echo "More info on http://www.linux-vserver.org/Installation_on_Slackware_13"
+
        cd $VDIR/$NAME/etc/rc.d
echo ""
+
        patch -p1 < $SETUP/linux-vserver_slackware-$VERSION.patch
 +
        echo "patch applyed."
 +
        echo
 +
        echo "You can start and enter the virtual server typing: "
 +
        echo
 +
        echo "vserver $NAME start"
 +
        echo "vserver $NAME enter"
 +
        else
 +
                echo
 +
                echo "DON'T FORGET to patch /etc/rc.d as follows: "
 +
                echo
 +
                echo "cd $VDIR/$NAME/etc/rc.d"
 +
                echo "patch -p1 < $SETUP/linux-vserver_slackware-$VERSION.patch"
 +
fi
 +
 +
echo
 +
echo "More info on http://notes.sagredo.eu/node/7"
 +
echo
 
</pre>
 
</pre>
'''Note''' that ''/etc/resolv.conf'' ''/etc/localtime /etc/profile'' are copied form the host. Run it to install the server and all the packages you downloaded.
 
  
 
== Apply the patch and start the guest ==
 
== Apply the patch and start the guest ==
  
Once you have installed the server apply the [http://www.linux-vserver.org/Installation_on_Slackware_13#Patch_used patch]:
+
The script itsself can install the patch for you. Anyway this is how to apply the patch by yourself:
 
<pre>
 
<pre>
 
cd /vservers/vserver_name/etc/rc.d
 
cd /vservers/vserver_name/etc/rc.d
patch -p1 < /path/to/slack_vserver/slackware-13.1.patch
+
patch -p1 < /path/to/slack_vserver/slackware-13.37.patch
 +
</pre>
  
 +
Now you can start the newly created virtual server:
 +
<pre>
 
vserver <vserver_name> start
 
vserver <vserver_name> start
 
vserver <vserver_name> enter
 
vserver <vserver_name> enter
 
</pre>
 
</pre>
 
== Hints ==
 
My patch has been tested with Slackware 13.1, but I suppose that this solution should work also in future version with some small adjustment. In any case, if the patch doesn't work with your version of Slackware try to replace ''rc.0 rc.6 rc.K rc.M rc.inet2'' with these ([http://notes.sagredo.eu/sites/notes.sagredo.eu/files/linux-vserver/rc.d-patched.tar.gz download here]). In addition remember to
 
 
* leave ''/etc/rc.d/init.d/rc'' script as is. These is a very essential script which is started first and runs rc.M on startup or rc.6 on shutdown
 
* chmod -x ''rc.inet1'' the network is brought up configuring the guest by ''/etc/vservers''
 
* chmod -x all hardware related services like ''rc.acpid rc.alsa rc.pcmcia rc.wireless rc.gpm rc.bluetooth rc.hald''
 
* delete all mounts and other hardware related commands in ''rc.0 rc.6 rc.K rc.M rc.inet2''
 
  
 
== Contact ==
 
== Contact ==
Any comments/suggestions/questions to ''roberto dot puzzanghera at sagredo dot eu'', [http://notes.sagredo.eu]
+
Any comments/suggestions/questions to ''roberto dot puzzanghera at sagredo dot eu'', [http://notes.sagredo.eu] or the [http://linux-vserver.org/index.php?title=Talk:Installation_on_Slackware_13&action=edit talk] page of this wiki page.
  
 
== Patch used ==
 
== Patch used ==
 
<pre>
 
<pre>
Patch for Slackware 13.1
+
Patch for Slackware 13.37 guest on a Linux-Vserver host
====================================================================
+
========================================================
by Roberto Puzzanghera - roberto dot puzzanghera at sagredo dot eu
+
by Roberto Puzzanghera - http://notes.sagredo.eu
October 22 2010
+
version: 2011.04.28
  
diff -crB rc.d-original/rc.0 rc.d-patched/rc.0
+
========================================================
*** rc.d-original/rc.0 2010-03-20 01:14:07.000000000 +0100
+
 
--- rc.d-patched/rc.0 2010-10-11 23:35:12.000000000 +0200
+
diff -urNB rc.d-original/rc.0 rc.d/rc.0
***************
+
--- rc.d-original/rc.0 2011-04-16 23:14:14.000000000 +0200
*** 37,58 ****
+
+++ rc.d/rc.0 2011-04-28 15:01:59.000000000 +0200
  ;;
+
@@ -37,22 +37,6 @@
  esac
+
;;
 
+
esac
- # Save the system time to the hardware clock using hwclock --systohc.
+
- if [ -x /sbin/hwclock ]; then
+
-# Save the system time to the hardware clock using hwclock --systohc.
-   # Check for a broken motherboard RTC clock (where ioports for rtc are
+
-if [ -x /sbin/hwclock ]; then
-   # unknown) to prevent hwclock causing a hang:
+
- # Check for a broken motherboard RTC clock (where ioports for rtc are
-   if ! grep -q -w rtc /proc/ioports ; then
+
- # unknown) to prevent hwclock causing a hang:
-     CLOCK_OPT="--directisa"
+
- if ! grep -q -w rtc /proc/ioports ; then
-   fi
+
-   CLOCK_OPT="--directisa"
-   if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+
- fi
-     echo "Saving system time to the hardware clock (UTC)."
+
- if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
-     /sbin/hwclock $CLOCK_OPT --utc --systohc
+
-   echo "Saving system time to the hardware clock (UTC)."
-   else
+
-   /sbin/hwclock $CLOCK_OPT --utc --systohc
-     echo "Saving system time to the hardware clock (localtime)."
+
- else
-     /sbin/hwclock  $CLOCK_OPT --localtime --systohc
+
-   echo "Saving system time to the hardware clock (localtime)."
-   fi
+
-   /sbin/hwclock  $CLOCK_OPT --localtime --systohc
- fi
+
- fi
-  
+
-fi
  # Run any local shutdown scripts:
+
-
  if [ -x /etc/rc.d/rc.local_shutdown ]; then
+
# Run any local shutdown scripts:
    /etc/rc.d/rc.local_shutdown stop
+
if [ -x /etc/rc.d/rc.local_shutdown ]; then
--- 37,42 ----
+
  /etc/rc.d/rc.local_shutdown stop
***************
+
@@ -98,66 +82,11 @@
*** 98,115 ****
+
  sh /etc/rc.d/rc.messagebus stop
    sh /etc/rc.d/rc.messagebus stop
+
fi
  fi
+
 
+
-# Kill any processes (typically gam) that would otherwise prevent
- # Unmount any NFS, SMB, or CIFS filesystems:
+
-# unmounting NFS volumes:
- echo "Unmounting remote filesystems."
+
-unset FUSER_DELAY
- /bin/umount -v -a -r -t nfs,smbfs,cifs
+
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
-  
+
-  echo "Killing processes holding NFS mount $dir open..."
- # Try to shut down pppd:
+
-  # Background this to prevent fuser from also blocking shutdown:
- PS="$(ps ax)"
+
-  /usr/bin/fuser -k -m $dir &
- if echo "$PS" | /bin/grep -q -w pppd ; then
+
-  FUSER_DELAY=5
-   if [ -x /usr/sbin/ppp-off ]; then
+
-done
-     /usr/sbin/ppp-off
+
-# If fuser was run, let it have some delay:
-   fi
+
-if [ ! -z "$FUSER_DELAY" ]; then
- fi
+
- sleep $FUSER_DELAY
-  
+
-fi
  # Bring down the networking system, but first make sure that this
+
-
  # isn't a diskless client with the / partition mounted via NFS:
+
-# Unmount any NFS, SMB, or CIFS filesystems:
  if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
+
-echo "Unmounting remote filesystems."
--- 82,87 ----
+
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
***************
+
-
*** 127,139 ****
+
-# Try to shut down pppd:
    sleep 2
+
-PS="$(ps ax)"
  fi
+
-if echo "$PS" | /bin/grep -q -w pppd ; then
 
+
-  if [ -x /usr/sbin/ppp-off ]; then
- # Shut down PCMCIA devices:
+
-    /usr/sbin/ppp-off
- if [ -x /etc/rc.d/rc.pcmcia ]; then
+
-  fi
-   . /etc/rc.d/rc.pcmcia stop
+
-fi
-   # The cards might need a little extra time here to deactivate:
+
-
-   /bin/sleep 5
+
-# Bring down the networking system, but first make sure that this
- fi
+
-# isn't a diskless client with the / partition mounted via NFS:
-  
+
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
  # Turn off process accounting:
+
-  if [ -x /etc/rc.d/rc.inet1 ]; then
  if [ -x /sbin/accton -a -r /var/log/pacct ]; then
+
-    . /etc/rc.d/rc.inet1 stop
    /sbin/accton off
+
-  fi
--- 99,104 ----
+
-fi
***************
+
-
*** 181,203 ****
+
-# In case dhcpcd might have been manually started on the command line,
    rm -f /var/lock/subsys/*
+
-# look for the .pid file, and shut dhcpcd down if it's found:
 +
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
 +
-  /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
 +
-  # A little time for /etc/resolv.conf and/or other files to
 +
-  # restore themselves.
 +
-  sleep 2
 +
-fi
 +
-
 +
-# Shut down PCMCIA devices:
 +
-if [ -x /etc/rc.d/rc.pcmcia ]; then
 +
-  . /etc/rc.d/rc.pcmcia stop
 +
-  # The cards might need a little extra time here to deactivate:
 +
-  /bin/sleep 5
 +
-fi
 +
-
 +
# Turn off process accounting:
 +
if [ -x /sbin/accton -a -r /var/log/pacct ]; then
 +
  /sbin/accton off
 +
fi
 +
 +
-# Terminate acpid before syslog:
 +
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
 +
-  . /etc/rc.d/rc.acpid stop
 +
-fi
 +
-
 +
# Kill all processes.
 +
# INIT is supposed to handle this entirely now, but this didn't always
 +
# work correctly without this second pass at killing off the processes.
 +
@@ -177,16 +106,6 @@
 +
  fi
 +
fi
 +
 +
-# Carry a random seed between reboots.
 +
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
 +
-# Use the pool size from /proc, or 512 bytes:
 +
-if [ -r /proc/sys/kernel/random/poolsize ]; then
 +
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
 +
-else
 +
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
 +
-fi
 +
-/bin/chmod 600 /etc/random-seed
 +
-
 +
# Before unmounting file systems write a reboot or halt record to wtmp.
 +
$command -w
 +
 +
@@ -195,17 +114,6 @@
 +
  rm -f /var/lock/subsys/*
 +
fi
 +
 +
-# Turn off swap:
 +
-echo "Turning off swap."
 +
-/sbin/swapoff -a
 +
-/bin/sync
 +
-
 +
-echo "Unmounting local file systems."
 +
-/bin/umount -v -a -t no,proc,sysfs
 +
-
 +
-echo "Remounting root filesystem read-only."
 +
-/bin/mount -v -n -o remount,ro /
 +
-
 +
# This never hurts:
 +
/bin/sync
 +
 +
@@ -230,45 +138,10 @@
 +
  done
 +
fi
 +
 +
-# Deactivate LVM volume groups:
 +
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
 +
-  echo "Deactivating LVM volume groups:"
 +
-  /sbin/vgchange -an --ignorelockingfailure
 +
-fi
 +
-
 +
# This never hurts again (especially since root-on-LVM always fails
 +
# to deactivate the / logical volume...  but at least it was
 +
# remounted as read-only first)
 +
/bin/sync
 +
 +
-# sleep 3 fixes problems with some hard drives that don't
 +
-# otherwise finish syncing before reboot or poweroff
 +
-/bin/sleep 3
 +
-
 +
# This is to ensure all processes have completed on SMP machines:
 +
wait
 +
-
 +
-if [ -x /sbin/genpowerd ]; then
 +
-  # See if this is a powerfail situation:
 +
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
 +
-    # Signal UPS to shut off the inverter:
 +
-    /sbin/genpowerd -k
 +
-    if [ ! $? = 0 ]; then
 +
-      echo
 +
-      echo "There was an error signaling the UPS."
 +
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
 +
-      echo "the serial line and UPS type."
 +
-      # Wasting 15 seconds of precious power:
 +
-      /bin/sleep 15
 +
-    fi
 +
-  fi
 +
-fi
 +
-
 +
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
 +
-if [ "$command" = "reboot" ]; then
 +
-  echo "Rebooting."
 +
-  /sbin/reboot
 +
-else
 +
-  /sbin/poweroff
 +
-fi
 +
-
 +
diff -urNB rc.d-original/rc.6 rc.d/rc.6
 +
--- rc.d-original/rc.6 2011-04-16 23:14:14.000000000 +0200
 +
+++ rc.d/rc.6 2011-04-28 15:01:59.000000000 +0200
 +
@@ -37,22 +37,6 @@
 +
;;
 +
esac
 +
 +
-# Save the system time to the hardware clock using hwclock --systohc.
 +
-if [ -x /sbin/hwclock ]; then
 +
-  # Check for a broken motherboard RTC clock (where ioports for rtc are
 +
-  # unknown) to prevent hwclock causing a hang:
 +
-  if ! grep -q -w rtc /proc/ioports ; then
 +
-    CLOCK_OPT="--directisa"
 +
-  fi
 +
-  if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
 +
-    echo "Saving system time to the hardware clock (UTC)."
 +
-    /sbin/hwclock $CLOCK_OPT --utc --systohc
 +
-  else
 +
-    echo "Saving system time to the hardware clock (localtime)."
 +
-    /sbin/hwclock  $CLOCK_OPT --localtime --systohc
 +
-  fi
 +
-fi
 +
-
 +
# Run any local shutdown scripts:
 +
if [ -x /etc/rc.d/rc.local_shutdown ]; then
 +
  /etc/rc.d/rc.local_shutdown stop
 +
@@ -98,66 +82,11 @@
 +
  sh /etc/rc.d/rc.messagebus stop
 +
fi
 +
 +
-# Kill any processes (typically gam) that would otherwise prevent
 +
-# unmounting NFS volumes:
 +
-unset FUSER_DELAY
 +
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
 +
-  echo "Killing processes holding NFS mount $dir open..."
 +
-  # Background this to prevent fuser from also blocking shutdown:
 +
-  /usr/bin/fuser -k -m $dir &
 +
-  FUSER_DELAY=5
 +
-done
 +
-# If fuser was run, let it have some delay:
 +
-if [ ! -z "$FUSER_DELAY" ]; then
 +
-  sleep $FUSER_DELAY
 +
-fi
 +
-
 +
-# Unmount any NFS, SMB, or CIFS filesystems:
 +
-echo "Unmounting remote filesystems."
 +
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
 +
-
 +
-# Try to shut down pppd:
 +
-PS="$(ps ax)"
 +
-if echo "$PS" | /bin/grep -q -w pppd ; then
 +
- if [ -x /usr/sbin/ppp-off ]; then
 +
-   /usr/sbin/ppp-off
 +
- fi
 +
-fi
 +
-
 +
-# Bring down the networking system, but first make sure that this
 +
-# isn't a diskless client with the / partition mounted via NFS:
 +
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
 +
- if [ -x /etc/rc.d/rc.inet1 ]; then
 +
-   . /etc/rc.d/rc.inet1 stop
 +
- fi
 +
-fi
 +
-
 +
-# In case dhcpcd might have been manually started on the command line,
 +
-# look for the .pid file, and shut dhcpcd down if it's found:
 +
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
 +
-  /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
 +
-  # A little time for /etc/resolv.conf and/or other files to
 +
-  # restore themselves.
 +
sleep 2
 +
-fi
 +
-
 +
-# Shut down PCMCIA devices:
 +
-if [ -x /etc/rc.d/rc.pcmcia ]; then
 +
- . /etc/rc.d/rc.pcmcia stop
 +
- # The cards might need a little extra time here to deactivate:
 +
- /bin/sleep 5
 +
-fi
 +
-
 +
# Turn off process accounting:
 +
if [ -x /sbin/accton -a -r /var/log/pacct ]; then
 +
  /sbin/accton off
 +
fi
 +
 +
-# Terminate acpid before syslog:
 +
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
 +
-  . /etc/rc.d/rc.acpid stop
 +
-fi
 +
-
 +
# Kill all processes.
 +
# INIT is supposed to handle this entirely now, but this didn't always
 +
# work correctly without this second pass at killing off the processes.
 +
@@ -177,16 +106,6 @@
 +
  fi
 +
fi
 +
 +
-# Carry a random seed between reboots.
 +
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
 +
-# Use the pool size from /proc, or 512 bytes:
 +
-if [ -r /proc/sys/kernel/random/poolsize ]; then
 +
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
 +
-else
 +
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
 +
-fi
 +
-/bin/chmod 600 /etc/random-seed
 +
-
 +
# Before unmounting file systems write a reboot or halt record to wtmp.
 +
$command -w
 +
 +
@@ -195,17 +114,6 @@
 +
  rm -f /var/lock/subsys/*
 +
fi
 +
 +
-# Turn off swap:
 +
-echo "Turning off swap."
 +
-/sbin/swapoff -a
 +
-/bin/sync
 +
-
 +
-echo "Unmounting local file systems."
 +
-/bin/umount -v -a -t no,proc,sysfs
 +
-
 +
-echo "Remounting root filesystem read-only."
 +
-/bin/mount -v -n -o remount,ro /
 +
-
 +
# This never hurts:
 +
/bin/sync
 +
 +
@@ -230,45 +138,10 @@
 +
  done
 +
fi
 +
 +
-# Deactivate LVM volume groups:
 +
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
 +
-  echo "Deactivating LVM volume groups:"
 +
-  /sbin/vgchange -an --ignorelockingfailure
 +
-fi
 +
-
 +
# This never hurts again (especially since root-on-LVM always fails
 +
# to deactivate the / logical volume...  but at least it was
 +
# remounted as read-only first)
 +
/bin/sync
 +
 +
-# sleep 3 fixes problems with some hard drives that don't
 +
-# otherwise finish syncing before reboot or poweroff
 +
-/bin/sleep 3
 +
-
 +
# This is to ensure all processes have completed on SMP machines:
 +
wait
 +
-
 +
-if [ -x /sbin/genpowerd ]; then
 +
-  # See if this is a powerfail situation:
 +
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
 +
-    # Signal UPS to shut off the inverter:
 +
-    /sbin/genpowerd -k
 +
-    if [ ! $? = 0 ]; then
 +
-      echo
 +
-      echo "There was an error signaling the UPS."
 +
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
 +
-      echo "the serial line and UPS type."
 +
-      # Wasting 15 seconds of precious power:
 +
-      /bin/sleep 15
 +
-    fi
 +
-  fi
 +
-fi
 +
-
 +
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
 +
-if [ "$command" = "reboot" ]; then
 +
-  echo "Rebooting."
 +
-  /sbin/reboot
 +
-else
 +
-  /sbin/poweroff
 +
-fi
 +
-
 +
diff -urNB rc.d-original/rc.M rc.d/rc.M
 +
--- rc.d-original/rc.M 2011-03-22 07:15:15.000000000 +0100
 +
+++ rc.d/rc.M 2011-04-28 19:07:47.000000000 +0200
 +
@@ -20,10 +20,6 @@
 +
  /sbin/ldconfig &
 +
fi
 +
 +
-# Screen blanks after 15 minutes idle time, and powers down in one hour
 +
-# if the kernel supports APM or ACPI power management:
 +
-/bin/setterm -blank 15 -powersave powerdown -powerdown 60
 +
-
 +
# Set the hostname.
 +
if [ -r /etc/HOSTNAME ]; then
 +
  /bin/hostname $(cat /etc/HOSTNAME | cut -f1 -d .)
 +
@@ -47,31 +43,6 @@
 +
# Save the contents of 'dmesg':
 +
/bin/dmesg -s 65536 > /var/log/dmesg
 +
 +
-# Initialize PCMCIA devices:
 +
-#
 +
-# NOTE: This used to be started near the top of rc.S so that PCMCIA devices
 +
-# could be fsck'ed along with the other drives.  This had some unfortunate
 +
-# side effects, however, since root isn't yet read-write, and /var might not
 +
-# even be mounted the .pid files can't be correctly written in /var/run and
 +
-# the pcmcia system can't be correctly shut down.  If you want some PCMCIA
 +
-# partition to be mounted at boot (or when the card is inserted) then add
 +
-# the appropriate lines to /etc/pcmcia/scsi.opts.
 +
-#
 +
-# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using
 +
-# 16-bit PCMCIA cards (not 32-bit Cardbus cards!).  For example, with a
 +
-# wireless card you might need to set options in /etc/pcmcia OR in
 +
-# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with
 +
-# extra options if needed for the encryption key, ESSID, etc.)
 +
-#
 +
-# Hopefully this situation will be unified in the future, but for now
 +
-# that's how it is...
 +
-#
 +
-if [ -x /etc/rc.d/rc.pcmcia ]; then
 +
-  . /etc/rc.d/rc.pcmcia start
 +
-  # The cards might need a little extra time here to initialize.
 +
-  sleep 5
 +
-fi
 +
-
 +
# Start the system logger.
 +
if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
 +
  . /etc/rc.d/rc.syslog start
 +
@@ -83,38 +54,18 @@
 +
  /usr/bin/fc-cache -f &
 +
fi
 +
 +
-# If we are returning from single-user mode we will need to restart
 +
-# udevd on systems that use udev:
 +
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then
 +
-  if ! grep -wq nohotplug /proc/cmdline ; then
 +
-    if [ -x /etc/rc.d/rc.udev ]; then
 +
-      /bin/sh /etc/rc.d/rc.udev start
 +
-    fi
 +
-  fi
 +
-fi
 +
-
 +
-# Initialize the networking hardware.
 +
-if [ -x /etc/rc.d/rc.inet1 ]; then
 +
-  . /etc/rc.d/rc.inet1
 +
-fi
 +
-
 +
-# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
 +
-if [ -x /etc/rc.d/rc.scanluns ]; then
 +
-  . /etc/rc.d/rc.scanluns
 +
-fi
 +
-
 +
# Start networking daemons:
 +
if [ -x /etc/rc.d/rc.inet2 ]; then
 +
  . /etc/rc.d/rc.inet2
 +
fi
 +
 +
# Mount any additional filesystem types that haven't already been mounted:
 +
-mount -a -v 2> /dev/null | grep -v "already mounted"
 +
+#mount -a -v 2> /dev/null | grep -v "already mounted"
 +
 +
# Start the Control Script for automounter:
 +
-if [ -x /etc/rc.d/rc.autofs ]; then
 +
-  sh /etc/rc.d/rc.autofs start
 +
-fi
 +
+#if [ -x /etc/rc.d/rc.autofs ]; then
 +
+#  sh /etc/rc.d/rc.autofs start
 +
+#fi
 +
 +
# Start the Network Time Protocol daemon:
 +
if [ -x /etc/rc.d/rc.ntpd ]; then
 +
@@ -134,17 +85,6 @@
 +
chmod 755 / 2> /dev/null
 +
chmod 1777 /tmp /var/tmp
 +
 +
-# Start APM or ACPI daemon.
 +
-# If APM is enabled in the kernel, start apmd:
 +
-if [ -e /proc/apm ]; then
 +
-  if [ -x /usr/sbin/apmd ]; then
 +
-    echo "Starting APM daemon:  /usr/sbin/apmd"
 +
-    /usr/sbin/apmd
 +
-  fi
 +
-elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:
 +
-  . /etc/rc.d/rc.acpid start
 +
-fi
 +
-
 +
# Update any existing icon cache files:
 +
if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
 +
  for theme_dir in /usr/share/icons/* ; do
 +
@@ -177,21 +117,6 @@
 +
  sh /etc/rc.d/rc.consolekit start
 +
fi
 +
 +
-# Start HAL:
 +
-if [ -x /etc/rc.d/rc.hald ]; then
 +
-  sh /etc/rc.d/rc.hald start
 +
-fi
 +
-
 +
-# Start Bluetooth:
 +
-if [ -x /etc/rc.d/rc.bluetooth ]; then
 +
-  sh /etc/rc.d/rc.bluetooth start
 +
-fi
 +
-
 +
-# Start wicd:
 +
-if [ -x /etc/rc.d/rc.wicd ]; then
 +
-  sh /etc/rc.d/rc.wicd start
 +
-fi
 +
-
 +
# These GTK+/pango files need to be kept up to date for
 +
# proper input method, pixbuf loaders, and font support.
 +
if [ -x /usr/bin/update-gtk-immodules ]; then
 +
@@ -228,36 +153,6 @@
 +
  /etc/rc.d/rc.atalk
 +
fi
 +
 +
-# Start smartd, which monitors the status of S.M.A.R.T. compatible
 +
-# hard drives and reports any problems.  Note some devices (which aren't
 +
-# smart, I guess ;) will hang if probed by smartd, so it's commented out
 +
-# by default.
 +
-#if [ -x /usr/sbin/smartd ]; then
 +
-#  /usr/sbin/smartd
 +
-#fi
 +
-
 +
-# If we're using udev, make /dev/cdrom and any other optical drive symlinks
 +
-# if some udev rule hasn't made them already:
 +
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems; then
 +
-  if ! grep -wq nohotplug /proc/cmdline ; then
 +
-    if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then
 +
-      /bin/sh /lib/udev/rc.optical-symlinks
 +
-    fi
 +
-  fi
 +
-fi
 +
-
 +
-# Monitor the UPS with genpowerd.
 +
-# To use this, uncomment this section and edit your settings in
 +
-# /etc/genpowerd.conf (serial device, UPS type, etc).  For more information,
 +
-# see "man genpowerd" or the extensive documentation in the
 +
-# /usr/doc/genpower-*/ directory.
 +
-# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
 +
-# support for stopping the UPS's inverter after the machine halts.
 +
-#if [ -x /sbin/genpowerd ]; then
 +
-#  echo "Starting genpowerd daemon..."
 +
-#  /sbin/genpowerd
 +
-#fi
 +
-
 +
# Turn on process accounting.  To enable process accounting, make sure the
 +
# option for BSD process accounting is enabled in your kernel, and then
 +
# create the file /var/log/pacct (touch /var/log/pacct).  By default, process
 +
@@ -322,11 +217,6 @@
 +
  . /etc/rc.d/rc.sendmail start
 +
fi
 +
 +
-# Load ALSA (sound) defaults:
 +
-if [ -x /etc/rc.d/rc.alsa ]; then
 +
-  . /etc/rc.d/rc.alsa
 +
-fi
 +
-
 +
# Load a custom screen font if the user has an rc.font script.
 +
if [ -x /etc/rc.d/rc.font ]; then
 +
  . /etc/rc.d/rc.font
 +
@@ -358,11 +248,6 @@
 +
  . /etc/rc.d/rc.samba start
 +
fi
 +
 +
-# Start the GPM mouse server:
 +
-if [ -x /etc/rc.d/rc.gpm ]; then
 +
-  . /etc/rc.d/rc.gpm start
 +
-fi
 +
-
 +
# If there are SystemV init scripts for this runlevel, run them.
 +
if [ -x /etc/rc.d/rc.sysvinit ]; then
 +
  . /etc/rc.d/rc.sysvinit
 +
diff -urNB rc.d-original/rc.inet2 rc.d/rc.inet2
 +
--- rc.d-original/rc.inet2 2007-09-18 00:07:32.000000000 +0200
 +
+++ rc.d/rc.inet2 2011-04-28 19:09:27.000000000 +0200
 +
@@ -16,26 +16,6 @@
 +
# At this point, we are ready to talk to The World...
 +
 +
 +
-# Mount remote (NFS) filesystems:
 +
-if cat /etc/fstab | grep -v '^#' | grep -w nfs 1> /dev/null 2> /dev/null ; then
 +
-  # Start rpc.portmap, /sbin/rpc.lockd, and /sbin/rpc.statd if we find NFS
 +
-  # volumes defined in /etc/fstab since these will need to be running in order
 +
-  # to mount them.  If they are not running, attempting to mount an NFS
 +
-  # partition will cause mount to hang, or at least result in unreliable
 +
-  # operation.  Keep this in mind if you plan to mount unlisted NFS
 +
-  # partitions...
 +
-  # If you have uncommented NFS partitions in your /etc/fstab, rc.rpc is run
 +
-  # whether it is set as executable or not.  If you don't want to run it,
 +
-  # comment the NFS partitions out in /etc/fstab or erase/rename rc.rpc.
 +
-  if [ -r /etc/rc.d/rc.rpc ]; then
 +
-    sh /etc/rc.d/rc.rpc start
 +
-  fi
 +
-  echo "Mounting remote (NFS) file systems:  /sbin/mount -a -t nfs"
 +
-  /sbin/mount -a -t nfs          # This may be our /usr runtime!
 +
-  # Show the mounted volumes:
 +
-  /sbin/mount -v -t nfs
 +
-fi
 +
-
 +
# If /etc/rc.d/rc.rpc is executable, run it to load rpc.portmap, rpc.lockd,
 +
# and rpc.statd.  This might be needed to mount NFS partitions that are not
 +
# listed in /etc/fstab.  Starting this twice won't hurt as the script will
 +
@@ -44,23 +24,6 @@
 +
  sh /etc/rc.d/rc.rpc start
 +
fi
 +
 +
-# Mount remote CIFS filesystems.  Note that where possible, using CIFS is
 +
-# preferred over SMBFS.  SMBFS is no longer actively maintained.
 +
-if cat /etc/fstab | grep -v '^#' | grep -w cifs 1> /dev/null 2> /dev/null ; then
 +
-  echo "Mounting remote CIFS file systems:  /sbin/mount -a -t cifs"
 +
-  /sbin/mount -a -t cifs
 +
-  # Show the mounted volumes:
 +
-  /sbin/mount -v -t cifs
 +
-fi
 +
-
 +
-# Mount remote SMB filesystems:
 +
-if cat /etc/fstab | grep -v '^#' | grep -w smbfs 1> /dev/null 2> /dev/null ; then
 +
-  echo "Mounting remote SMBFS file systems:  /sbin/mount -a -t smbfs"
 +
-  /sbin/mount -a -t smbfs
 +
-  # Show the mounted volumes:
 +
-  /sbin/mount -v -t smbfs
 +
-fi
 +
-
 +
# Start the system logger if it is not already running (maybe because /usr
 +
# is on a network partition).
 +
if [ -x /etc/rc.d/rc.syslog -a -d /var/log -a ! -r /var/run/syslogd.pid ]; then
 +
diff -urNB rc.d-original/rc.syslog rc.d/rc.syslog
 +
--- rc.d-original/rc.syslog 2010-10-21 01:03:54.000000000 +0200
 +
+++ rc.d/rc.syslog 2011-04-28 20:20:26.000000000 +0200
 +
@@ -5,8 +5,9 @@
 +
 +
syslogd_start() {
 +
  if [ -x /usr/sbin/syslogd -a -x /usr/sbin/klogd ]; then
 +
-    echo -n "Starting sysklogd daemons:  "
 +
-    echo -n "/usr/sbin/syslogd "
 +
+#    echo -n "Starting sysklogd daemons:  "
 +
+    echo -n "Starting /usr/sbin/syslogd "
 +
+    echo
 +
    /usr/sbin/syslogd
 +
    # prevent syslogd/klogd race condition on SMP kernels
 +
    if ps acx | grep -q udevd ; then
 +
@@ -16,10 +17,10 @@
 +
    else
 +
      sleep 1
 +
    fi
 +
-    echo "/usr/sbin/klogd -c 3 -x"
 +
+#    echo "/usr/sbin/klogd -c 3 -x"
 +
    # '-c 3' = display level 'error' or higher messages on console
 +
    # '-x' = turn off broken EIP translation
 +
-    /usr/sbin/klogd -c 3 -x
 +
+#    /usr/sbin/klogd -c 3 -x
 +
  fi
 +
}
 +
</pre>
 +
 
 +
== Slackware package list ==
 +
Here is the content of the file [http://notes.sagredo.eu/sites/notes.sagredo.eu/files/linux-vserver/slack_vserver/PKG_LIST PKG_LIST]
 +
<pre>
 +
# v. 2011.01.07
 +
# some commented pkg to avoid duplicates (man will download both man and man-pages)
 +
 
 +
#[A]
 +
a/aaa_base
 +
a/aaa_elflibs
 +
a/aaa_terminfo
 +
a/acl
 +
a/attr
 +
a/bash
 +
a/bin
 +
a/bzip2
 +
a/coreutils
 +
a/cpio
 +
a/cxxlibs
 +
a/dcron
 +
a/dialog
 +
a/etc
 +
a/file
 +
a/findutils
 +
a/gawk
 +
a/gettext
 +
a/glibc-solibs
 +
a/glibc-zoneinfo
 +
a/grep
 +
a/gzip
 +
a/infozip
 +
a/kbd
 +
a/less
 +
a/logrotate
 +
a/openssl-solibs
 +
a/patch
 +
a/pkgtools
 +
a/procps
 +
a/quota
 +
a/sed
 +
a/shadow
 +
a/slocate
 +
a/sysklogd
 +
a/sysvinit
 +
# a/sysvinit-functions
 +
# a/sysvinit-scripts
 +
a/tar
 +
a/time
 +
a/tree
 +
a/utempter
 +
a/util-linux
 +
a/xz
 +
a/which
 +
 
 +
#[AP]
 +
ap/at
 +
ap/diffutils
 +
ap/groff
 +
ap/lsof
 +
ap/man
 +
# ap/man-pages
 +
ap/most
 +
ap/nano
 +
ap/sudo
 +
ap/vim
 +
 +
#[D]
 +
d/autoconf
 +
d/automake
 +
d/binutils
 +
d/bison
 +
d/flex
 +
d/gcc-4
 +
d/gcc-g++
 +
d/gettext-tools
 +
d/kernel-headers
 +
d/libtool
 +
d/m4
 +
d/make
 +
d/perl
 +
d/pkg-config
 +
 +
#[L]
 +
l/apr
 +
l/db42
 +
l/db44
 +
l/freetype
 +
l/gd-
 +
l/gdbm
 +
l/glibc
 +
# l/glibc-i18n
 +
l/libjpeg
 +
l/libmcrypt
 +
l/libpng
 +
l/lzo
 +
l/mpfr
 +
l/ncurses
 +
l/pcre
 +
l/popt
 +
l/readline
 +
l/v4l-utils
 +
l/libxslt
 +
l/t1lib
 +
l/zlib
 +
 +
#[N]
 +
n/cyrus-sasl
 +
n/inetd
 +
n/iproute2
 +
n/iputils
 +
n/libgcrypt
 +
n/mtr
 +
n/net-tools
 +
n/netwatch
 +
n/network-scripts
 +
n/ntp
 +
n/openssh
 +
n/openssl
 +
n/tcp_wrappers
 +
n/telnet
 +
n/traceroute
 +
n/wget
 +
</pre>
 +
 
 +
== Post-installation tasks ==
 +
Add the following entries to "/etc/rc.d/rc.local" on the host:
 +
<pre>
 +
/etc/init.d/util-vserver start
 +
/etc/init.d/vprocunhide start
 +
</pre>
 +
 
 +
Search for the following entry in the file "/etc/rc.d/rc.S":
 +
<pre>
 +
# Mount Control Groups filesystem interface:
 +
if grep -wq cgroup /proc/filesystems ; then
 +
  if [ -d /sys/fs/cgroup ]; then
 +
    mount -t cgroup cgroup /sys/fs/cgroup
 +
  else
 +
    mkdir -p /dev/cgroup
 +
    mount -t cgroup cgroup /dev/cgroup
 
   fi
 
   fi
 
+
fi
- # Turn off swap:
+
- echo "Turning off swap."
+
- /sbin/swapoff -a
+
- /bin/sync
+
-
+
- # Umount any LVM volumes:
+
- if /bin/mount | /bin/grep -q '^/dev/mapper/' ; then
+
-  echo "Unmounting LVM volumes."
+
-  /bin/umount -v $(/bin/mount | /bin/grep '^/dev/mapper/' | /bin/cut -d ' ' -f 3 | /bin/tac)
+
- fi
+
-
+
- echo "Unmounting local file systems."
+
- /bin/umount -v -a -t no,proc,sysfs
+
-
+
- echo "Remounting root filesystem read-only."
+
- /bin/mount -v -n -o remount,ro /
+
-
+
  # This never hurts:
+
  /bin/sync
+
 
+
--- 146,151 ----
+
***************
+
*** 222,266 ****
+
    done
+
  fi
+
 
+
- # Deactivate LVM volume groups:
+
- if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
+
-  echo "Deactivating LVM volume groups:"
+
-  /sbin/vgchange -an --ignorelockingfailure
+
- fi
+
-
+
- # This never hurts again (especially since root-on-LVM always fails
+
- # to deactivate the / logical volume...  but at least it was
+
- # remounted as read-only first)
+
- /bin/sync
+
-
+
- # sleep 3 fixes problems with some hard drives that don't
+
- # otherwise finish syncing before reboot or poweroff
+
- /bin/sleep 3
+
-
+
  # This is to ensure all processes have completed on SMP machines:
+
  wait
+
-
+
- if [ -x /sbin/genpowerd ]; then
+
-  # See if this is a powerfail situation:
+
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
+
-    # Signal UPS to shut off the inverter:
+
-    /sbin/genpowerd -k
+
-    if [ ! $? = 0 ]; then
+
-      echo
+
-      echo "There was an error signaling the UPS."
+
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
+
-      echo "the serial line and UPS type."
+
-      # Wasting 15 seconds of precious power:
+
-      /bin/sleep 15
+
-    fi
+
-  fi
+
- fi
+
-
+
- # Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
+
- if [ "$command" = "reboot" ]; then
+
-  echo "Rebooting."
+
-  /sbin/reboot
+
- else
+
-  /sbin/poweroff
+
- fi
+
-
+
--- 170,174 ----
+
diff -crB rc.d-original/rc.6 rc.d-patched/rc.6
+
*** rc.d-original/rc.6 2010-03-20 01:14:07.000000000 +0100
+
--- rc.d-patched/rc.6 2010-10-11 23:35:12.000000000 +0200
+
***************
+
*** 37,58 ****
+
  ;;
+
  esac
+
 
+
- # Save the system time to the hardware clock using hwclock --systohc.
+
- if [ -x /sbin/hwclock ]; then
+
-  # Check for a broken motherboard RTC clock (where ioports for rtc are
+
-  # unknown) to prevent hwclock causing a hang:
+
-  if ! grep -q -w rtc /proc/ioports ; then
+
-    CLOCK_OPT="--directisa"
+
-  fi
+
-  if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+
-    echo "Saving system time to the hardware clock (UTC)."
+
-    /sbin/hwclock $CLOCK_OPT --utc --systohc
+
-  else
+
-    echo "Saving system time to the hardware clock (localtime)."
+
-    /sbin/hwclock  $CLOCK_OPT --localtime --systohc
+
-  fi
+
- fi
+
-
+
  # Run any local shutdown scripts:
+
  if [ -x /etc/rc.d/rc.local_shutdown ]; then
+
    /etc/rc.d/rc.local_shutdown stop
+
--- 37,42 ----
+
***************
+
*** 98,115 ****
+
    sh /etc/rc.d/rc.messagebus stop
+
  fi
+
 
+
- # Unmount any NFS, SMB, or CIFS filesystems:
+
- echo "Unmounting remote filesystems."
+
- /bin/umount -v -a -r -t nfs,smbfs,cifs
+
-
+
- # Try to shut down pppd:
+
- PS="$(ps ax)"
+
- if echo "$PS" | /bin/grep -q -w pppd ; then
+
-  if [ -x /usr/sbin/ppp-off ]; then
+
-    /usr/sbin/ppp-off
+
-  fi
+
- fi
+
-
+
  # Bring down the networking system, but first make sure that this
+
  # isn't a diskless client with the / partition mounted via NFS:
+
  if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
+
--- 82,87 ----
+
***************
+
*** 127,139 ****
+
    sleep 2
+
  fi
+
 
+
- # Shut down PCMCIA devices:
+
- if [ -x /etc/rc.d/rc.pcmcia ]; then
+
-  . /etc/rc.d/rc.pcmcia stop
+
-  # The cards might need a little extra time here to deactivate:
+
-  /bin/sleep 5
+
- fi
+
-
+
  # Turn off process accounting:
+
  if [ -x /sbin/accton -a -r /var/log/pacct ]; then
+
    /sbin/accton off
+
--- 99,104 ----
+
***************
+
*** 181,203 ****
+
    rm -f /var/lock/subsys/*
+
  fi
+
 
+
- # Turn off swap:
+
- echo "Turning off swap."
+
- /sbin/swapoff -a
+
- /bin/sync
+
-
+
- # Umount any LVM volumes:
+
- if /bin/mount | /bin/grep -q '^/dev/mapper/' ; then
+
-  echo "Unmounting LVM volumes."
+
-  /bin/umount -v $(/bin/mount | /bin/grep '^/dev/mapper/' | /bin/cut -d ' ' -f 3 | /bin/tac)
+
- fi
+
-
+
- echo "Unmounting local file systems."
+
- /bin/umount -v -a -t no,proc,sysfs
+
-
+
- echo "Remounting root filesystem read-only."
+
- /bin/mount -v -n -o remount,ro /
+
-
+
  # This never hurts:
+
  /bin/sync
+
 
+
--- 146,151 ----
+
***************
+
*** 222,266 ****
+
    done
+
  fi
+
 
+
- # Deactivate LVM volume groups:
+
- if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
+
-  echo "Deactivating LVM volume groups:"
+
-  /sbin/vgchange -an --ignorelockingfailure
+
- fi
+
-
+
- # This never hurts again (especially since root-on-LVM always fails
+
- # to deactivate the / logical volume...  but at least it was
+
- # remounted as read-only first)
+
- /bin/sync
+
-
+
- # sleep 3 fixes problems with some hard drives that don't
+
- # otherwise finish syncing before reboot or poweroff
+
- /bin/sleep 3
+
-
+
  # This is to ensure all processes have completed on SMP machines:
+
  wait
+
-
+
- if [ -x /sbin/genpowerd ]; then
+
-  # See if this is a powerfail situation:
+
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
+
-    # Signal UPS to shut off the inverter:
+
-    /sbin/genpowerd -k
+
-    if [ ! $? = 0 ]; then
+
-      echo
+
-      echo "There was an error signaling the UPS."
+
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
+
-      echo "the serial line and UPS type."
+
-      # Wasting 15 seconds of precious power:
+
-      /bin/sleep 15
+
-    fi
+
-  fi
+
- fi
+
-
+
- # Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
+
- if [ "$command" = "reboot" ]; then
+
-  echo "Rebooting."
+
-  /sbin/reboot
+
- else
+
-  /sbin/poweroff
+
- fi
+
-
+
--- 170,174 ----
+
diff -crB rc.d-original/rc.K rc.d-patched/rc.K
+
*** rc.d-original/rc.K 2008-12-02 21:31:48.000000000 +0100
+
--- rc.d-patched/rc.K 2010-10-11 23:37:36.000000000 +0200
+
***************
+
*** 57,78 ****
+
    /etc/rc.d/rc.nfsd stop
+
  fi
+
 
+
- # Unmount any NFS, SMB, or CIFS filesystems:
+
- echo "Unmounting remote filesystems."
+
- umount -a -r -t nfs,smbfs,cifs
+
-
+
- # Shut down PCMCIA devices:
+
- if [ -x /etc/rc.d/rc.pcmcia ] ; then
+
-  . /etc/rc.d/rc.pcmcia stop
+
-  # The cards might need a little extra time here to deactivate:
+
-  sleep 5
+
- fi
+
-
+
- # Terminate acpid before syslog:
+
- if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
+
-  . /etc/rc.d/rc.acpid stop
+
- fi
+
-
+
  # Kill all processes.
+
  echo
+
  echo "Sending all processes the SIGHUP signal."
+
--- 57,62 ----
+
diff -crB rc.d-original/rc.M rc.d-patched/rc.M
+
*** rc.d-original/rc.M 2010-02-07 04:01:28.000000000 +0100
+
--- rc.d-patched/rc.M 2010-10-11 23:44:13.000000000 +0200
+
***************
+
*** 20,29 ****
+
    /sbin/ldconfig &
+
  fi
+
 
+
- # Screen blanks after 15 minutes idle time, and powers down in one hour
+
- # if the kernel supports APM or ACPI power management:
+
- /bin/setterm -blank 15 -powersave powerdown -powerdown 60
+
-
+
  # Set the hostname.
+
  if [ -r /etc/HOSTNAME ]; then
+
    /bin/hostname $(cat /etc/HOSTNAME | cut -f1 -d .)
+
--- 20,25 ----
+
***************
+
*** 36,66 ****
+
  # Save the contents of 'dmesg':
+
  /bin/dmesg -s 65536 > /var/log/dmesg
+
 
+
- # Initialize PCMCIA devices:
+
- #
+
- # NOTE: This used to be started near the top of rc.S so that PCMCIA devices
+
- # could be fsck'ed along with the other drives.  This had some unfortunate
+
- # side effects, however, since root isn't yet read-write, and /var might not
+
- # even be mounted the .pid files can't be correctly written in /var/run and
+
- # the pcmcia system can't be correctly shut down.  If you want some PCMCIA
+
- # partition to be mounted at boot (or when the card is inserted) then add
+
- # the appropriate lines to /etc/pcmcia/scsi.opts.
+
- #
+
- # Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using
+
- # 16-bit PCMCIA cards (not 32-bit Cardbus cards!).  For example, with a
+
- # wireless card you might need to set options in /etc/pcmcia OR in
+
- # /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with
+
- # extra options if needed for the encryption key, ESSID, etc.)
+
- #
+
- # Hopefully this situation will be unified in the future, but for now
+
- # that's how it is...
+
- #
+
- if [ -x /etc/rc.d/rc.pcmcia ]; then
+
-  . /etc/rc.d/rc.pcmcia start
+
-  # The cards might need a little extra time here to initialize.
+
-  sleep 5
+
- fi
+
-
+
  # Start the system logger.
+
  if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
+
    . /etc/rc.d/rc.syslog start
+
--- 32,37 ----
+
***************
+
*** 72,97 ****
+
    /usr/bin/fc-cache -f &
+
  fi
+
 
+
- # If we are returning from single-user mode we will need to restart
+
- # udevd on systems that use udev:
+
- if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then
+
-  if ! grep -wq nohotplug /proc/cmdline ; then
+
-    if [ -x /etc/rc.d/rc.udev ]; then
+
-      /bin/sh /etc/rc.d/rc.udev start
+
-    fi
+
-  fi
+
- fi
+
-
+
  # Initialize the networking hardware.
+
  if [ -x /etc/rc.d/rc.inet1 ]; then
+
    . /etc/rc.d/rc.inet1
+
  fi
+
 
+
- # Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
+
- if [ -x /etc/rc.d/rc.scanluns ]; then
+
-  . /etc/rc.d/rc.scanluns
+
- fi
+
-
+
  # Start networking daemons:
+
  if [ -x /etc/rc.d/rc.inet2 ]; then
+
    . /etc/rc.d/rc.inet2
+
--- 43,53 ----
+
***************
+
*** 118,134 ****
+
  chmod 755 / 2> /dev/null
+
  chmod 1777 /tmp /var/tmp
+
 
+
- # Start APM or ACPI daemon.
+
- # If APM is enabled in the kernel, start apmd:
+
- if [ -e /proc/apm ]; then
+
-  if [ -x /usr/sbin/apmd ]; then
+
-    echo "Starting APM daemon:  /usr/sbin/apmd"
+
-    /usr/sbin/apmd
+
-  fi
+
- elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:
+
-  . /etc/rc.d/rc.acpid start
+
- fi
+
-
+
  # Update any existing icon cache files:
+
  if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
+
    for theme_dir in /usr/share/icons/* ; do
+
--- 74,79 ----
+
***************
+
*** 161,171 ****
+
    sh /etc/rc.d/rc.hald start
+
  fi
+
 
+
- # Start Bluetooth:
+
- if [ -x /etc/rc.d/rc.bluetooth ]; then
+
-  sh /etc/rc.d/rc.bluetooth start
+
- fi
+
-
+
  # Start wicd:
+
  if [ -x /etc/rc.d/rc.wicd ]; then
+
    sh /etc/rc.d/rc.wicd start
+
--- 106,111 ----
+
***************
+
*** 207,242 ****
+
    /etc/rc.d/rc.atalk
+
  fi
+
 
+
- # Start smartd, which monitors the status of S.M.A.R.T. compatible
+
- # hard drives and reports any problems.  Note some devices (which aren't
+
- # smart, I guess ;) will hang if probed by smartd, so it's commented out
+
- # by default.
+
- #if [ -x /usr/sbin/smartd ]; then
+
- #  /usr/sbin/smartd
+
- #fi
+
-
+
- # If we're using udev, make /dev/cdrom and any other optical drive symlinks
+
- # if some udev rule hasn't made them already:
+
- if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems; then
+
-  if ! grep -wq nohotplug /proc/cmdline ; then
+
-    if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then
+
-      /bin/sh /lib/udev/rc.optical-symlinks
+
-    fi
+
-  fi
+
- fi
+
-
+
- # Monitor the UPS with genpowerd.
+
- # To use this, uncomment this section and edit your settings in
+
- # /etc/genpowerd.conf (serial device, UPS type, etc).  For more information,
+
- # see "man genpowerd" or the extensive documentation in the
+
- # /usr/doc/genpower-*/ directory.
+
- # You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
+
- # support for stopping the UPS's inverter after the machine halts.
+
- #if [ -x /sbin/genpowerd ]; then
+
- #  echo "Starting genpowerd daemon..."
+
- #  /sbin/genpowerd
+
- #fi
+
-
+
  # Turn on process accounting.  To enable process accounting, make sure the
+
  # option for BSD process accounting is enabled in your kernel, and then
+
  # create the file /var/log/pacct (touch /var/log/pacct).  By default, process
+
--- 147,152 ----
+
***************
+
*** 301,311 ****
+
    . /etc/rc.d/rc.sendmail start
+
  fi
+
 
+
- # Load ALSA (sound) defaults:
+
- if [ -x /etc/rc.d/rc.alsa ]; then
+
-  . /etc/rc.d/rc.alsa
+
- fi
+
-
+
  # Load a custom screen font if the user has an rc.font script.
+
  if [ -x /etc/rc.d/rc.font ]; then
+
    . /etc/rc.d/rc.font
+
--- 211,216 ----
+
***************
+
*** 337,347 ****
+
    . /etc/rc.d/rc.samba start
+
  fi
+
 
+
- # Start the GPM mouse server:
+
- if [ -x /etc/rc.d/rc.gpm ]; then
+
-  . /etc/rc.d/rc.gpm start
+
- fi
+
-
+
  # If there are SystemV init scripts for this runlevel, run them.
+
  if [ -x /etc/rc.d/rc.sysvinit ]; then
+
    . /etc/rc.d/rc.sysvinit
+
--- 242,247 ----
+
diff -crB rc.d-original/rc.inet2 rc.d-patched/rc.inet2
+
*** rc.d-original/rc.inet2 2007-09-18 00:07:32.000000000 +0200
+
--- rc.d-patched/rc.inet2 2010-10-11 23:46:08.000000000 +0200
+
***************
+
*** 15,41 ****
+
 
+
  # At this point, we are ready to talk to The World...
+
 
+
-
+
- # Mount remote (NFS) filesystems:
+
- if cat /etc/fstab | grep -v '^#' | grep -w nfs 1> /dev/null 2> /dev/null ; then
+
-  # Start rpc.portmap, /sbin/rpc.lockd, and /sbin/rpc.statd if we find NFS
+
-  # volumes defined in /etc/fstab since these will need to be running in order
+
-  # to mount them.  If they are not running, attempting to mount an NFS
+
-  # partition will cause mount to hang, or at least result in unreliable
+
-  # operation.  Keep this in mind if you plan to mount unlisted NFS
+
-  # partitions...
+
-  # If you have uncommented NFS partitions in your /etc/fstab, rc.rpc is run
+
-  # whether it is set as executable or not.  If you don't want to run it,
+
-  # comment the NFS partitions out in /etc/fstab or erase/rename rc.rpc.
+
-  if [ -r /etc/rc.d/rc.rpc ]; then
+
-    sh /etc/rc.d/rc.rpc start
+
-  fi
+
-  echo "Mounting remote (NFS) file systems:  /sbin/mount -a -t nfs"
+
-  /sbin/mount -a -t nfs          # This may be our /usr runtime!
+
-  # Show the mounted volumes:
+
-  /sbin/mount -v -t nfs
+
- fi
+
-
+
  # If /etc/rc.d/rc.rpc is executable, run it to load rpc.portmap, rpc.lockd,
+
  # and rpc.statd.  This might be needed to mount NFS partitions that are not
+
  # listed in /etc/fstab.  Starting this twice won't hurt as the script will
+
--- 15,20 ----
+
 
</pre>
 
</pre>
 +
and change this to:
 +
<pre>
 +
# Mount Control Groups filesystem interface:
 +
#if grep -wq cgroup /proc/filesystems ; then
 +
#  if [ -d /sys/fs/cgroup ]; then
 +
#    mount -t cgroup cgroup /sys/fs/cgroup
 +
#  else
 +
#    mkdir -p /dev/cgroup
 +
#    mount -t cgroup cgroup /dev/cgroup
 +
#  fi
 +
#fi
 +
</pre>
 +
You will have to reboot your host afterwards.
 +
 +
[[Category:Installation]]

Latest revision as of 20:12, 21 October 2011

What follows was tested on a Slackware 13.37 and 13.1 guest. I assume you have a Linux-Vserver host working. If not, have a look at this page.

Contents

[edit] Download the patch and the installer script

tar xzf slack_vserver.tar.gz
cd slack_vserver 

ls 
  • PKG_LIST is the package list to be installed in the guest
  • slackware_pkg/ is the folder were the packages ("*.tgz" or "*.txz") to be installed are stored. This folder will be automatically created by these scripts.
  • download_slack.sh is a script that you can use to download all the packages in the PKG_LIST list. If you use this scriptlet all the packages will be stored in the slackware_pkg sub-folder.
  • make_slack_vserver.sh is a shell script that you have to adjust. It installs the guest.
  • slackware-13.37.patch is the patch which modifies /etc/rc.d/rc.6 /etc/rc.d/rc.M and /etc/rc.d/rc.inet2. It must be applied after the creation of the guest. In the patch I switched off all the mounts and executables that are related to the hardware.
  • rc is the startup script for the virtual server. It will be automatically copied in /etc/rc.d/init.d/rc
# more rc

#!/bin/bash

if [ "$1" == "3" ]; then
  /etc/rc.d/rc.M
elif [ "$1" == "6" ]; then
  /etc/rc.d/rc.6
else
  echo "Invalid level."
  exit 1
fi

[edit] Download the slack packages

First of all select a minimal set of packages to be installed on the virtual server. This list of 109 packages is based on the Minimal System reported at http://slackwiki.org/Minimal_System without all hardware, kernel and multimedia related packages. The install leads to a guest of about 448M of size.

I assume that the packages to be installed are stored in the slackware_pkg folder. If not, adjust its location editing the make_slack_vserver.sh script.

You can download my minimal set of packages running the shell script download_slack_pkg.sh

#!/bin/bash
#
# v. 2011.01.07 
# Put here your favourite Slackware repository

SRC="ftp://ftp.slackware.no/slackware/slackware-13.37/slackware/"      # 32-bit
#SRC="ftp://ftp.slackware.no/slackware/slackware64-13.37/slackware64/"  # 64-bit

LIST="../PKG_LIST"

cd slackware_pkg

if [ -f $LIST ]; then
        while read line  
            do  
            wget "$SRC$line*.t?z"
        done < $LIST
else
  echo "Can't find $LIST file."
  exit 1
fi

rm index.html*

Adjust the package PKG_LIST, enter your favorite ftp server and run from the command line

./download_slack_pkg.sh

[edit] Make the guest

Now let's create the guest and install the packages. As you know you must choose at least a "name", a "context" and an ip. In addition you have to modify most of the rc.* startup scripts removing all the hardware related daemons, and finally replace the /dev dir.

This is done running the script make_slack_vserver.sh:

#!/bin/bash
#
# v. 2011.04.28
# Author: Roberto Puzzanghera
#
# This script installs a Slackware guest into a linux-vserver host (http://linux-vserver.org)
#
# Comments are welcome :-)
# More info here: http://notes.sagredo.eu/node/7
 
if [ $# != 1 ]; then
  echo "usage: $0 <server-name>"
  exit 1
fi
 
# adjust this to where your things live
NAME=$1
HOSTNAME=$NAME.myserver.net
IP=10.0.0.149
INTERFACE=eth0:$IP/24
CONTEXT=1011
VERSION=13.37 # Slackware version
 
# where is the vservers dir? default is /vservers
VDIR="/vservers"
 
# the directory where you unpacked slack_vserver.tar.gz
# $PWD should work, otherwise put /path/to/slack_vserver
SETUP=$PWD
 
# the directory where you downloaded the slackware packages
PACKAGES="$SETUP/slackware_pkg"
 
# the path to rc script file (leave as is)
RC="$SETUP/rc"
 
################### end configuration
 
# sanity check
 
if [ ! -d "$VDIR" ]; then
        echo
        echo "Can't find VDIR dir: $VDIR"
        echo "Exiting"
        echo
        exit 1 
fi
if [ ! -d "$SETUP" ]; then
        echo  
        echo "Can't find SETUP dir: $SETUP"
        echo "Exiting"
        echo
        exit 1
fi
if [ ! -d "$PACKAGES" ]; then
        echo
        echo "Can't find PACKAGES dir: $PACKAGES"
        echo "Exiting"
        echo
        exit 1
fi
if [ ! -f "$RC" ]; then
        echo
        echo "Can't find RC path: $RC"
        echo "Exiting"
        echo
        exit 1
fi
 
# if everything is ok start the install
 
echo
read -p "press any key to make skeleton..."
vserver ${NAME} build -m skeleton \
        --hostname ${HOSTNAME} \
        --interface ${INTERFACE} \
        --context $CONTEXT \
        --flags lock,virt_mem,virt_uptime,virt_cpu,virt_load,sched_hard,hide_netif \
        --initstyle sysv
echo "...done"
echo
 
read -p "press any key to move the /dev folder to a temp dir the /dev folder..."
mv $VDIR/$NAME/dev $VDIR/$NAME/dev2
 
echo
read -p "press any key to install packages..." 
cd $PACKAGES
installpkg -root $VDIR/$NAME *.t?z; 
echo "...done" 
echo
 
echo
read -p "press any key to copy the rc script to /etc/rc.d/init.d..."
echo
echo "copying rc to /etc/rc.d/init.d/rc"
cp -p $RC $VDIR/$NAME/etc/rc.d/init.d/
echo "...done"
 
echo
echo "removing x flag to rc.inet1 rc.loop and rc.sshd"
chmod -x $VDIR/$NAME/etc/rc.d/rc.inet1 $VDIR/$NAME/etc/rc.d/rc.loop $VDIR/$NAME/etc/rc.d/rc.sshd
echo "...done"
echo
 
echo "trying to adjust HOSTNAME, hosts, resolv.conf, profile. Check later..."
cp /etc/resolv.conf $VDIR/$NAME/etc/
cp /etc/localtime $VDIR/$NAME/etc/
rm $VDIR/$NAME/etc/profile
cp /etc/profile $VDIR/$NAME/etc/
echo $HOSTNAME >  $VDIR/$NAME/etc/HOSTNAME
echo "127.0.0.1 localhost" > $VDIR/$NAME/etc/hosts
echo "$IP $HOSTNAME $NAME" >> $VDIR/$NAME/etc/hosts
touch $VDIR/$NAME/etc/mtab                         
touch $VDIR/$NAME/etc/fstab
echo "...done"
echo
 
read -p "press any key to restore /dev2 to /dev"
rm -r $VDIR/$NAME/dev
mv $VDIR/$NAME/dev2 $VDIR/$NAME/dev
 
echo
echo -n "Do you want that I apply the patch for you y/n? [y] "
read VAR_PATCH
 
if [ "$VAR_PATCH" = 'y' ] || [ "$VAR_PATCH" = '' ]; then
        cd $VDIR/$NAME/etc/rc.d
        patch -p1 < $SETUP/linux-vserver_slackware-$VERSION.patch
        echo "patch applyed."
        echo
        echo "You can start and enter the virtual server typing: "
        echo
        echo "vserver $NAME start"
        echo "vserver $NAME enter"
        else
                echo
                echo "DON'T FORGET to patch /etc/rc.d as follows: "
                echo
                echo "cd $VDIR/$NAME/etc/rc.d"
                echo "patch -p1 < $SETUP/linux-vserver_slackware-$VERSION.patch"
fi
 
echo
echo "More info on http://notes.sagredo.eu/node/7"
echo

[edit] Apply the patch and start the guest

The script itsself can install the patch for you. Anyway this is how to apply the patch by yourself:

cd /vservers/vserver_name/etc/rc.d
patch -p1 < /path/to/slack_vserver/slackware-13.37.patch

Now you can start the newly created virtual server:

vserver <vserver_name> start
vserver <vserver_name> enter

[edit] Contact

Any comments/suggestions/questions to roberto dot puzzanghera at sagredo dot eu, [1] or the talk page of this wiki page.

[edit] Patch used

Patch for Slackware 13.37 guest on a Linux-Vserver host
========================================================
by Roberto Puzzanghera - http://notes.sagredo.eu
version: 2011.04.28

========================================================

diff -urNB rc.d-original/rc.0 rc.d/rc.0
--- rc.d-original/rc.0	2011-04-16 23:14:14.000000000 +0200
+++ rc.d/rc.0	2011-04-28 15:01:59.000000000 +0200
@@ -37,22 +37,6 @@
 		;;
 esac
 
-# Save the system time to the hardware clock using hwclock --systohc.
-if [ -x /sbin/hwclock ]; then
-  # Check for a broken motherboard RTC clock (where ioports for rtc are
-  # unknown) to prevent hwclock causing a hang:
-  if ! grep -q -w rtc /proc/ioports ; then
-    CLOCK_OPT="--directisa"
-  fi
-  if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
-    echo "Saving system time to the hardware clock (UTC)."
-    /sbin/hwclock $CLOCK_OPT --utc --systohc
-  else
-    echo "Saving system time to the hardware clock (localtime)."
-    /sbin/hwclock  $CLOCK_OPT --localtime --systohc
-  fi
-fi
-
 # Run any local shutdown scripts:
 if [ -x /etc/rc.d/rc.local_shutdown ]; then
   /etc/rc.d/rc.local_shutdown stop
@@ -98,66 +82,11 @@
   sh /etc/rc.d/rc.messagebus stop
 fi
 
-# Kill any processes (typically gam) that would otherwise prevent
-# unmounting NFS volumes:
-unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
-  echo "Killing processes holding NFS mount $dir open..."
-  # Background this to prevent fuser from also blocking shutdown:
-  /usr/bin/fuser -k -m $dir &
-  FUSER_DELAY=5
-done
-# If fuser was run, let it have some delay:
-if [ ! -z "$FUSER_DELAY" ]; then
-  sleep $FUSER_DELAY
-fi
-
-# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems."
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
-
-# Try to shut down pppd:
-PS="$(ps ax)"
-if echo "$PS" | /bin/grep -q -w pppd ; then
-  if [ -x /usr/sbin/ppp-off ]; then
-    /usr/sbin/ppp-off
-  fi
-fi
-
-# Bring down the networking system, but first make sure that this
-# isn't a diskless client with the / partition mounted via NFS:
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
-  if [ -x /etc/rc.d/rc.inet1 ]; then
-    . /etc/rc.d/rc.inet1 stop
-  fi
-fi
-
-# In case dhcpcd might have been manually started on the command line,
-# look for the .pid file, and shut dhcpcd down if it's found:
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
-  /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
-  # A little time for /etc/resolv.conf and/or other files to
-  # restore themselves.
-  sleep 2
-fi
-
-# Shut down PCMCIA devices:
-if [ -x /etc/rc.d/rc.pcmcia ]; then
-  . /etc/rc.d/rc.pcmcia stop
-  # The cards might need a little extra time here to deactivate:
-  /bin/sleep 5
-fi
-
 # Turn off process accounting:
 if [ -x /sbin/accton -a -r /var/log/pacct ]; then
   /sbin/accton off
 fi
 
-# Terminate acpid before syslog:
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
-  . /etc/rc.d/rc.acpid stop
-fi
-
 # Kill all processes.
 # INIT is supposed to handle this entirely now, but this didn't always
 # work correctly without this second pass at killing off the processes.
@@ -177,16 +106,6 @@
   fi
 fi
 
-# Carry a random seed between reboots.
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
-# Use the pool size from /proc, or 512 bytes:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
-else
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-/bin/chmod 600 /etc/random-seed
-
 # Before unmounting file systems write a reboot or halt record to wtmp.
 $command -w
 
@@ -195,17 +114,6 @@
   rm -f /var/lock/subsys/*
 fi
 
-# Turn off swap:
-echo "Turning off swap."
-/sbin/swapoff -a
-/bin/sync
-
-echo "Unmounting local file systems."
-/bin/umount -v -a -t no,proc,sysfs
-
-echo "Remounting root filesystem read-only."
-/bin/mount -v -n -o remount,ro /
-
 # This never hurts:
 /bin/sync
 
@@ -230,45 +138,10 @@
   done
 fi
 
-# Deactivate LVM volume groups:
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
-  echo "Deactivating LVM volume groups:"
-  /sbin/vgchange -an --ignorelockingfailure
-fi
-
 # This never hurts again (especially since root-on-LVM always fails
 # to deactivate the / logical volume...  but at least it was
 # remounted as read-only first)
 /bin/sync
 
-# sleep 3 fixes problems with some hard drives that don't
-# otherwise finish syncing before reboot or poweroff
-/bin/sleep 3
-
 # This is to ensure all processes have completed on SMP machines:
 wait
-
-if [ -x /sbin/genpowerd ]; then
-  # See if this is a powerfail situation:
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
-    # Signal UPS to shut off the inverter:
-    /sbin/genpowerd -k
-    if [ ! $? = 0 ]; then
-      echo
-      echo "There was an error signaling the UPS."
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
-      echo "the serial line and UPS type."
-      # Wasting 15 seconds of precious power:
-      /bin/sleep 15
-    fi
-  fi
-fi
-
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
-if [ "$command" = "reboot" ]; then
-  echo "Rebooting."
-  /sbin/reboot
-else
-  /sbin/poweroff
-fi
-
diff -urNB rc.d-original/rc.6 rc.d/rc.6
--- rc.d-original/rc.6	2011-04-16 23:14:14.000000000 +0200
+++ rc.d/rc.6	2011-04-28 15:01:59.000000000 +0200
@@ -37,22 +37,6 @@
 		;;
 esac
 
-# Save the system time to the hardware clock using hwclock --systohc.
-if [ -x /sbin/hwclock ]; then
-  # Check for a broken motherboard RTC clock (where ioports for rtc are
-  # unknown) to prevent hwclock causing a hang:
-  if ! grep -q -w rtc /proc/ioports ; then
-    CLOCK_OPT="--directisa"
-  fi
-  if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
-    echo "Saving system time to the hardware clock (UTC)."
-    /sbin/hwclock $CLOCK_OPT --utc --systohc
-  else
-    echo "Saving system time to the hardware clock (localtime)."
-    /sbin/hwclock  $CLOCK_OPT --localtime --systohc
-  fi
-fi
-
 # Run any local shutdown scripts:
 if [ -x /etc/rc.d/rc.local_shutdown ]; then
   /etc/rc.d/rc.local_shutdown stop
@@ -98,66 +82,11 @@
   sh /etc/rc.d/rc.messagebus stop
 fi
 
-# Kill any processes (typically gam) that would otherwise prevent
-# unmounting NFS volumes:
-unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
-  echo "Killing processes holding NFS mount $dir open..."
-  # Background this to prevent fuser from also blocking shutdown:
-  /usr/bin/fuser -k -m $dir &
-  FUSER_DELAY=5
-done
-# If fuser was run, let it have some delay:
-if [ ! -z "$FUSER_DELAY" ]; then
-  sleep $FUSER_DELAY
-fi
-
-# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems."
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
-
-# Try to shut down pppd:
-PS="$(ps ax)"
-if echo "$PS" | /bin/grep -q -w pppd ; then
-  if [ -x /usr/sbin/ppp-off ]; then
-    /usr/sbin/ppp-off
-  fi
-fi
-
-# Bring down the networking system, but first make sure that this
-# isn't a diskless client with the / partition mounted via NFS:
-if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
-  if [ -x /etc/rc.d/rc.inet1 ]; then
-    . /etc/rc.d/rc.inet1 stop
-  fi
-fi
-
-# In case dhcpcd might have been manually started on the command line,
-# look for the .pid file, and shut dhcpcd down if it's found:
-if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
-  /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
-  # A little time for /etc/resolv.conf and/or other files to
-  # restore themselves.
-  sleep 2
-fi
-
-# Shut down PCMCIA devices:
-if [ -x /etc/rc.d/rc.pcmcia ]; then
-  . /etc/rc.d/rc.pcmcia stop
-  # The cards might need a little extra time here to deactivate:
-  /bin/sleep 5
-fi
-
 # Turn off process accounting:
 if [ -x /sbin/accton -a -r /var/log/pacct ]; then
   /sbin/accton off
 fi
 
-# Terminate acpid before syslog:
-if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
-  . /etc/rc.d/rc.acpid stop
-fi
-
 # Kill all processes.
 # INIT is supposed to handle this entirely now, but this didn't always
 # work correctly without this second pass at killing off the processes.
@@ -177,16 +106,6 @@
   fi
 fi
 
-# Carry a random seed between reboots.
-echo "Saving random seed from /dev/urandom in /etc/random-seed."
-# Use the pool size from /proc, or 512 bytes:
-if [ -r /proc/sys/kernel/random/poolsize ]; then
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
-else
-  /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
-fi
-/bin/chmod 600 /etc/random-seed
-
 # Before unmounting file systems write a reboot or halt record to wtmp.
 $command -w
 
@@ -195,17 +114,6 @@
   rm -f /var/lock/subsys/*
 fi
 
-# Turn off swap:
-echo "Turning off swap."
-/sbin/swapoff -a
-/bin/sync
-
-echo "Unmounting local file systems."
-/bin/umount -v -a -t no,proc,sysfs
-
-echo "Remounting root filesystem read-only."
-/bin/mount -v -n -o remount,ro /
-
 # This never hurts:
 /bin/sync
 
@@ -230,45 +138,10 @@
   done
 fi
 
-# Deactivate LVM volume groups:
-if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
-  echo "Deactivating LVM volume groups:"
-  /sbin/vgchange -an --ignorelockingfailure
-fi
-
 # This never hurts again (especially since root-on-LVM always fails
 # to deactivate the / logical volume...  but at least it was
 # remounted as read-only first)
 /bin/sync
 
-# sleep 3 fixes problems with some hard drives that don't
-# otherwise finish syncing before reboot or poweroff
-/bin/sleep 3
-
 # This is to ensure all processes have completed on SMP machines:
 wait
-
-if [ -x /sbin/genpowerd ]; then
-  # See if this is a powerfail situation:
-  if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
-    # Signal UPS to shut off the inverter:
-    /sbin/genpowerd -k
-    if [ ! $? = 0 ]; then
-      echo
-      echo "There was an error signaling the UPS."
-      echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
-      echo "the serial line and UPS type."
-      # Wasting 15 seconds of precious power:
-      /bin/sleep 15
-    fi
-  fi
-fi
-
-# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
-if [ "$command" = "reboot" ]; then
-  echo "Rebooting."
-  /sbin/reboot
-else
-  /sbin/poweroff
-fi
-
diff -urNB rc.d-original/rc.M rc.d/rc.M
--- rc.d-original/rc.M	2011-03-22 07:15:15.000000000 +0100
+++ rc.d/rc.M	2011-04-28 19:07:47.000000000 +0200
@@ -20,10 +20,6 @@
   /sbin/ldconfig &
 fi
 
-# Screen blanks after 15 minutes idle time, and powers down in one hour
-# if the kernel supports APM or ACPI power management:
-/bin/setterm -blank 15 -powersave powerdown -powerdown 60
-
 # Set the hostname.
 if [ -r /etc/HOSTNAME ]; then
   /bin/hostname $(cat /etc/HOSTNAME | cut -f1 -d .)
@@ -47,31 +43,6 @@
 # Save the contents of 'dmesg':
 /bin/dmesg -s 65536 > /var/log/dmesg
 
-# Initialize PCMCIA devices:
-#
-# NOTE: This used to be started near the top of rc.S so that PCMCIA devices
-# could be fsck'ed along with the other drives.  This had some unfortunate
-# side effects, however, since root isn't yet read-write, and /var might not
-# even be mounted the .pid files can't be correctly written in /var/run and
-# the pcmcia system can't be correctly shut down.  If you want some PCMCIA
-# partition to be mounted at boot (or when the card is inserted) then add
-# the appropriate lines to /etc/pcmcia/scsi.opts.
-#
-# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using
-# 16-bit PCMCIA cards (not 32-bit Cardbus cards!).  For example, with a
-# wireless card you might need to set options in /etc/pcmcia OR in
-# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with
-# extra options if needed for the encryption key, ESSID, etc.)
-#
-# Hopefully this situation will be unified in the future, but for now
-# that's how it is...
-#
-if [ -x /etc/rc.d/rc.pcmcia ]; then
-  . /etc/rc.d/rc.pcmcia start
-  # The cards might need a little extra time here to initialize.
-  sleep 5
-fi
-
 # Start the system logger.
 if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
   . /etc/rc.d/rc.syslog start
@@ -83,38 +54,18 @@
   /usr/bin/fc-cache -f &
 fi
 
-# If we are returning from single-user mode we will need to restart
-# udevd on systems that use udev:
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then
-  if ! grep -wq nohotplug /proc/cmdline ; then
-    if [ -x /etc/rc.d/rc.udev ]; then
-      /bin/sh /etc/rc.d/rc.udev start
-    fi
-  fi
-fi
-
-# Initialize the networking hardware.
-if [ -x /etc/rc.d/rc.inet1 ]; then
-  . /etc/rc.d/rc.inet1
-fi
-
-# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
-if [ -x /etc/rc.d/rc.scanluns ]; then
-  . /etc/rc.d/rc.scanluns
-fi
-
 # Start networking daemons:
 if [ -x /etc/rc.d/rc.inet2 ]; then
   . /etc/rc.d/rc.inet2
 fi
 
 # Mount any additional filesystem types that haven't already been mounted:
-mount -a -v 2> /dev/null | grep -v "already mounted"
+#mount -a -v 2> /dev/null | grep -v "already mounted"
 
 # Start the Control Script for automounter:
-if [ -x /etc/rc.d/rc.autofs ]; then
-  sh /etc/rc.d/rc.autofs start
-fi
+#if [ -x /etc/rc.d/rc.autofs ]; then
+#  sh /etc/rc.d/rc.autofs start
+#fi
 
 # Start the Network Time Protocol daemon:
 if [ -x /etc/rc.d/rc.ntpd ]; then
@@ -134,17 +85,6 @@
 chmod 755 / 2> /dev/null
 chmod 1777 /tmp /var/tmp
 
-# Start APM or ACPI daemon.
-# If APM is enabled in the kernel, start apmd:
-if [ -e /proc/apm ]; then
-  if [ -x /usr/sbin/apmd ]; then
-    echo "Starting APM daemon:  /usr/sbin/apmd"
-    /usr/sbin/apmd
-  fi
-elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:
-  . /etc/rc.d/rc.acpid start
-fi
-
 # Update any existing icon cache files:
 if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
   for theme_dir in /usr/share/icons/* ; do
@@ -177,21 +117,6 @@
   sh /etc/rc.d/rc.consolekit start
 fi
 
-# Start HAL:
-if [ -x /etc/rc.d/rc.hald ]; then
-  sh /etc/rc.d/rc.hald start
-fi
-
-# Start Bluetooth:
-if [ -x /etc/rc.d/rc.bluetooth ]; then
-  sh /etc/rc.d/rc.bluetooth start
-fi
-
-# Start wicd:
-if [ -x /etc/rc.d/rc.wicd ]; then
-  sh /etc/rc.d/rc.wicd start
-fi
-
 # These GTK+/pango files need to be kept up to date for
 # proper input method, pixbuf loaders, and font support.
 if [ -x /usr/bin/update-gtk-immodules ]; then
@@ -228,36 +153,6 @@
   /etc/rc.d/rc.atalk
 fi
 
-# Start smartd, which monitors the status of S.M.A.R.T. compatible
-# hard drives and reports any problems.  Note some devices (which aren't
-# smart, I guess ;) will hang if probed by smartd, so it's commented out
-# by default.
-#if [ -x /usr/sbin/smartd ]; then
-#  /usr/sbin/smartd
-#fi
-
-# If we're using udev, make /dev/cdrom and any other optical drive symlinks
-# if some udev rule hasn't made them already:
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems; then
-  if ! grep -wq nohotplug /proc/cmdline ; then
-    if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then
-      /bin/sh /lib/udev/rc.optical-symlinks
-    fi
-  fi
-fi
-
-# Monitor the UPS with genpowerd.
-# To use this, uncomment this section and edit your settings in
-# /etc/genpowerd.conf (serial device, UPS type, etc).  For more information,
-# see "man genpowerd" or the extensive documentation in the
-# /usr/doc/genpower-*/ directory.
-# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
-# support for stopping the UPS's inverter after the machine halts.
-#if [ -x /sbin/genpowerd ]; then
-#  echo "Starting genpowerd daemon..."
-#  /sbin/genpowerd
-#fi
-
 # Turn on process accounting.  To enable process accounting, make sure the
 # option for BSD process accounting is enabled in your kernel, and then
 # create the file /var/log/pacct (touch /var/log/pacct).  By default, process
@@ -322,11 +217,6 @@
   . /etc/rc.d/rc.sendmail start
 fi
 
-# Load ALSA (sound) defaults:
-if [ -x /etc/rc.d/rc.alsa ]; then
-  . /etc/rc.d/rc.alsa
-fi
-
 # Load a custom screen font if the user has an rc.font script.
 if [ -x /etc/rc.d/rc.font ]; then
   . /etc/rc.d/rc.font
@@ -358,11 +248,6 @@
   . /etc/rc.d/rc.samba start
 fi
 
-# Start the GPM mouse server:
-if [ -x /etc/rc.d/rc.gpm ]; then
-  . /etc/rc.d/rc.gpm start
-fi
-
 # If there are SystemV init scripts for this runlevel, run them.
 if [ -x /etc/rc.d/rc.sysvinit ]; then
   . /etc/rc.d/rc.sysvinit
diff -urNB rc.d-original/rc.inet2 rc.d/rc.inet2
--- rc.d-original/rc.inet2	2007-09-18 00:07:32.000000000 +0200
+++ rc.d/rc.inet2	2011-04-28 19:09:27.000000000 +0200
@@ -16,26 +16,6 @@
 # At this point, we are ready to talk to The World...
 
 
-# Mount remote (NFS) filesystems:
-if cat /etc/fstab | grep -v '^#' | grep -w nfs 1> /dev/null 2> /dev/null ; then
-  # Start rpc.portmap, /sbin/rpc.lockd, and /sbin/rpc.statd if we find NFS
-  # volumes defined in /etc/fstab since these will need to be running in order
-  # to mount them.  If they are not running, attempting to mount an NFS
-  # partition will cause mount to hang, or at least result in unreliable
-  # operation.  Keep this in mind if you plan to mount unlisted NFS
-  # partitions... 
-  # If you have uncommented NFS partitions in your /etc/fstab, rc.rpc is run
-  # whether it is set as executable or not.  If you don't want to run it,
-  # comment the NFS partitions out in /etc/fstab or erase/rename rc.rpc.
-  if [ -r /etc/rc.d/rc.rpc ]; then
-    sh /etc/rc.d/rc.rpc start
-  fi
-  echo "Mounting remote (NFS) file systems:  /sbin/mount -a -t nfs"
-  /sbin/mount -a -t nfs          # This may be our /usr runtime!
-  # Show the mounted volumes:
-  /sbin/mount -v -t nfs
-fi
-
 # If /etc/rc.d/rc.rpc is executable, run it to load rpc.portmap, rpc.lockd,
 # and rpc.statd.  This might be needed to mount NFS partitions that are not
 # listed in /etc/fstab.  Starting this twice won't hurt as the script will
@@ -44,23 +24,6 @@
   sh /etc/rc.d/rc.rpc start
 fi
 
-# Mount remote CIFS filesystems.  Note that where possible, using CIFS is
-# preferred over SMBFS.  SMBFS is no longer actively maintained.
-if cat /etc/fstab | grep -v '^#' | grep -w cifs 1> /dev/null 2> /dev/null ; then
-  echo "Mounting remote CIFS file systems:  /sbin/mount -a -t cifs"
-  /sbin/mount -a -t cifs
-  # Show the mounted volumes:
-  /sbin/mount -v -t cifs
-fi
-
-# Mount remote SMB filesystems:
-if cat /etc/fstab | grep -v '^#' | grep -w smbfs 1> /dev/null 2> /dev/null ; then
-  echo "Mounting remote SMBFS file systems:  /sbin/mount -a -t smbfs"
-  /sbin/mount -a -t smbfs
-  # Show the mounted volumes:
-  /sbin/mount -v -t smbfs
-fi
-
 # Start the system logger if it is not already running (maybe because /usr
 # is on a network partition).
 if [ -x /etc/rc.d/rc.syslog -a -d /var/log -a ! -r /var/run/syslogd.pid ]; then
diff -urNB rc.d-original/rc.syslog rc.d/rc.syslog
--- rc.d-original/rc.syslog	2010-10-21 01:03:54.000000000 +0200
+++ rc.d/rc.syslog	2011-04-28 20:20:26.000000000 +0200
@@ -5,8 +5,9 @@
 
 syslogd_start() {
   if [ -x /usr/sbin/syslogd -a -x /usr/sbin/klogd ]; then
-    echo -n "Starting sysklogd daemons:  "
-    echo -n "/usr/sbin/syslogd "
+#    echo -n "Starting sysklogd daemons:  "
+    echo -n "Starting /usr/sbin/syslogd "
+    echo
     /usr/sbin/syslogd
     # prevent syslogd/klogd race condition on SMP kernels
     if ps acx | grep -q udevd ; then
@@ -16,10 +17,10 @@
     else
       sleep 1
     fi
-    echo "/usr/sbin/klogd -c 3 -x"
+#    echo "/usr/sbin/klogd -c 3 -x"
     # '-c 3' = display level 'error' or higher messages on console
     # '-x' = turn off broken EIP translation
-    /usr/sbin/klogd -c 3 -x
+#    /usr/sbin/klogd -c 3 -x
   fi
 }

[edit] Slackware package list

Here is the content of the file PKG_LIST

# v. 2011.01.07
# some commented pkg to avoid duplicates (man will download both man and man-pages)

#[A]
a/aaa_base
a/aaa_elflibs
a/aaa_terminfo
a/acl
a/attr
a/bash
a/bin
a/bzip2
a/coreutils
a/cpio
a/cxxlibs
a/dcron
a/dialog
a/etc
a/file
a/findutils
a/gawk
a/gettext
a/glibc-solibs
a/glibc-zoneinfo
a/grep
a/gzip
a/infozip
a/kbd
a/less
a/logrotate
a/openssl-solibs
a/patch
a/pkgtools
a/procps
a/quota
a/sed
a/shadow
a/slocate
a/sysklogd
a/sysvinit
# a/sysvinit-functions
# a/sysvinit-scripts
a/tar
a/time
a/tree
a/utempter
a/util-linux
a/xz
a/which

#[AP]
ap/at
ap/diffutils
ap/groff
ap/lsof
ap/man
# ap/man-pages
ap/most
ap/nano
ap/sudo
ap/vim
 
#[D]
d/autoconf
d/automake
d/binutils
d/bison
d/flex
d/gcc-4
d/gcc-g++
d/gettext-tools
d/kernel-headers
d/libtool
d/m4
d/make
d/perl
d/pkg-config
 
#[L]
l/apr
l/db42
l/db44
l/freetype
l/gd-
l/gdbm
l/glibc
# l/glibc-i18n
l/libjpeg
l/libmcrypt
l/libpng
l/lzo
l/mpfr
l/ncurses
l/pcre
l/popt
l/readline
l/v4l-utils
l/libxslt
l/t1lib
l/zlib
 
#[N]
n/cyrus-sasl
n/inetd
n/iproute2
n/iputils
n/libgcrypt
n/mtr
n/net-tools
n/netwatch
n/network-scripts
n/ntp
n/openssh
n/openssl
n/tcp_wrappers
n/telnet
n/traceroute
n/wget

[edit] Post-installation tasks

Add the following entries to "/etc/rc.d/rc.local" on the host:

/etc/init.d/util-vserver start
/etc/init.d/vprocunhide start

Search for the following entry in the file "/etc/rc.d/rc.S":

# Mount Control Groups filesystem interface:
if grep -wq cgroup /proc/filesystems ; then
  if [ -d /sys/fs/cgroup ]; then
    mount -t cgroup cgroup /sys/fs/cgroup
  else
    mkdir -p /dev/cgroup
    mount -t cgroup cgroup /dev/cgroup
  fi
fi

and change this to:

# Mount Control Groups filesystem interface:
#if grep -wq cgroup /proc/filesystems ; then
#  if [ -d /sys/fs/cgroup ]; then
#    mount -t cgroup cgroup /sys/fs/cgroup
#  else
#    mkdir -p /dev/cgroup
#    mount -t cgroup cgroup /dev/cgroup
#  fi
#fi

You will have to reboot your host afterwards.

Personal tools