Difference between revisions of "Kernel build"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
 
Line 36: Line 36:
 
in appropriate places where similar text lines are.
 
in appropriate places where similar text lines are.
  
== Rebuilding kernel from sources ==
+
=== Building RPMs ===
 
 
 
Before rebuilding the kernel make sure that you adjusted the kernel version in kernel-ovz.spec.
 
Before rebuilding the kernel make sure that you adjusted the kernel version in kernel-ovz.spec.
 
This will help you to distinguish binaries then from already existing kernels
 
This will help you to distinguish binaries then from already existing kernels
Line 57: Line 56:
  
 
After successfull kernel compilation binary RPMs can be found at /usr/src/<distro>/RPMS/i686
 
After successfull kernel compilation binary RPMs can be found at /usr/src/<distro>/RPMS/i686
 +
 +
== Rebuilding kernel from sources ==
 +
 +
FIXME

Revision as of 08:22, 30 May 2006

This FAQ will help you in case you want to apply some patches to the kernel on your own or rebuild it from sources. On RPM based distros such as RedHat Enterprise Linux/CentOS, Fedora Core or SuSe one can simpy rebuild kernel from SRPM, for other distros it is required to install sources, build and install kernel manually. The below are given the details for both cases.

Rebuilding kernel from SRPM

Download

OpenVZ kernel SRC RPM can be download from the official downloads at http://openvz.org/download/kernel/. Beta versions of kernels for differents OS distributions can be also found at http://openvz.org/download/beta/.

Installation

Install the downloaded SRC RPM with the following command:

# rpm -ihv ovzkernel-2.6.16-026test012.1.src.rpm

After successfull installtion you can find kernel sources in /usr/src/<distro>/SOURCES/ and kernel spec file (kernel-ovz.spec) in /usr/src/<distro>/SPECS, where <distro> is your distribution-specific directory. For example, for RedHat based distros it is 'redhat', for SUSE it is 'packages'.

Adding your own patches

To modify the kernel one needs just to add specifc patches to the kernel spec file and put this patch into SOURCES directory. Put your patch into SOURCES directory with the following command:

# cp <patch> /usr/src/<distro>/SOURCES/

Then open spec file /usr/src/<distro>/SPECS/kernel-ovz.spec in the editor and add the following lines:

Patch10000: <patch-name>

and

%patch10000 -p1

in appropriate places where similar text lines are.

Building RPMs

Before rebuilding the kernel make sure that you adjusted the kernel version in kernel-ovz.spec. This will help you to distinguish binaries then from already existing kernels (or from official OpenVZ kernels). To do so, edit /usr/src/<distro>/SPECS/kernel-ovz.spec file and replace the following line:

%define ksubrelease 1

with

%define ksubrelease 1-my.kernel.v1


To rebuild the kernel type the following commands then:

# cd /usr/src/<distro>/SPECS
# rpmbuild -ba --target=i686 kernel-ovz.spec

After successfull kernel compilation binary RPMs can be found at /usr/src/<distro>/RPMS/i686

Rebuilding kernel from sources

FIXME