You are here: Home > Tutorials > Distribution specific installation > RPM Distribution Installation
Donate
 
Like the project? Please consider donating to support us!
 
If your accumulated donations become bigger than $25, then:
  • Get extended IRC status
  • Get recognition in the kernel source+web page
  • Become a priority tester
Endorsements
Distributions:
These distributions have the Zen Kernel package available as an option or as the default Kernel. More information can be found on each project's page.
SMGL Button
Yoper Button


Kernel-Related:

Pappy Button
 
Debian-Related:
Liquorix provides debian builds of the zen kernel for debian testing, sid, or any testing/sid based distributions.
Liquorix
 

RPM Distribution Installation

How to install Zen on rpm based distributions such as suse, fedora, or centos.

Background

10/20/09 - Initial guide written by CC

Forewarning

     The Zen kernel is not supported by fedora, suse, centos, or any other rpm based distribution you may be running. Do not report problems with the Zen kernel to these projects. Use at your own risk!

Patching or Fetching the kernel source

      The first step is to obtain the zen kernel source. There are two ways you can do this, by either patching a vanilla source or by cloning the tree with git.
 
Cloning the git repository:
+ More up to date
+ Do not have to get a new kernel source and re-patch on update (git pull)
+ Switch between any tagged release allowing switch to an older version
- Much bigger image than vanilla source
Patching the kernel:
+ Smaller image
- No transitional patches means a new source is needed for each update (Updating isn't as simple as git, for each update you need to get a clean source and patch)
- Patches (unless patches are created with gitweb) are not always as up to date as the git repositories.
 
1. The first step is to make sure that you have all of the required packages installed to compile a kernel, names and package management varies by distribution.
sudo yast -i ncurses-dev gcc (yum install ncurses gcc) # variable depending on your distribution
# Assure you have all the required packages installed to compile a kernel (gcc, git, etc)
# Requires rpmbuildtools (distribution package containing rpmbuild command)

I want to clone GIT

Absolutely! Please read up on the GIT Based installation/management guide

and skip the next part about patching the kernel.

 -----

Forget that! I want to patch my kernel!

Sure, we absolutely support this method.

1. Select a patch from http://downloads.zen-kernel.org
page, and download it.
2. Go over to http://kernel.org and download the base kernel source (for example, a 2.6.31 based release such as 2.6.31-zen4 would require the linux-2.6.31.tar.bz2 source, NOT the 2.6.31.y source! - Same for any base kernel release, 2.6.32-rc5-zen1 would require linux-2.6.32-rc5.tar.bz2 and so on)
3. CD into the kernel source directory and apply the zen patch, example:
cd linux-2.6.31
bzcat 2.6.31-zen4.patch.bz2 | patch -p1 # For bz2 format, alternatively if the patch is in gzip or lzma use zcat or lzcat

Configuring, Compiling, and Installing the kernel source

Now in your kernel source directory

1. Configure the kernel. If you are not sure about how to configure the kernel, see google and/or use a kernel seed

to create a configuration (easier than starting from scratch, but achieves the same effect)

2. Make the kernel image (source rpm and installable rpm)
sudo make rpm
3. The rpm that has been created is now located in /usr/src/rpm, so go there by:
cd ../rpm
4. Install the rpm package, for example:
sudo rpm -ivh RPMS/x86_64/kernel*.rpm
5. The kernel may not boot without an initrd, but one can be generated with the following command (for all installed kernels, see help for making it for just 1 kernel)
sudo mkinitrd
6. That's all for that, now the kernel image is installed, however - it is not ready to boot yet! (the new kernel entry still needs to be added to menu.lst for grub

Configuring the boot loader

This is a relatively generic step, for opensuse/suse users you can edit the boot loader by invoking "yast", or for the rest by editing it manually like so

sudo nano /boot/grub/menu.lst

When you get here basically just copy the entry you have for your default kernel, rename the title and edit the vmlinuz and initrd path, possibly something like this

title           kernel 2.6.30-zen8
root            (hd0,2)
kernel          /vmlinux-2.6.30-zen8 root=/dev/sda2 ro vga=791 
initrd          /boot/initrd.img-2.6.30-zen8

Of course I expect yours to be different, but that's all there's to it (Some rpm distributions may have commands that automatically update the menu.lst with installed kernels - if so you can just use that, but I'm not totally sure)

 

Now you should be able to boot without problem

 

Document Actions
Log in


Forgot your password?
New user?
OpenID Log in