Gentoo Logo

1.  Tijdzone

Allereerst moet de tijdzone ingesteld, zodat het systeem weet waar het zich bevindt. Zoek naar uw tijdzone in /usr/share/zoneinfo en kopieer deze dan naar /etc/localtime. Gebruik niet de /usr/share/zoneinfo/Etc/GMT* tijdzones, aangezien de gebruikte namen niet overeen komen met de zones. GMT-8 is bijvoorbeeld GMT+8.

Codevoorbeeld 1.1: De tijdzone instellen

# ls /usr/share/zoneinfo
(Stel dat u Amsterdam wilt gebruiken)
# cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

1.  De sources installeren

Een kernel kiezen

De basis waarop alle distributies gebouwd zijn, is de Linux kernel. Het is de laag tussen gebruikers programma's en uw hardware. Gentoo biedt zijn gebruikers verschillende kernelsources. Een volledige lijst met beschrijvingen is beschikbaar in de Gentoo Kernel Guide.

Kies een kernel naar keuze en installeer deze met emerge.

Codevoorbeeld 1.1: Een kernel source installeren

# emerge gentoo-sources

Wanneer u een kijkje neemt in /usr/src zou u een symlink genaamd linux moeten zien. Deze verwijst naar uw kernel source. We zullen aannemen dat de geïnstalleerde kernelsource gentoo-sources-${kernel-version} is. Uw versie kan echter een andere zijn!

Codevoorbeeld 1.1: De kernel source symlink bekijken

# ls -l /usr/src/linux
+lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-${kernel-version}

Nu is het tijd om uw kernel te configureren en te compileren. U kunt genkernel hiervoor gebruiken. Deze zal een algemene kernel aanmaken zoals ook LiveCD gebruikt. We zullen eerst de handmatige manier uitleggen omdat dit de beste manier is om uw systeem te optimaliseren.

Als u de kernel handmatig wilt configureren, gaat u verder met Standaard: handmatige configuratie. Als u genkernel wilt gebruiken, dan kunt u verder lezen in Alternatief: genkernel gebruiken.

1.  Standaard: handmatige configuratie

Introductie

Handmatig een kernel configureren wordt vaak gezien als het moeilijkste dat een Linux gebruiker ooit uit moet voeren. Niets is minder waar -- na een paar kernels configureren herinnert u zich niet eens meer dat het ooit moeilijk was ;)

Hoewel, een ding is is waar: u moet uw systeem kennen voordat u de kernel handmatig gaat configureren. De meeste informatie kunt u vergaren door pciutils te emergen (emerge pciutils), welke lspci bevat. U kunt nu lspci binnen de gechroote omgeving gebruiken. U kunt zonder problemen alle pcilib waarschuwingen negeren (zoals pcilib: cannot open /sys/bus/pci/devices) die lspci genereert. U kunt ook lspci vanuit een niet-gechroote omgeving draaien. De resultaten zullen gelijk zijn. U kunt verder lsmod draaien om te zien welke kernelmodules de LiveCD gebruikt (het geeft een goede hint wat u aan kunt zetten).

Ga nu naar de kernel sourcemap en voer make menuconfig uit. Dit zal een configuratiemenu openen.

Codevoorbeeld 1.1: menuconfig starten

# cd /usr/src/linux
# make menuconfig

U zult worden begroet door een serie configuratiesecties. We zullen eerst enkele opties geven die u zeker aan moet zetten (anders zal Gentoo niet functioneren, of niet goed zonder enkele extra trucs).

Vereiste opties aan zetten

Om te beginnen activeert u het gebruik van ontwikkelings- en experimentele code/drivers. Je hebt dit nodig, anders zullen enkele belangrijke codes/drivers niet te voorschijn komen:

Codevoorbeeld 1.1: Experimentele code/drivers activeren

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers
General setup  --->
  [*] Support for hot-pluggable devices

Zorg dat u iedere driver die essentieel is voor het opstarten van uw systeem (zoals SCSI controller, ...) in de kernel, en dus niet als module, compileert. Anders zal uw systeem niet volledig opstarten.

Ga nu naar File Systems en kies ondersteuning voor het bestandssysteem dat u gebruikt. Compileer deze niet als modules, anders zal het Gentoo systeem zal de rootpartitie niet kunnen mounten. Kies ook Virtual memory en /proc file system.

Vergeet niet voor uw schijven DMA aan te zetten:

Codevoorbeeld 1.1: DMA aanzetten

Device Drivers --->
  ATA/ATAPI/MFM/RLL support --->
    [*] Generic PCI bus-master DMA support

Indien u PPPoE gebruikt om verbinding te maken met het internet of als u een inbelmodem gebruikt, dan dient u de volgende opties aan te zetten in de kernel:

De twee compressie-opties zullen niets kapot maken, maar ze zijn niet nodig, net zoals de optie PPP over Ethernet die alleen wordt gebruikt door ppp als die wordt geconfigureerd om PPPoE in kernelmodus te draaien.

Als hem nodig heeft, moet u niet vergeten de ondersteuning voor uw netwerkkaart toe te voegen aan uw kernel.

Codevoorbeeld 1.1: SMP ondersteuning inschakelen

Processor type and features  --->
  [*] Symmetric multi-processing support

Nota: In multi-core systemen telt iedere kern (core) als één processor.

Als u USB-invoerapparaten gebruikt (zoals toetsenbord of muis), vergeet dan niet die ook aan te zetten:

Codevoorbeeld 1.1: USB ondersteuning voor Input Devices

USB Support --->
  <*>   USB Human Interface Device (full HID) support

Compileren en installeren

Nu de kernel is geconfigureerd is het tijd om te compileren en installeren. Sluit de configuratie af en start het compilatie proces:

Als uw kernel klaar is met compileren, kopieert u de kernel-image naar /boot. Gebruik een naam die u toepasselijk vindt voor uw kernel keuze en onthoudt die, want u zult deze bij het configureren van uw bootlader nodig hebben. Vergeet niet ${kernel-name} te vervangen door de naam en versie van uw kernel.

Codevoorbeeld 1.1: Het installeren van de kernel

# cp arch/${arch-sub}/boot/bzImage /boot/${kernel-name}

Nu kunt u verder gaan met Kernel Modules.

1.  Alternatief: genkernel gebruiken

Als u dit hoofdstuk leest, heeft u ervoor gekozen om het genkernel script te geruiken voor de configuratie van uw kernel.

Nu de kernel source is geïnstalleerd, is het tijd om uw kernel te compileren met behulp van ons genkernel script. Deze bouwt automatisch een kernel voor u. genkernel werkt door een kernel bijna identiek te configureren aan de manier waarop onze Installatie CD kernel is geconfigureerd. Dit betekent dat wanneer u genkernel gebruikt om uw kernel te bouwen, uw systeem over het algemeen alle apparatuur tijdens het opstarten zal detecteren, net zoals onze Installatie CD dat doet. Omdat genkernel geen handmatige configuratie vereist, is het de ideale oplossing voor die gebruikers die zich niet prettig voelen bij het compileren van hun eigen kernels.

Laten we nu eens kijken hoe we genkernel gebruiken. Emerge genkernel eerst:

Codevoorbeeld 1.1: Genkernel emergen

# emerge genkernel

Compileer nu de kernel sources door genkernel all te draaien. Pas echter op, omdat genkernel een kernel compileert die bijna alle apparatuur ondersteunt, kan deze compilatie aardig wat tijd in beslag nemen!

Let op, als uw bootpartitie geen ext2 of ext3 als bestandssysteem gebruikt, moet u mogelijk handmatig deze ondersteuning in de kernel (dus niet als een module) moet toevoegen. Gebruik hiervoor genkernel --menuconfig all en voeg de ondersteuning toe. Gebruikers van EVMS2 of LVM2 moeten ook --evms2 of --lvm2 als argument toevoegen.

Codevoorbeeld 1.1: Genkernel draaien

# genkernel all

Als genkernel eenmaal klaar is, zal een kernel, een volledige set met modules en een start-rootschijf (initrd) worden gemaakt. We gebruiken de kernel en initrd wanneer we de bootlader zullen configureren, verderop in dit document. Noteer de namen van de kernel en initrd omdat u deze nodig zult hebben bij de bootlader configuratie. De initrd zal direct worden gestart na het opstarten om apparatuur autodetectie uit te voeren (net zoals op de Installatie CD) voordat uw "echte" systeem opstart.

Codevoorbeeld 1.1: De gecreerde kernel image naam en initrd controleren

# ls /boot/kernel* /boot/initramfs*

1.  Kernel Modules

De modules configureren

U moet nu een lijst maken van alle modules die u automatisch wilt laden, doe dit in /etc/modules.autoload.d/kernel-2.6. Je kunt indien u dit wilt ook extra opties aan de modules meegeven.

Om alle beschikbare modules te zien, draait u het volgende find commando. Vergeet niet om "<kernel-version">> te vervangen met de versie van de door u zojuist gecompileerde kernel.

Codevoorbeeld 1.1: Alle beschikbare modules vinden

# find /lib/modules/<kernel-version>/ -type f -iname '*.o' -or -iname '*.ko'

Om bijvoorbeeld automatisch de 3x59x.o module te laden, wijzigt u het kernel-2.6-bestand en zet er de modulenaam in.

Codevoorbeeld 1.1: /etc/modules.autoload.d/kernel-2.6 bewerken

(Voorbeeld voor 2.6 kernels)
# nano -w /etc/modules.autoload.d/kernel-2.6

Codevoorbeeld 1.1: /etc/modules.autoload.d/kernel-2.6

3c59x

Ga verder met (Configuratie van het Systeem).

Upgedate op 12 augustus 2007

De originele versie van dit document was laatst geupdate om 1 juni 2014

Korte inhoud: De Linux kernel is de kern van elke distributie, in dit hoofdstuk wordt uitgelegd hoe je je kernel configureerd.

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.