Gentoo Wiki



Current Patches


Laptop ACPI


Requested Patches


Installing zen-sources

Automatic way (<sys-kernel/zen-sources-9999)

If you don't already have layman, get it:

emerge layman

You will also need git to pull from this overlay:

emerge -n dev-util/git

Add the zen-overlay:

layman -a zen-overlay

Mask the sys-kernel/zen-sources-9999 stub ebuild:

echo "=sys-kernel/zen-sources-9999" >> /etc/portage/package.mask

Get/update zen-sources:

emerge zen-sources

Pump shotty way (zen-sources-9999)

If you don't already have layman, get it:

emerge layman

Add the zen-overlay:

layman -a zen-overlay

Get/update zen-sources:

emerge zen-sources

You will need git to pull the sources:

emerge -n dev-util/git

Since sys-kernel/zen-sources is a stub ebuild, we need to actually get the sources ourselves:

cd /usr/src
git clone git://
mv kernel zen-sources

Finally, create the symlink:

ln -sf zen-sources linux

To update the sources, do:

cd /usr/src/zen-sources
git pull

Semi-automatic way

Get an ebuild from waninkoko's web site. The zen-sources-9999.ebuild is a live ebuild, which will clone the latest zen-sources git. The zen-sources-{version}.ebuild will give you a snapshot of the git repository. After you decide which one to use, put the ebuild in your local overlay, and digest it. To do so, run the following commands

mkdir -p /usr/local/overlays/custom-overlay/sys-kernel/zen-sources
cd /usr/local/overlays/custom-overlay/sys-kernel/zen-sources 

# Replace zen-sources-9999.ebuild with the ebuild you wish to use 

Now, if you don't already have an overlay, you need to make your package manager see it.


echo PORTDIR_OVERLAY="/usr/local/overlays/custom-overlay" >> /etc/make.conf
ebuild /usr/local/overlays/custom-overlay/sys-kernel/zen-sources/zen-sources-9999.ebuild digest
emerge -av zen-sources

This should get zen-sources repo cloned and install your kernel to /usr/src/zen-sources


If you are using paludis, you should make a file called custom-overlay.conf in your-paludis-config-dir/repositories (usually /etc/paludis/repositories) and put the following in that file:

location = ${ROOT}/usr/local/overlays/custom-overlay
sync = 
master_repository = gentoo
format = ebuild
names_cache = ${location}/.cache/names
write_cache = /var/cache/paludis/metadata

Then, you should run

paludis -s x-custom-overlay

followed by

paludis -i zen-sources

You will have zen-sources installed into /usr/src/zen-sources.

Manual way

You can keep the zen-sources git clone yourself. To do so, run

cd /usr/src
git clone git://

It will take some time. After it finishes, You will have a complete zen-sources tree in /usr/src/zen-sources. You can compile the kernel from it, or use my script to update the kernel. To update the kernel manually, just run

git pull

inside /usr/src/zen-sources directory.

Configuring the kernel

You will have to create the symlink to /usr/src/linux yourself, as eselect does not consider /usr/src/zen-sources a kernel tree directory.

The configuration looks just like configuring any other kernel. There are some points to look at specifically though.

If you go to

CPU scheduler -> Completely Fair Scheduler Tunables -> CFS predefined setups

you will see some options to choose from. The best one to choose for most people is Interactive Desktop. It renices X to -10, so you have an interactive desktop even with high CPU usage.

I/O Workload Fingerprinting is usually a good choice is well.

If you use gcc-4.3.0, you'll be happy to know that in the Kernel Hacking section there is an option which lets you compile the kernel with this version of gcc.

There are many more interesting options worth mentioning, but they are all pretty easy to work out ;-).

If anyone is interested, here is my .config for x86_64.


Git repo doesn't update

The best thing to do is to remake the master branch with the following commands:

cd /usr/src/zen-sources
git branch master-new origin/master; git checkout master-new = git checkout -b master-new origin/master

Local zen-sources repository is broken

Wait for the maintainers to fix it, and then git pull. If that isn't helping, then I'm afraid you'll have to reclone.

Zen-sources compilation error

Report any errors to either #zen-sources on, or to the zen sources thread

NVIDIA problems

error: ‘proc_root_driver’ undeclared
error: ‘NOPAGE_SIGBUS’ undeclared
error: unknown field ‘nopage’ specified in initializer

If you get any of the errors above while compiling nvidia-drivers, then use the nvidia-drivers from zen-overlay instead. See the layman instructions above for instructions on adding zen-overlay.

Retrieved from ""

Last modified: Sat, 30 Aug 2008 20:57:00 +0000 Hits: 3,354