Gentoo Linux Kernel Guide
1.
Introduction
As with everything else in Gentoo Linux, the philosophy of the Gentoo
Kernel team is to give you, the user, as much freedom of choice as
possible. If you take a look at the output of emerge -s sources
you see a large variety of kernels to choose from. In this document,
I will attempt to give you a brief rundown of the goals of each of the
patch sets, which we at Gentoo design, and also explain the other kernel
sources we make available to you.
2.
Supported kernel packages
genkernel
Genkernel is a kernel toolset that can be used to autodetect your
hardware and configure your kernel automatically. This is usually recommended
for users who do not feel comfortable about compiling a kernel manually.
For more information, please read the Gentoo
Linux Genkernel Guide.
General purpose: gentoo-sources
For most users, we recommend the gentoo-sources kernel.
gentoo-sources is a kernel based on Linux 3.x, lightly patched to fix
security problems, kernel bugs, and to increase compatibility with the more
uncommon system architectures.
The gentoo-sources package absorbs most of the resources of the Gentoo
kernel team. They are brought to you by a group of talented developers, which
can count on the expertise of popular kernel hacker Greg Kroah-Hartman,
maintainer of udev and responsible for the USB and PCI subsystems of the
official Linux kernel.
For servers: hardened-sources
hardened-sources is based on the official Linux kernel and is targeted at
our users running Gentoo on server systems. It provides patches for the various
subprojects of Gentoo Hardened (such as support for LSM/SELinux and grsecurity), together with
stability/security-enhancements. Check
http://www.gentoo.org/proj/en/hardened/ for more information.
Important:
This kernel provides powerful patches for enhanced security. Please read the
documentation before you use it.
|
ck-sources
ck-sources is Con Kolivas's kernel patch set. This patchset is primarily
designed to improve system responsiveness and interactivity and is configurable
for varying workloads (from servers to desktops). The patchset includes a
different scheduler, BFS, designed to keep systems responsive and smooth even
when under heavy load. Support and information is available at
http://kernel.kolivas.org and in #ck on irc.oftc.net.
git-sources
The git-sources package tracks daily snapshots of the upstream
development kernel tree. You should run these kernels if you are interested in
kernel development or testing. Bugreports should go to the Linux Kernel Bug Tracker or LKML
(Linux Kernel Mailing List).
Architecture dependent kernels
mips-sources and xbox-sources are, as their names suggest, patched
to run best on specific architectures. They also contain some of the patches for
hardware and features support from the other patch sets mentioned above and
below.
3.
Unsupported kernel packages
Now I'm going to try to briefly describe some of the other
sys-kernel/*-sources which you saw scroll by when you ran
emerge -s sources. Let's take them in alphabetical order. These
kernels are provided as a courtesy only and the various patch sets are not
supported by the Gentoo kernel team.
pf-sources
The pf-sources kernel brings together parts of several different kernel
patches. It includes the BFS patchset from ck-sources, the
tuxonice patches, LinuxIMQ, and
the BFQ I/O
scheduler.
openvz-sources
OpenVZ is a server virtualization solution built on Linux. OpenVZ creates
isolated, secure virtual private servers (VPSs) or virtual environments on a
single physical server enabling better server utilization and ensuring that
applications do not conflict. For more information, see
http://www.openvz.org.
tuxonice-sources
The tuxonice-sources (formerly suspend2-sources) are patched with
both genpatches which includes the patches found in gentoo-sources, and TuxOnIce which is an improved
implementation of suspend-to-disk for the Linux kernel, formerly known as
suspend2.
This kernel is recommended for laptop users who often rely on being able
to suspend their laptop and resume work elsewhere.
usermode-sources
usermode-sources are the User Mode Linux kernel patches. This
kernel is designed to allow Linux to run within Linux to run within Linux
to ... User Mode Linux is intended for testing and virtual server support.
For more information about this amazing tribute to the stability and
scalability of Linux, see http://user-mode-linux.sourceforge.net.
For more information on UML and Gentoo, read the
Gentoo UML Guide.
vanilla-sources
The next kernel sources that many of you will probably be familiar with as Linux
users are the vanilla-sources. These are the official kernel sources
released on http://www.kernel.org/. Please note that we do not patch
these kernels at all - these are purely for people who wish to run a completely
unmodified Linux kernel. We recommend that you use gentoo-sources
instead.
Two versions of the kernel can be found under this package: 2.6 and 3.x.
4.
Previously provided kernel packages
aa-sources
aa-sources was a heavily modified kernel with all kinds of patches.
The upstream maintainer has stopped releasing kernel patchsets, this package
was removed as it went out of date.
alpha-sources
alpha-sources was a 2.4 kernel with patches applied to improve hardware
compatibility for the Alpha architecture. These patches have been developed
and included in the mainline kernel. Alpha users can now run any recent kernel
with no need for extra patches.
Architecture dependent kernels
cell-sources was a 2.6 kernel designed to run on the Sony PlayStation 3
game console.
development-sources
development-sources, the official 2.6 kernel from kernel.org, can now
be found under the vanilla-sources package.
gentoo-dev-sources
gentoo-dev-sources, a 2.6 kernel patched with bug, security and
stability fixes, can now be found under the gentoo-sources package.
grsec-sources
The grsec-sources kernel source used to be patched with the latest
grsecurity updates (grsecurity version 2.0 and up) which included, amongst
other security-related patches, support for PaX. As grsecurity patches are
included in hardened-sources, this package is no longer in Portage.
hardened-dev-sources
hardened-dev-sources can now be found under the hardened-sources
package.
hppa-sources
hppa-sources was a 2.6 kernel with patches applied to improve hardware
compatibility for the HPPA architecture. These patches have been developed
and included in the mainline kernel. HPPA users can now run any recent kernel
with no need for extra patches.
mm-sources
The mm-sources were based on the vanilla-sources and contained
Andrew Morton's patch set. They includde the experimental and bleeding-edge
features that were going to be included in the official kernel (or that were
going to be rejected because they set your box on fire). They were known to be
always moving at a fast pace and can change radically from one week to the
other; kernel hackers used them as a testing ground for highly experimental new
stuff.
rsbac-dev-sources
The rsbac-dev-sources kernels can now be found under the
rsbac-sources package.
rsbac-sources
rsbac-sources was a 2.6-based kernel. It contained patches to use Rule
Set Based Access Controls (RSBAC). It has
been removed due to lack of maintainers. Use hardened-sources if you need
additional security features.
selinux-sources
selinux-sources, a 2.4 kernel including lots of security enhancements,
has been obsoleted by security development in the 2.6 tree. SELinux
functionality can be found in the hardened-sources package.
sh-sources
sh-sources was a 2.6 kernel with patches applied to improve hardware
compatibility for the SuperH architecture. These patches have been developed
and included in the mainline kernel. SuperH users can now run any recent kernel
with no need for extra patches.
sparc-sources
sparc-sources was a 2.4 kernel with patches applied to improve hardware
compatibility for the SPARC architecture. These patches have been developed
and included in the mainline kernel. SPARC users can now run any recent kernel
with no need for extra patches.
uclinux-sources
The uclinux-sources are meant for CPUs without MMUs as well as embedded
devices. For more information, see http://www.uclinux.org. Lack of
security patches as well as hardware to test on were the reasons this is no
longer in the tree.
win4lin-sources
win4lin-sources were patched to support the userland win4lin tools
that allow Linux users to run many Microsoft Windows (TM) applications
at almost native speeds. This was removed due to security issues.
xen-sources
xen-sources was a 2.6-based kernel that allowed running multiple
operating systems on a single physical system. You can create virtual
environments in which one or more guest operating systems run on a Xen-powered host operating system.
The xen-sources patches were incorporated into the mainline Linux kernel
as of version 3.0.
For more information on Xen and Gentoo, read the Gentoo Xen Guide.
zen-sources
zen-sources was designed for desktop systems. It included code not found
in the mainline kernel. The zen kernel had patches that added new features,
supported additional hardware, and contained various tweaks for desktops.
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-2.5 license. The Gentoo Name and Logo Usage Guidelines apply.
|