/[gentoo]/xml/htdocs/doc/en/gentoo-kernel.xml
Gentoo

Contents of /xml/htdocs/doc/en/gentoo-kernel.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.63 - (show annotations) (download) (as text)
Fri Apr 27 04:58:55 2012 UTC (2 years, 3 months ago) by nightmorph
Branch: MAIN
Changes since 1.62: +19 -26 lines
File MIME type: application/xml
mm-sources has been last-rited; move to the old kernels chapter

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-kernel.xml,v 1.62 2010/09/06 05:55:00 nightmorph Exp $ -->
4
5 <guide>
6 <title>Gentoo Linux Kernel Guide</title>
7
8 <author title="Author">
9 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
10 </author>
11 <author title="Contributor">
12 <mail link="lostlogic@gentoo.org">Brandon Low</mail>
13 </author>
14 <author title="Editor">
15 <mail link="dsd@gentoo.org">Daniel Drake</mail>
16 </author>
17 <author title="Editor">
18 <mail link="carl@gentoo.org">Carl Anderson</mail>
19 </author>
20 <author title="Editor">
21 <mail link="peesh@gentoo.org">Jorge Paulo</mail>
22 </author>
23 <author title="Editor">
24 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
25 </author>
26 <author title="Editor">
27 <mail link="greg_g@gentoo.org">Gregorio Guidi</mail>
28 </author>
29 <author title="Editor">
30 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
31 </author>
32 <author title="Editor">
33 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
34 </author>
35
36 <abstract>
37 This document gives you an overview on all kernel sources that Gentoo
38 provides through Portage.
39 </abstract>
40
41 <!-- The content of this document is licensed under the CC-BY-SA license -->
42 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
43 <license/>
44
45 <version>4</version>
46 <date>2012-04-26</date>
47
48 <chapter>
49 <title>Introduction</title>
50 <section>
51 <body>
52
53 <p>
54 As with everything else in Gentoo Linux, the philosophy of the Gentoo
55 Kernel team is to give you, the user, as much freedom of choice as
56 possible. If you take a look at the output of <c>emerge -s sources</c>
57 you see a large variety of kernels to choose from. In this document,
58 I will attempt to give you a brief rundown of the goals of each of the
59 patch sets, which we at Gentoo design, and also explain the other kernel
60 sources we make available to you.
61 </p>
62
63 <p>
64 Linux 2.4 is maintained by Willy Tarreau. Linus Torvalds, the original creator
65 of Linux, handed maintainership of the Linux 2.4 branch over to Marcelo Tosatti
66 when Linus went off to start developing the newer 2.6 kernel tree. Marcelo did a
67 fine job of keeping 2.4 stable and secure, and has since handed over
68 maintainership to Willy. Note that only security and bug fixes are accepted into
69 the 2.4 kernel tree. Actual development happens in the Linux 2.6 kernel tree.
70 </p>
71
72 <p>
73 Linux 2.6 is maintained by Andrew Morton, who works closely with Linus
74 Torvalds to deliver a fast, powerful, and feature-packed Linux kernel.
75 Development is happening at incredible pace and this kernel tree is now very
76 mature.
77 </p>
78
79 <p>
80 Some of the more uncommon system architectures are not fully compatible with
81 Linux 2.6, and some users prefer the tried-and-tested Linux 2.4 kernel. However,
82 please note that Linux 2.4 is currently not being developed further - only bug
83 and security fixes are being included in the newer releases. If you are able to,
84 we suggest that you upgrade to Linux 2.6. You may find the <uri
85 link="/doc/en/migration-to-2.6.xml">migration document</uri> useful.
86 </p>
87
88 </body>
89 </section>
90 </chapter>
91
92 <chapter>
93 <title>Supported kernel packages</title>
94 <section>
95 <title>genkernel</title>
96 <body>
97
98 <p>
99 <c>Genkernel</c> is a kernel toolset that can be used to autodetect your
100 hardware and configure your kernel automatically. This is usually recommended
101 for users who do not feel comfortable about compiling a kernel manually.
102 </p>
103
104 <p>
105 For more information, please read the <uri link="/doc/en/genkernel.xml">Gentoo
106 Linux Genkernel Guide</uri>.
107 </p>
108
109 </body>
110 </section>
111 <section>
112 <title>General purpose: gentoo-sources</title>
113 <body>
114
115 <p>
116 For most users, we recommend the <c>gentoo-sources</c> kernel.
117 <c>gentoo-sources</c> is a kernel based on Linux 2.6, lightly patched to fix
118 security problems, kernel bugs, and to increase compatibility with the more
119 uncommon system architectures.
120 </p>
121
122 <p>
123 The <c>gentoo-sources</c> package absorbs most of the resources of the Gentoo
124 kernel team. They are brought to you by a group of talented developers, which
125 can count on the expertise of popular kernel hacker Greg Kroah-Hartman,
126 maintainer of udev and responsible for the USB and PCI subsystems of the
127 official Linux kernel.
128 </p>
129
130 </body>
131 </section>
132 <section>
133 <title>For servers: hardened-sources</title>
134 <body>
135
136 <p>
137 <c>hardened-sources</c> is based on the official Linux kernel and is targeted at
138 our users running Gentoo on server systems. It provides patches for the various
139 subprojects of Gentoo Hardened (such as support for <uri
140 link="http://www.nsa.gov/selinux/">LSM/SELinux</uri> and <uri
141 link="http://grsecurity.net">grsecurity</uri>), together with
142 stability/security-enhancements. Check
143 <uri>http://www.gentoo.org/proj/en/hardened/</uri> for more information.
144 </p>
145
146 <impo>
147 This kernel provides powerful patches for enhanced security. Please read the
148 <uri link="/proj/en/hardened/">documentation</uri> before you use it.
149 </impo>
150
151 </body>
152 </section>
153 <section>
154 <title>ck-sources</title>
155 <body>
156
157 <p>
158 <c>ck-sources</c> is Con Kolivas's kernel patch set. This patchset is primarily
159 designed to improve system responsiveness and interactivity and is configurable
160 for varying workloads (from servers to desktops). The patchset includes a
161 different scheduler, BFS, designed to keep systems responsive and smooth even
162 when under heavy load. Support and information is available at
163 <uri>http://kernel.kolivas.org</uri> and in <c>#ck</c> on <c>irc.oftc.net</c>.
164 </p>
165
166 </body>
167 </section>
168 <section>
169 <title>git-sources</title>
170 <body>
171
172 <p>
173 The <c>git-sources</c> package tracks daily snapshots of the upstream
174 development kernel tree. You should run these kernels if you are interested in
175 kernel development or testing. Bugreports should go to the <uri
176 link="http://bugzilla.kernel.org/">Linux Kernel Bug Tracker</uri> or LKML
177 (Linux Kernel Mailing List).
178 </p>
179
180 </body>
181 </section>
182 <section>
183 <title>xen-sources</title>
184 <body>
185
186 <p>
187 <c>xen-sources</c> lets you run multiple operating systems on a single physical
188 system. You can create virtual environments in which one or more guest operating
189 systems run on a <uri link="http://www.xensource.com">Xen</uri>-powered host
190 operating system.
191 </p>
192
193 <p>
194 For more information on Xen and Gentoo, read the <uri
195 link="/doc/en/xen-guide.xml">Gentoo Xen Guide</uri>.
196 </p>
197
198 </body>
199 </section>
200 <section>
201 <title>Architecture dependent kernels</title>
202 <body>
203
204 <p>
205 <c>cell-sources</c>, <c>mips-sources</c>, <c>sparc-sources</c>, and
206 <c>xbox-sources</c> are, as their names suggest, patched to run best on specific
207 architectures. They also contain some of the patches for hardware and features
208 support from the other patch sets mentioned above and below.
209 </p>
210
211 </body>
212 </section>
213 </chapter>
214
215 <chapter>
216 <title>Unsupported kernel packages</title>
217 <section>
218 <body>
219
220 <p>
221 Now I'm going to try to briefly describe some of the other
222 <path>sys-kernel/*-sources</path> which you saw scroll by when you ran
223 <c>emerge -s sources</c>. Let's take them in alphabetical order. These
224 kernels are provided as a courtesy only and the various patch sets are not
225 supported by the Gentoo kernel team.
226 </p>
227
228 </body>
229 </section>
230 <section>
231 <title>pf-sources</title>
232 <body>
233
234 <p>
235 The <c>pf-sources</c> kernel brings together parts of several different kernel
236 patches. It includes the BFS patchset from <c>ck-sources</c>, the
237 <c>tuxonice</c> patches, <uri link="http://www.linuximq.net">LinuxIMQ</uri>, and
238 the <uri
239 link="http://algo.ing.unimo.it/people/paolo/disk_sched/patches/">BFQ</uri> I/O
240 <uri
241 link="http://kerneltrap.org/Linux/Budget_Fair_Queuing_IO_Scheduler">scheduler</uri>.
242 </p>
243
244 </body>
245 </section>
246 <section>
247 <title>openvz-sources</title>
248 <body>
249
250 <p>
251 OpenVZ is a server virtualization solution built on Linux. OpenVZ creates
252 isolated, secure virtual private servers (VPSs) or virtual environments on a
253 single physical server enabling better server utilization and ensuring that
254 applications do not conflict. For more information, see
255 <uri>http://www.openvz.org</uri>.
256 </p>
257
258 </body>
259 </section>
260 <section>
261 <title>tuxonice-sources</title>
262 <body>
263
264 <p>
265 The <c>tuxonice-sources</c> (formerly <c>suspend2-sources</c>) are patched with
266 both genpatches which includes the patches found in gentoo-sources, and <uri
267 link="http://www.tuxonice.net">TuxOnIce</uri> which is an improved
268 implementation of suspend-to-disk for the Linux kernel, formerly known as
269 <e>suspend2</e>.
270 </p>
271
272 <p>
273 This kernel is recommended for laptop users who often rely on being able
274 to suspend their laptop and resume work elsewhere.
275 </p>
276
277 </body>
278 </section>
279 <section>
280 <title>usermode-sources</title>
281 <body>
282
283 <p>
284 <c>usermode-sources</c> are the User Mode Linux kernel patches. This
285 kernel is designed to allow Linux to run within Linux to run within Linux
286 to ... User Mode Linux is intended for testing and virtual server support.
287 For more information about this amazing tribute to the stability and
288 scalability of Linux, see <uri>http://user-mode-linux.sourceforge.net</uri>.
289 </p>
290
291 <p>
292 For more information on UML and Gentoo, read the
293 <uri link="/doc/en/uml.xml">Gentoo UML Guide</uri>.
294 </p>
295
296 </body>
297 </section>
298 <section>
299 <title>vanilla-sources</title>
300 <body>
301
302 <p>
303 The next kernel sources that many of you will probably be familiar with as Linux
304 users are the <c>vanilla-sources</c>. These are the official kernel sources
305 released on <uri>http://www.kernel.org/</uri>. Please note that we do not patch
306 these kernels at all - these are purely for people who wish to run a completely
307 unmodified Linux kernel. We recommend that you use <c>gentoo-sources</c>
308 instead.
309 </p>
310
311 <p>
312 Two versions of the kernel can be found under this package: 2.4 and 2.6.
313 </p>
314
315 </body>
316 </section>
317 <section>
318 <title>zen-sources</title>
319 <body>
320
321 <p>
322 <c>zen-sources</c> is designed for desktop systems. It includes code not found
323 in the mainline kernel. The zen kernel has patches that add new features,
324 support additional hardware, and contain various tweaks for desktops.
325 </p>
326
327 </body>
328 </section>
329 </chapter>
330
331 <chapter>
332 <title>Previously provided kernel packages</title>
333 <section>
334 <title>aa-sources</title>
335 <body>
336
337 <p>
338 <c>aa-sources</c> was a heavily modified kernel with all kinds of patches.
339 The upstream maintainer has stopped releasing kernel patchsets, this package
340 was removed as it went out of date.
341 </p>
342
343 </body>
344 </section>
345 <section>
346 <title>alpha-sources</title>
347 <body>
348
349 <p>
350 <c>alpha-sources</c> was a 2.4 kernel with patches applied to improve hardware
351 compatibility for the Alpha architecture. These patches have been developed
352 and included in the mainline kernel. Alpha users can now run any recent kernel
353 with no need for extra patches.
354 </p>
355
356 </body>
357 </section>
358 <section>
359 <title>development-sources</title>
360 <body>
361
362 <p>
363 <c>development-sources</c>, the official 2.6 kernel from kernel.org, can now
364 be found under the <c>vanilla-sources</c> package.
365 </p>
366
367 </body>
368 </section>
369 <section>
370 <title>gentoo-dev-sources</title>
371 <body>
372
373 <p>
374 <c>gentoo-dev-sources</c>, a 2.6 kernel patched with bug, security and
375 stability fixes, can now be found under the <c>gentoo-sources</c> package.
376 </p>
377
378 </body>
379 </section>
380 <section>
381 <title>grsec-sources</title>
382 <body>
383
384 <p>
385 The <c>grsec-sources</c> kernel source used to be patched with the latest
386 grsecurity updates (grsecurity version 2.0 and up) which included, amongst
387 other security-related patches, support for PaX. As grsecurity patches are
388 included in <c>hardened-sources</c>, this package is no longer in Portage.
389 </p>
390
391 </body>
392 </section>
393 <section>
394 <title>hardened-dev-sources</title>
395 <body>
396
397 <p>
398 <c>hardened-dev-sources</c> can now be found under the <c>hardened-sources</c>
399 package.
400 </p>
401
402 </body>
403 </section>
404 <section>
405 <title>hppa-sources</title>
406 <body>
407
408 <p>
409 <c>hppa-sources</c> was a 2.6 kernel with patches applied to improve hardware
410 compatibility for the HPPA architecture. These patches have been developed
411 and included in the mainline kernel. HPPA users can now run any recent kernel
412 with no need for extra patches.
413 </p>
414
415 </body>
416 </section>
417 <section>
418 <title>mm-sources</title>
419 <body>
420
421 <p>
422 The <c>mm-sources</c> were based on the <c>vanilla-sources</c> and contained
423 Andrew Morton's patch set. They includde the experimental and bleeding-edge
424 features that were going to be included in the official kernel (or that were
425 going to be rejected because they set your box on fire). They were known to be
426 always moving at a fast pace and can change radically from one week to the
427 other; kernel hackers used them as a testing ground for highly experimental new
428 stuff.
429 </p>
430
431 </body>
432 </section>
433 <section>
434 <title>rsbac-dev-sources</title>
435 <body>
436
437 <p>
438 The <c>rsbac-dev-sources</c> kernels can now be found under the
439 <c>rsbac-sources</c> package.
440 </p>
441
442 </body>
443 </section>
444 <section>
445 <title>rsbac-sources</title>
446 <body>
447
448 <p>
449 <c>rsbac-sources</c> was a 2.6-based kernel. It contained patches to use Rule
450 Set Based Access Controls (<uri link="http://www.rsbac.org">RSBAC</uri>). It has
451 been removed due to lack of maintainers. Use <c>hardened-sources</c> if you need
452 additional security features.
453 </p>
454
455 </body>
456 </section>
457 <section>
458 <title>selinux-sources</title>
459 <body>
460
461 <p>
462 <c>selinux-sources</c>, a 2.4 kernel including lots of security enhancements,
463 has been obsoleted by security development in the 2.6 tree. SELinux
464 functionality can be found in the <c>hardened-sources</c> package.
465 </p>
466
467 </body>
468 </section>
469 <section>
470 <title>sh-sources</title>
471 <body>
472
473 <p>
474 <c>sh-sources</c> was a 2.6 kernel with patches applied to improve hardware
475 compatibility for the SuperH architecture. These patches have been developed
476 and included in the mainline kernel. SuperH users can now run any recent kernel
477 with no need for extra patches.
478 </p>
479
480 </body>
481 </section>
482 <section>
483 <title>uclinux-sources</title>
484 <body>
485
486 <p>
487 The <c>uclinux-sources</c> are meant for CPUs without MMUs as well as embedded
488 devices. For more information, see <uri>http://www.uclinux.org</uri>. Lack of
489 security patches as well as hardware to test on were the reasons this is no
490 longer in the tree.
491 </p>
492
493 </body>
494 </section>
495 <section>
496 <title>win4lin-sources</title>
497 <body>
498
499 <p>
500 <c>win4lin-sources</c> were patched to support the userland win4lin tools
501 that allow Linux users to run many Microsoft Windows (TM) applications
502 at almost native speeds. This was removed due to security issues.
503 </p>
504
505 </body>
506 </section>
507 </chapter>
508 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20