RHEL5 Kernel HOWTO

Introduction

This HOWTO will show you how to get a RHEL5-based OpenVZ kernel running on a Funtoo Linux system.

Step 1: Downgrade sys-fs/udev (package not on wiki - please add), sys-fs/lvm2 (package not on wiki - please add)

Downgrade udev to a version compatible with kernels previous than 2.6.27:

# echo ">=sys-fs/udev-147" >> /etc/portage/package.mask
# emerge -u udev

This will also require a downgrade of lvm2, if you are using it. Version 2.02.68 is a good one to use:

# echo ">=sys-fs/lvm2-2.02.69" >> /etc/portage/package.mask
# emerge -u lvm2

Downgrade make to a version compatible with older kernel version:

# echo ">=sys-devel/make-3.82" > /etc/portage/package.mask
# emerge -u make

Step 2: Install binary kernel

The process for installing an RHEL5-based kernel with OpenVZ support has been drastically simplified. Simply perform the following steps:

# echo "sys-kernel/openvz-rhel5-stable binary" >> /etc/portage/package.use

This will result in the kernel sources and a binary kernel and initrd being merged. Without binary in USE, only the sources will be merged. Then:

# emerge openvz-rhel5-stable

This will build and install a binary kernel image and initial RAM disk, and take care of installing all necessary dependencies like gcc-4.1.2. Once the binary kernel image and initrd is installed, configure /etc/boot.conf to find and boot the new kernel.

Note: you may need to temporarily modify your CFLAGS settings to ensure they are compatible with gcc-4.1 systems. In particular, -march=native is not recognized by the older gcc.

[1] http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

Step 3: Enable vz initscript

When your system boots with OpenVZ support enabled, it will require /etc/init.d/vz to run:

# rc-update add vz default

Step 4: Edit boot.conf

Update /etc/boot.conf to point to your new kernel, ie:


boot {
        generate grub
        default kernel-openvz-rhel5-stable-x86_64-2.6.18-028stab089.1
        timeout 3
}

"Funtoo Linux with OpenVZ" {
        kernel kernel-openvz[-v]
        initrd initramfs-openvz[-v]
        params += real_root=auto
}

Note that you must use the:

params += real_root=auto
option. This will automatically configure your boot loader to specify your root file system as the
real_root

to the initrd.

Step 5: boot-update

Now, simply run boot-update as root:

# boot-update

boot-update should show the new kernel as being found and display it as the default selection for the next boot. You can now reboot your system and start using OpenVZ.