Gentoo Linux Kernel Gids
1.
Introductie
Zoals alles in Gentoo Linux is de filosofie van het Gentoo Kernel Team
om jou, als gebruiker, zo veel mogelijk keuzevrijheid te geven als
mogelijk. Indien je eens kijkt naar de output van emerge -s
sources zie je verschillende kernels voorbij flitsen. In dit
document zal ik proberen je een overzicht te geven van de beschikbare
kernel patches die we vanuit Gentoo beschikbaar stellen, en je uitleggen
wat deze kernels eigenlijk zijn.
2.
De Keuze, Deel I
gentoo-sources
Voor de meeste gebruikers is de aangeraden kernel source de
gentoo-sources. Het gentoo-sources pakket bevat de kernel
patches gericht op performantieverbetering en taakoptimalisatie zoals
bij het luisteren naar muziek terwijl je aan het surfen bent op het
internet. De meeste nieuwe Gentoo gebruikers zijn het waarschijnlijk
niet gewend om regelmatig te compileren terwijl ze normale dag-tot-dag
taken aan het uitvoeren zijn.
Je zal mogelijk vinden dat, indien je vanilla-sources (de
officiele kernel broncode van http://www.kernel.org)
gebruikt, dat normale taken -- zoals het beluisteren van muziek, bewegen
van je muis en zo meer -- mogelijk storend werken wanneer je aan het
compileren bent.
De gentoo-sources bevat een geupdate ACPI subsysteem en is
gebaseerd op Con Kolivas' hoog-performante kernelpatches
(ck-sources). We ondersteunen tevens grSecurity (een set van
veiligheidsgerelateerde patches met ondersteuning voor ACLs), EVMS(2)
(een hoogflexibel opslag managment systeem met eenvoudige
partitieherschaling), JFS (IBM's hoogperformant bestandssysteem), de
laatste NTFS drivers en meer.
Omdat de gentoo-sources gericht zijn op volledige performantie
zijn ze tevens goed te gebruiken voor games.
De volgende USE-vlaggen kunnen gebruikt worden om optionele patches te
implementeren:
| Vlag |
Uitleg |
| aavm |
Gebruik Andrea Arcangeli's geheugenbeheer |
| evms2 |
Gebruik EVMS 2.0.1 in plaats van EVMS 1.2.1 |
| crypt |
Pas cryptografische patches toe |
| usagi |
Behoud USAGI, laat superfreeswan, patch-int en loop-jari vallen |
vanilla-sources
De volgende kernel broncode die velen van jullie waarschijnlijk kennen
zijn de vanilla-sources. Zoals ik al eerder vermeldde zijn deze
de officiele kernel sources die op http://www.kernel.org te
vinden zijn. Deze kernel wordt, in tegenstelling tot wat velen denken,
niet onderhouden door Linus Torvalds zelf want hij is toch nog steeds
menselijk. Daarom vertrouwt hij het onderhoud van bepaalde kernels toe
aan andere mensen. Marcelo Tosatti is de onderhouder van de 2.4 kernel
broncode, terwijl Alan Cox de 2.2-serie onderhoudt. De 2.4-serie is deze
waarop de meerste andere kernels gebaseerd zijn. Marcelo doet zijn job
uitstekend, de kernel is gekend als een zeer stabiele maar toch
up-to-date kernel (met recente en zelfs bleeding-edge hardware
ondersteuning).
vanilla-sources zijn waarschijnlijk de meest stabiele sources
beschikbaar aangezien ze het meest getest zijn en bijna alle andere
kernels hierop gebaseerd zijn. Indien je niet de extras vereist die in
de andere kernels beschikbaar zijn is vanilla-sources datgene wat
je nodig hebt.
gs-sources
Voor gebruikers van wie desktop performantie minder belangrijk is dan
stabiliteit en hardware ondersteuning hebben we gs-sources. GS
staat voor Gentoo Stable (wat zijn we creatief :). Deze patch set is
gemaakt en getest om de beste ondersteuning te bieden voor (recente)
hardware en stabiliteit zodat je missie-kritieke servers beschikbaar
zijn wanneer je ze nodig hebt. Deze kernel heeft niet alle harde
performantie-patches in zich zitten zoals gentoo-sources, maar de
performantie die je kent van de vanilla kernels blijft behouden. Waar
mogelijk hebben we server-gerelateerde performantie-patches toegevoegd,
dit uiteraard zonder de stabiliteit in het gedrang te brengen.
Deze kernel brengt je ondersteuning voor het laatste ACPI subsysteem,
EVMS, ECC (nodig voor HA Linux systemen), Encrypted Loopback devices,
NTFS, Win4Lin en XFS. Het bevat tevens updates voor IDE, ext3 en
verschillende netwerkkaarten samen met andere patches.
In andere woorden, deze kernel is perfect voor servers en
High-Availability systemen.
De volgende USE-vlaggen kunnen gebruikt worden om optionele patches te
implementeren:
| Vlaggen |
Uitleg |
| crypt |
Pas de cryptografische patches toe |
gentoo-test-sources
gentoo-test-sources is wat later de gentoo-sources zal worden
na vele tests en QA. Patches aan de gentoo-sources worden eerst
toegepast op de gentoo-test-sources om ze te testen. Indien je dus de
performantie van de gentoo-sources wil met de zo recent mogelijke
patches, gebruik dan de gentoo-test-sources.
De volgende USE-vlaggen kunnen gebruikt worden om optionele patches te
implementeren:
| Vlaggen |
Uitleg |
| aavm |
Gebruik Andrea Arcangeli's geheugenbeheer |
| evms2 |
Gebruik EVMS 2.0.1 in plaats van EVMS 1.2.1 |
| crypt |
Pas de cryptografische patches toe |
| usagi |
Behoud USAGI, laat superfreeswan, patch-int en loop-jari vallen |
hardened-sources
hardened-sources levert je patches voor de verschillende
subprojecten van Gentoo Hardened, samen met stabiliteit- en
veiligheids-aanpassingen. Zie
http://www.gentoo.org/proj/en/hardened/ voor meer informatie.
De volgende USE-vlaggen kunnen gebruikt worden om optionele patches te
implementeren:
| Vlaggen |
Uitleg |
| selinux |
Vervang grSecurity met SELinux ondersteuning |
xfs-sources
xfs-sources bevat ondersteuning voor EVMS, ACPI, grSecurity en,
wat je waarschijnlijk al wist, de laatste XFS ondersteuning van de XFS
ontwikkeling. De Gentoo LiveCD gebruikt xfs-sources, indien je
dat echt wil weten :-)
Meer informatie over XFS op http://oss.sgi.com/projects/xfs/.
Je kan de volgende USE-vlaggen gebruiken om optionele patches te
implementeren:
| Vlaggen |
Uitleg |
| crypt |
Pas de cryptografische patches toe |
Architectuur afhankelijke kernels
alpha-sources, arm-sources, hppa-sources,
mips-sources, ppc-sources en sparc-sources zijn,
zoals hun namen al doen vermoeden, gepatched om optimaal te werken op de
vermeldde architecturen. Ze bevatten tevens de patches voor specifieke
hardware alsook ondersteuning voor enkele zaken die andere kernels ook
leveren.
ppc-sources-benh
De ppc-sources-benh ebuilds leveren ondersteuning voor extra
hardware t.o.v. de ppc-sources kernel. Het is iets meer
experimenteel dan de ppc-sources.
ppc-sources-crypto
De ppc-sources-crypto ebuild levert CryptoAPI ondersteuning voor
de Gentoo Linux PPC kernel. Meer informatie over CryptoAPI vind je op
http://www.kerneli.org/about/.
ppc-sources-dev
De ppc-sources-dev kernel levert de ontwikkelings-broncode voor
de ppc-sources. Elke patch die in ppc-sources moet komen
moet eerst via ppc-sources-dev gaan.
compaq-sources
De compaq-sources kernel levert RedHat's kernel voor de Alpha,
onderhouden door Compaq.
3.
De Keuzes, Deel II
Ik zal je nu kort uitleggen wat de andere
sys-kernel/*-sources kernels zijn die je voorbij zag
flitsen tijdens de emerge -s sources. Laten we ze in alfabetische
volgorde bekijken.
aa-sources
Allereerst hebben we aa-sources. Dit is Andrea Arcangeli's patch
set. Andrea is gekend als een enorm goede programmeur door verschillende
andere kernel programmeurs. Zijn kernel patch heeft enkele van de meest
agressieve patches op gebied van virtueel geheugenbeheer. De laatste
keer dat ik keek zat er tevens ondersteuning in voor SGI's XFS
bestandssysteem en O(1) scheduling-ondersteuning van Ingo Molar (welke
de default scheduler zal worden voor Linux 2.6).
Deze kernel levert tevens User Mode Linux ondersteuning (zie onze UML Gids voor meer informatie) en de
laatste TUX Webserver (een webserver die in de kernel zit voor extreme
performantie).
Indien je geheugenbeheer problemen hebt met andere kernels, dan kan
aa-sources jouw oplossing zijn. Indien je Linux' geheugenbeheer
wil optimaliseren, dan is aa-sources zeker en vast wat je
nodig hebt.
Bezoek
http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4
voor meer informatie over de patches die in deze kernel zit.
ac-sources
Vervolgens hebben we de ac-sources. Dit is Alan Cox' patch set
tegen de 2.4 kernel serie. In deze patch set zal je de O(1) scheduler
vinden, de laatste IDE updates en verschillende andere patches die
mogelijk in de toekomst van de 2.4-serie zullen uitmaken.
Deze kernel is gekend om zeer goede ondersteuning te bieden voor
verschillende nieuwe hardware-apparaten en is een goede kandidaat indien
je een stabiele maar minder conservatieve kernel wil dan de
vanilla-sources.
Bezoek
http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.4/
om te zien waaraan Alan bezig is.
ck-sources
ck-sources is Con Kolivas's kernel patch set. Deze kernel is
zeer actief gepatched om desktop performantie te verbeteren ten
koste van I/O snelheid, en om de scheduler beter de applicaties te laten
kiezen die prioritair belangrijker zijn. Con Kolivas doet benchmarks op
zijn kernels om de beste combinatie te vinden voor desktop gebruik. Zie
http://kernel.kolivas.org voor meer informatie over Con en
zijn patches.
development-sources
De development-sources is de huidige onstabiele kernel-serie.
Deze is de kernel broncode serie die Linus zelf onderhoudt. Ze is een
snel-veranderende speelgrond voor de kernelhackers waarin de features
voor de nieuwe stabiele kernelserie getest en geimplementeerd worden
alvorens ze op de wijde wereld losgelaten worden.
Indien je de allerlaatste, bleeding-edge ondersteuning en experimentele
aanpassingen wil, dan is deze kernel wat je zoekt. Je moet wel weten dat
deze kernel zeer experimenteel is en het is ten zeerste
aangeraden deze niet te gebruiken op missie-kritische systemen.
Waarschuwing:
Gentoo Linux ondersteunt niets wat met de development-sources of
zijn afgeleide kernels te maken heeft aangezien ze te vaak verandert en
af en toe zaken breekt.
|
gaming-sources
gaming-sources is gebaseerd op ck-sources en is daarom
aangepast voor zeer hoge performantie. Ze bevat patches voor de laatste
game-gerelateerde hardware (grafische kaarten, geluidskaarten en
dergelijke meer).
Indien je een hardcore gamer bent is dit jouw beste keuze voor kernel.
mm-sources
De mm-sources is gebaseerd op de development-sources en
bevat Andrew Morton's patch set. Ze assembleert verschillende andere
kernel patches, zoals ext2/3 Extended Attributes en Access Control
Lists, Page Table Sharing, de Orlov Allocator, niet-lineaire Mapping en
meer in een enkele patch set.
Indien je werkelijk op de rand wil leven en je denkt dat
development-sources voor wussies is, dan moet je
mm-sources proberen.
mosix-sources
De mosix-sources is gepatched om MOSIX-operaties voor
gedistribueerde zaken te ondersteunen (een cluster). Een cluster is een
verzameling van nodes (PCs) met software die het mogelijk maakt om taken
in een gedistribueerde manier af te handelen. Met clusters heb je geen
hoog geprofileerde supercomputers nodig om lange taken af te handelen.
Voor meer informatie ga je het best naar
http://www.mosix.org.
openmosix-sources
De openmosix-sources zijn gepatched om het openMosix systeem
(zoals MOSIX maar dan Open Source) te ondersteunen. Voor meer informatie
zie http://www.openmosix.org.
redhat-sources
redhat-sources is, zoals de naam al doet vermoeden, de RedHat
kernel. Dankzij de wonderen der Open Source kan iedereen gebruik maken
van het werk dat de RedHat ingenieurs in hun kernels steken. Bij ons in
Gentoo hebben we een ebuild ter beschikking gesteld zodat je gemakkelijk
deze kernel met Gentoo kan gebruiken.
rsbac-sources
rsbac-sources bevat de patches van
http://www.rsbac.org. RSBAC staat voor Rule Set Based
Access Control. Deze kernel patches laten je toe om bepaalde
gebruikers te laten identificeren gebaseerd op rollen in plaats van
normale uid/gid permissies.
selinux-sources
selinux-sources is van http://www.nsa.gov/selinux en
bevat ondersteuning voor LSM (Linux Security Modules) en het Flask
Security Architecture.
usermode-sources
usermode-sources zijn de User Mode Linux kernel patches. Deze
kernel is gemaakt om Linux in Linux in Linux in ... te laten draaien.
User Mode Linux is bedoeld voor tests en virtuele servers. Voor meer
informatie over deze prachtige toedrage aan de stabiliteit en
schaleerbaarheid van Linux, zie
http://user-mode-linux.sourceforge.net.
Voor meer informatie over UML en Gentoo, lees de Gentoo UML Handleiding.
win4lin-sources
win4lin-sources zijn gepatched om de userland win4lin tools te
ondersteunen die Linux-gebruikers toelaten om Microsoft Windows (TM)
applicaties te draaien op bijna volledige snelheid. Zie
http://www.netraverse.com voor meer informatie.
wolk-sources
wolk-sources bevat de Working Overloaded Linux Kernel van
http://sourceforge.net/projects/wolk. Deze kernel bevat zo
veel mogelijk patches van allerlei allooi, allemaal gecombineerd in de
kernel met grote voorzichtigheid. Het is de bedoeling dat je eender
welke combinatie van patches kan gebruiken in deze kernel zonder dat je
fouten verkrijgt.
Indien je een bepaalde combinatie van patches nodig hebt die je niet
in andere kernels kan vinden dan is WOLK zeker een gok waard.
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|