We currently migrate to MediaWiki from our old installation, but not all content has been migrated yet. Take a look at the Wiki Team page for instructions how to help or browse through our new wiki at wiki.linux-vserver.org to find the information already migrated.

CentOS 4 Specific Hints

This is meant to help those with this distribution, successfully install Linux-VServer.

A. Kernel Issues

  • Get and compile kernel
The CentOS default Kernel release is highly patched already and thus are not compatible with the patches supplied by linux-vserver.org. For this reason, we are going to use a vanilla-kernel (read: an unmodified original linux kernel) from kernel.org. For this part see http://linux-vserver.org/Step-by-Step+Guide+2.6
  • Compile the kernel with:
make menuconfig
make
make modules_install
make install
  • CentOS, properly modifies the grub.conf file for the new kernel, but we still need to make some more changes:
  • Fix /etc/fstab
  • CentOS uses LABEL, which is not compatible with a vanilla kernel
  • Run 'mount' to see what drives are pointing where
  • Change the corresponding lines in /etc/fstab to point to the real device name:
Before:
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot1            /boot                   ext2    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
LABEL=SWAP-hda2         swap                    swap    defaults        0 0
/dev/hdb                /media/cdrom            auto    pamconsole,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0
Mount:
/dev/hda3 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda1 on /boot type ext2 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
After:
/dev/hda3               /                       ext3    defaults        1 1
/dev/hda1               /boot                   ext2    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
/dev/hda2               swap                    swap    defaults        0 0
/dev/hdb                /media/cdrom            auto    pamconsole,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0
  • Fix /boot/grub/grub.conf
  • This file also needs to be modified for the same reasons
  • Change all lines that use LABEL in /boot/grub/grub/conf to point to the real device name
Change:
        kernel /vmlinuz-2.6.9-5.0.3.EL ro root=LABEL=/
To:
        kernel /vmlinuz-2.6.9-5.0.3.EL ro root=/dev/hda1
  • Disable SELinux
  • SELinux conflicts with Linux-VServer. Disable it in /etc/selinux/config (SELINUX=disabled)
  • Reboot
  • If it boots, you did it right, otherwise, go back and check everything.

B. Tool Hints

  • Many like to configure the tools with the following options:
./configure --prefix=/usr --sysconfdir=/etc --with-vrootdir=/vservers
make
make check
make install

C. Adding CentOS 4 Support into the tools

cd /usr/lib/util-vserver/distributions
cp fc3 centos4
cd centos4
mkdir pubkeys
cp /usr/share/rhn/RPM-GPG-KEY-centos4 ./pubkeys/  (Should be there from a properly updated !CentOS install)
ln -s ../redhat/initpre .
ln -s ../redhat/initpost .
cd pkgs
rm -f 01 02 03
vi 01 (put the contents of this into it: http://linux-vserver.org/CentOS_min_install)
cd ../yum
vi yu/yum.conf and replace with:

[main]
cachedir=@YUMCACHEDIR@
reposdir=@YUMETCDIR@/yum.repos.d
debuglevel=2
logfile=@YUMLOGDIR@/log
pkgpolicy=newest
distroverpkg=centos-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1

cd yum.repos.d
rm -f *.repo
cp /etc/yum.repos.d/!CentOS-Base.repo .

cp /etc/vservers/.distributions/fc3 /etc/vservers/.distributions/centos4

D. VServer creation

  • Build a new minimal vserver

First, let's create a minimal install of CentOS. We set this up earlier by putting the rpm packages to pkgs/01

vserver min-centos4 build -m yum --hostname domain.com --interface domain=eth0:192.168.0.136/24 --initstyle sysv --context 500 --force -- -d centos4

This should take some time to install depending on your Internet connection.

One thing that is not created by this is the /etc/resolv.conf file. Manually create it, putting in your DNS servers.

If you would like to be able to update the rpm packages (yum, etc.) from within the vserver copy in the rpm database and associated files:

cp /vservers/.pkg/min-centos4/rpm/state/* /vservers/min-centos4/.rpmdb/

Once it is created, you can start it:

vserver min-centos4 start

Then you can enter it:

vserver min-centos4 enter