Difference between revisions of "Installing an openSUSE vserver guest"
From Linux-VServer
(→Installation: typo) |
(→Installation: correction on how to fix the typo :)) |
||
Line 14: | Line 14: | ||
* Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root. | * Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root. | ||
* tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually <code>/var/lib/vservers/<servername></code> | * tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually <code>/var/lib/vservers/<servername></code> | ||
− | * Create <code>/etc/ | + | * Create <code>/etc/vservers/<servername></code> manual (or copy from other vserver) |
===post install cleanup=== | ===post install cleanup=== |
Revision as of 23:30, 1 June 2007
Contents |
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 via vserver build (the required apt-rpm is available in source only for apt-0.5.xx, and Debian is already at 0.6.xx).
Therefore, use the normal SuSE installation procedure and then copy the system to a vserver directory:
- Install SuSE on raw metal or in a virtual machine (such as VirtualBox).
- Boot from CD (SuSE or Debian whatever you prefer), or just boot into the OS and log in as root.
- tar the whole system, copy it to the vserver host and untar it to the desired vserver location, usually
/var/lib/vservers/<servername>
- Create
/etc/vservers/<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:
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
- remove unneeded packages:
rpm -e irqbalance kernel-smp grub reiserfs xfsprogs raidtools ntfsprogs \ module-init-tools mkinitrd powersave hotplug mdadm
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:
--- 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 --xid self --set -t context="$VSERVER_DIR" -- \ $_VATTRIBUTE --set "${OPTS_VATTRIBUTE[@]}" -- \ $_SAVE_CTXINFO "$VSERVER_DIR" \ - $_ENV -i -- \ + $_ENV -i -- PREVLEVEL="N" RUNLEVEL="$RUNLEVEL_START" \ $_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT \ "${OPTS_VCONTEXT_MIGRATE[@]}" "${OPTS_VCONTEXT_ENTER[@]}" -- \ "${INITCMD_START[@]}" @@ -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[@]}"
edit me: do we need to modify the vserver.stop script as well?