9
edits
Changes
New page: === Build your own kernel-image (debian way) === ==== Installing sources ==== To install the kernel-source and the OpenVZ kernel patch, run: # apt-get install kernel-package linux-sourc...
=== Build your own kernel-image (debian way) ===
==== Installing sources ====
To install the kernel-source and the OpenVZ kernel patch, run:
# apt-get install kernel-package linux-source-2.6.18 kernel-patch-openvz libncurses5-dev
==== Unpacking ====
Unpack the kernel source:
<pre>
# cd /usr/src
# tar xjf linux-source-2.6.18.tar.bz2
# cd linux-source-2.6.18
</pre>
==== Kernel config ====
You need a kernel config.
You can use the config of the debian-kernel:
# cp /boot/config-2.6.18-5-686 .config
'''Or''' get a 2.6.18 kernel configuration from http://download.openvz.org/kernel/branches/2.6.18/current/configs/ (depending on your architecture; the below example is for i686):
# wget http://download.openvz.org/kernel/branches/2.6.18/current/configs/kernel-2.6.18-i686.config.ovz -O .config
==== Patching and configuring ====
Now you can apply the openvz kernel patch and modify your kernel-config:
# ../kernel-patches/all/apply/openvz
# make menuconfig
You need the following OpenVZ kernel config settings:
<pre>
(taken from OpenVZ Kernel 2.6.18-028test010.1 on 686)
Filesystem
\_ [*] Second extended fs support (CONFIG_EXT2_FS)
\_ [*] Ext3 journalling file system support (CONFIG_EXT3_FS)
\_ [M] Quota Support (CONFIG_QUOTA)
\_ [*] Compatibility with older quotactl interface (CONFIG_QUOTA_COMPAT)
\_ [*]Quota format v2 support (CONFIG_QFMT_V2)
\_ [*] VPS filesystem (CONFIG_SIM_FS)
\_ [M] Virtuozzo Disk Quota support (CONFIG_VZ_QUOTA)
\-> [*] Per-user and per-group quota in Virtuozzo quota partitions (VZ_QUOTA_UGID)
Security
\->[ ] Enable different security models
OpenVZ ... (what else :-)
\_[*] Virtual Environment support (CONFIG_VE)
\_ <M> VE calls interface (CONFIG_VE_CALLS)
\_ <M> VE networking (CONFIG_VE_NETDEV)
\_ <M> Virtual ethernet device (CONFIG_VE_ETHDEV)
\_ <M> VE device (CONFIG_VZ_DEV)
\_ [*] VE netfiltering (CONFIG_VE_IPTABLES)
\_ <M> VE watchdog module (CONFIG_VZ_WDOG)
\_ <M> Checkpointing & restoring Virtual Environments (CONFIG_VZ_CHECKPOINT)
User resources ... (User Beancounters)
\_ [*] Enable user resource accounting (CONFIG_USER_RESOURCE)
\_ [*] Account physical memory usage ( CONFIG_USER_RSS_ACCOUNTING)
\_ [*] Account disk IO (CONFIG_UBC_IO_ACCT)
\_ [*] Account swap usage (CONFIG_USER_SWAP_ACCOUNTING)
\_ [*] Report resource usage in /proc (CONFIG_USER_RESOURCE_PROC)
\_ [*] User resources debug features (CONFIG_UBC_DEBUG)
\_ [*] Debug kmemsize with cache counters (CONFIG_UBC_DEBUG_KMEM)
</pre>
{{Note|better to build the kernel-headers as well, so afterward other kernel-modules can
be built without whole kernel tree (e.g. drbd -> drbd0.7-module-source)}}
See also : "make-kpkg --targets"
==== Compiling ====
Compile your kernel (as user root, or you need the --rootcmd!)
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd binary-arch
or all above with one step
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd --config menuconfig binary-arch
==== Installing ====
Install the kernel and update initramfs:
# dpkg -i ../linux-image-2.6.18-1-openvz_1_i386.deb
# update-initramfs -c -k 2.6.18-1-openvz
{{Note|update-initramfs is done, when make-kpkg is use with --initrd option}}
http://wiki.openvz.org/Installation_on_Debian_%28etch%29#Install_the_toolset
{{Note|update-grub can be configured by /etc/kernel-img.conf}}
==== Bootloader ====
Update the bootloader (if not done before)
GRUB :
# /usr/sbin/update-grub
{{Note|since the Debian Etch release the location of update-grub is moved from /sbin/update-grub to /usr/sbin/update-grub}}
=== Installing the Tools and Configuring ===
Continue from here for Etch (current stable) : [[Installation_on_Debian_%28etch%29#Install_the_toolset]]
==== Installing sources ====
To install the kernel-source and the OpenVZ kernel patch, run:
# apt-get install kernel-package linux-source-2.6.18 kernel-patch-openvz libncurses5-dev
==== Unpacking ====
Unpack the kernel source:
<pre>
# cd /usr/src
# tar xjf linux-source-2.6.18.tar.bz2
# cd linux-source-2.6.18
</pre>
==== Kernel config ====
You need a kernel config.
You can use the config of the debian-kernel:
# cp /boot/config-2.6.18-5-686 .config
'''Or''' get a 2.6.18 kernel configuration from http://download.openvz.org/kernel/branches/2.6.18/current/configs/ (depending on your architecture; the below example is for i686):
# wget http://download.openvz.org/kernel/branches/2.6.18/current/configs/kernel-2.6.18-i686.config.ovz -O .config
==== Patching and configuring ====
Now you can apply the openvz kernel patch and modify your kernel-config:
# ../kernel-patches/all/apply/openvz
# make menuconfig
You need the following OpenVZ kernel config settings:
<pre>
(taken from OpenVZ Kernel 2.6.18-028test010.1 on 686)
Filesystem
\_ [*] Second extended fs support (CONFIG_EXT2_FS)
\_ [*] Ext3 journalling file system support (CONFIG_EXT3_FS)
\_ [M] Quota Support (CONFIG_QUOTA)
\_ [*] Compatibility with older quotactl interface (CONFIG_QUOTA_COMPAT)
\_ [*]Quota format v2 support (CONFIG_QFMT_V2)
\_ [*] VPS filesystem (CONFIG_SIM_FS)
\_ [M] Virtuozzo Disk Quota support (CONFIG_VZ_QUOTA)
\-> [*] Per-user and per-group quota in Virtuozzo quota partitions (VZ_QUOTA_UGID)
Security
\->[ ] Enable different security models
OpenVZ ... (what else :-)
\_[*] Virtual Environment support (CONFIG_VE)
\_ <M> VE calls interface (CONFIG_VE_CALLS)
\_ <M> VE networking (CONFIG_VE_NETDEV)
\_ <M> Virtual ethernet device (CONFIG_VE_ETHDEV)
\_ <M> VE device (CONFIG_VZ_DEV)
\_ [*] VE netfiltering (CONFIG_VE_IPTABLES)
\_ <M> VE watchdog module (CONFIG_VZ_WDOG)
\_ <M> Checkpointing & restoring Virtual Environments (CONFIG_VZ_CHECKPOINT)
User resources ... (User Beancounters)
\_ [*] Enable user resource accounting (CONFIG_USER_RESOURCE)
\_ [*] Account physical memory usage ( CONFIG_USER_RSS_ACCOUNTING)
\_ [*] Account disk IO (CONFIG_UBC_IO_ACCT)
\_ [*] Account swap usage (CONFIG_USER_SWAP_ACCOUNTING)
\_ [*] Report resource usage in /proc (CONFIG_USER_RESOURCE_PROC)
\_ [*] User resources debug features (CONFIG_UBC_DEBUG)
\_ [*] Debug kmemsize with cache counters (CONFIG_UBC_DEBUG_KMEM)
</pre>
{{Note|better to build the kernel-headers as well, so afterward other kernel-modules can
be built without whole kernel tree (e.g. drbd -> drbd0.7-module-source)}}
See also : "make-kpkg --targets"
==== Compiling ====
Compile your kernel (as user root, or you need the --rootcmd!)
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd binary-arch
or all above with one step
# make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 --initrd --config menuconfig binary-arch
==== Installing ====
Install the kernel and update initramfs:
# dpkg -i ../linux-image-2.6.18-1-openvz_1_i386.deb
# update-initramfs -c -k 2.6.18-1-openvz
{{Note|update-initramfs is done, when make-kpkg is use with --initrd option}}
http://wiki.openvz.org/Installation_on_Debian_%28etch%29#Install_the_toolset
{{Note|update-grub can be configured by /etc/kernel-img.conf}}
==== Bootloader ====
Update the bootloader (if not done before)
GRUB :
# /usr/sbin/update-grub
{{Note|since the Debian Etch release the location of update-grub is moved from /sbin/update-grub to /usr/sbin/update-grub}}
=== Installing the Tools and Configuring ===
Continue from here for Etch (current stable) : [[Installation_on_Debian_%28etch%29#Install_the_toolset]]