内核/概述

From Gentoo Wiki
< Kernel
Jump to:navigation Jump to:search
This page is a translated version of the page Kernel/Overview and the translation is 27% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

本文档提供了通过 Gentoo 主 ebuild 仓库提供的所有内核源码概述。

介绍

As with everything else in Gentoo Linux, the philosophy of the Gentoo Kernel team is to give the user as much freedom of choice as possible. When looking at the output of emerge -s "%@^sys-kernel/.*-sources" it is easy to see a large variety of kernels to choose from. This document will attempt to give a brief rundown of the goals of each of the patch sets that Gentoo provides and also explain other kernel sources that are available.

已支持的内核

Genkernel

genkernel 是一个内核和 initramfs 构建实用程序,它具有默认的内核配置,可以自动启用内核中的常用选项和驱动程序。通常推荐给不喜欢手动编译内核的用户。

更多信息,请阅读 Genkernel 文章

gentoo-sources

对比大多数用户来说,推荐使用 sys-kernel/gentoo-sources 内核。gentoo-sources 是基于 Linux 4.x 的内核,稍微的打了一些补丁来修复安全问题、内核错误,并增加不常见系统架构的兼容性。

The sys-kernel/gentoo-sources package absorbs most of the resources of the Gentoo kernel team. They are brought to the user 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.

ck-sources

sys-kernel/ck-sources 是 Con Kolivas 的内核补丁集。这个补丁集主要用于提高系统响应能力和交互性,并可针对不同工作负载(从服务器到台式机)进行配置。此补丁集包括一个不同的调度器,MuQSS,旨在即使在负载较重的情况下也能保持系统的响应能力和流畅性。要获取支持和更多的信息请在这里,和 irc.oftc.net#ck 频道查看。

git-sources

The sys-kernel/git-sources package tracks daily snapshots of the upstream development kernel tree. These kernels are good for users interested in kernel development or testing. Bug reports should go to the Linux Kernel Bug Tracker or LKML (Linux Kernel Mailing List).

Architecture dependent kernels

sys-kernel/mips-sources and sys-kernel/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.

未支持的内核

Now to briefly describe some of the other sys-kernel/*-sources which scrolled by when the emerge -s "%@^sys-kernel/.*-sources" command was run. Below we discuss each one of them individually. These kernels are provided as a courtesy only — the various patch sets are not supported by the Gentoo kernel team. There is no specific preference to one source or another, so we review the kernel sources in alphabetical order.

aufs-sources

The sys-kernel/aufs-sources package contains full kernel sources including the official genpatchset (found in gentoo-sources) for the 4.14/4.19 kernel tree and aufs4 support. This kernel is useful when attempting to utilize the aufs4 filesystem. For more information see the aufs page on Sourceforge or the genpatches homepage.

pf-sources

The sys-kernel/pf-sources kernel brings together parts of several different kernel patches. It includes the BFS patchset from sys-kernel/ck-sources, the sys-kernel/tuxonice-sources 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 https://openvz.org/.

tuxonice-sources

tuxonice-sources has been last-rited, see bug #627924.

The sys-kernel/tuxonice-sources (formerly sys-kernel/suspend2-sources) are patched with both genpatches which includes the patches found in gentoo-sources, and the patches found in TuxOnIce which are 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 and can be found in the sys-apps/usermode-utilities package. These kernel patches are designed to allow Linux to recursively run within Linux. 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 User-mode Linux Guide

vanilla-sources

Many Linux users will probably be familiar with the sys-kernel/vanilla-sources package. These kernels are copies of the official kernel sources released on https://www.kernel.org/. Please note that the Gentoo kernel team does not patch vanilla-sources at all; they are for people who wish to run a completely unmodified Linux kernel. The Gentoo kernel team recommends sys-kernel/gentoo-sources instead.

Versions of the kernel can be found under this package: 3.x, 4.x.

以前提供的内核

aa-sources

aa-sources was a heavily modified kernel with all kinds of patches. The upstream maintainer stopped releasing kernel patchsets and subsequently this package has been removed.

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 are now included in the mainline kernel. Alpha users can 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. Grsecurity patches are included in the hardened-sources kernel, so this package is no longer available in Portage.

hardened-sources

Important
As of August 27th, 2017, due to grsecurity limiting access to their patches, hardened-sources will be masked and eventually no longer available in Gentoo. See the full enews item here.

The sys-kernel/hardened-sources kernel was based on the official Linux kernel and was targeted at users running Gentoo on server systems. It once provided patches for the various sub-projects of Gentoo Hardened (such as support for SELinux and grsecurity), together with stability and security-enhancements. Check out the Hardened project here on the wiki for more information.

Important
This kernel provides powerful patches for enhanced security. Please read the introduction to Hardened Gentoo article before using it.

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 vanilla-sources and contained Andrew Morton's patch set. They included the experimental and bleeding-edge features that were going to be included in the official kernel (or were going to be rejected because they set systems on fire!). They were known to be always moving at a fast pace and could change radically from one week to the other; kernel hackers often used mm-sources as a testing ground for highly experimental stuff. They have since been removed from the Portage tree.

rsbac-dev-sources

The rsbac-dev-sources kernels could be found under the sys-kernel/rsbac-sources package.

rsbac-sources

Back in the days of 2.6-based kernels sys-kernel/rsbac-sources contained patches to use Rule Set Based Access Controls (RSBAC). It was removed due to lack of maintainers, but has has magically reappeared with the 3.10 kernel series. Use hardened-sources if additional security features are needed.

selinux-sources

selinux-sources, a 2.4 kernel including lots of security enhancements, has been obsoleted by security development in the 2.6 kernel 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 package is no longer found in the Portage tree.

win4lin-sources

win4lin-sources were patched to support the userland win4lin tools that allowed Linux users to run many Microsoft Windows (TM) applications at almost native speeds. These kernel sources were 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. A user could create virtual environments in which one or more guest operating systems could 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 working with Xen and Gentoo, read the Xen article here on the wiki.

zen-sources

The sys-kernel/zen-sources package is designed for desktop systems. It includes code not found in the mainline kernel. The Zen kernel has patches that add new features, support additional hardware, and contains various tweaks for desktops. The Zen 3.8 kernel series is currently masked in the Portage tree. For more information on the Zen kernel please visit Zen Kernel GitHub repository.

另请参阅

  • 内核升级向导
  • Gentoo 手册
    This page is based on a document formerly found on our main website gentoo.org.
    The following people contributed to the original document: Brandon Low, Daniel Drake, Carl Anderson, Jorge Paulo, Benny Chuang, Gregorio Guidi, Shyam Mani, Joshua Saddler
    They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.