== Test configuration ==
Host: * Debian Etch AMD64 * Kernel: 2.6.15.4-vs2.0.2-rc9 * util-vserver 0.30.210 + patche (see below) Guest: * SLES 9 == Running SuSE vservers on a Debian server == === Installation === Debian is lacking the required rpm tools to install a SuSE/SLES? system directly (the required apt-rpm is available in source only for apt-0.5.xx, and Debian is already at 0.6.xx). * install SuSE on raw metal * boot from CD (SuSE or Debian whatever you prefer) * tar the whole system, copy it to the vserver host and untar it to desired vserver location, usually /var/lib/vservers/<servername> * create /etc/vservser/<servername> manual (or copy from other vserver) === post install cleanup === * remove some startup service, either delete the /etc/init.d/.... links or run the following from inside the vserver: <code> chkconfig -d -f boot.swap boot.isapnp boot.idedma boot.loadmodules > boot.device-mapper boot.md boot.proc boot.shm boot.sched > boot.rootfsck hotplug boot.localfs boot.crypto boot.clock > boot.scpm boot.ipconfig chkconfig -d -f coldplug irq_balancer random network fbset powersaved kbd hwscan </code> * remove unneeded packages: <code> rpm -e irqbalance kernel-smp grub reiserfs xfsprogs raidtools ntfsprogs > module-init-tools mkinitrd powersave hotplug mdadm </code> Note: there are a number of redundant packages remaining that can not be removed due to yast2 depending on them. === initscripts === SuSE's /etc/init.d/rc expects two enviromnet variables: RUNLEVEL and PREVLEVEL. the vserver.start scripts failes to set those. We've got workarrounds: a) edit /etc/init.d/rc to set those values (not recomended) b) apply the following patch to vserver.start to set the values: <code> --- vserver.start.orig 2006-03-02 10:37:49.000000000 +0000 +++ vserver.start 2006-03-02 10:10:36.000000000 +0000 @@ -135,7 +134,7 @@ $_VUNAME @@ -151,7 +150,7 @@ $_EXEC_ULIMIT "$VSERVER_DIR/ulimits" > $_CHCONTEXT_COMPAT "${CHCONTEXT_OPTS[@]}" "${CHCONTEXT_INIT_OPTS[@]}" > $_SAVE_CTXINFO "$VSERVER_DIR" > - $_ENV -i -- > + $_ENV -i -- PREVLEVEL="N" RUNLEVEL="$RUNLEVEL_START" > $_CHAINECHO "${_IS_FAKEINIT:+$startsync_pipe}" "" > $_CAPCHROOT "${CAPCHROOT_OPTS[@]}" . > "${INITCMD_START[@]}" </code> edit me: do we need to modify the vserver.stop script as well? |