Je dient eerst je tijdzone in te stellen zodat je systeem weet waar het zich
bevindt. Zoek naar je tijdzone in
# ls /usr/share/zoneinfo(Stel dat je Amsterdam wil) # ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
De basis waarop alle distributies gebouwd zijn, is de Linux kernel. Het is de
laag tussen gebruikers programma's en je systeemapparatuur. Gentoo biedt zijn
gebruikers verschillende kernelsources. Een volledige lijst met beschrijvingen
is beschikbaar in de
Voor x86-gebaseerde systemen hebben we, onder andere,
Kies je kernelsource en installeer het door middel van
# emerge gentoo-sources
Als je een kijkje neemt in
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.4.26-gentoo-r9
Als jouw symlink niet naar de juiste kernelsource verwijst (let er op dat
# rm /usr/src/linux # cd /usr/src # ln -s linux-2.4.26-gentoo-r9 linux
Nu is het tijd om je kernel te configureren en te compileren. Je kunt
Als je je kernel handmatig wilt configureren, ga verder met
Handmatig een kernel configureren wordt vaak gezien als het moeilijkste wat een Linux gebruiker ooit uit moet voeren. Niets is minder waar -- na een paar kernels configureren herinner je niet eens meer dat het moeilijk was ;)
Hoewel, een ding
Ga nu naar je kernelsourcemap en voer
# cd /usr/src/linux # make menuconfig
Je zult worden begroet door een serie configuratiesecties. We zullen eerst enkele opties geven die je zeker aan moet zetten (anders zal Gentoo niet functioneren, of niet goed zonder enkele extra trucs).
Om te beginnen activeer je het gebruik van ontwikkel- en experimentele code/drivers. Je hebt dit nodig, anders zullen zeer belangrijke code/drivers niet te voorschijn komen:
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers
Zorg dat je je kernel compileert voor de juiste processorfamilie:
Processor type and features --->(Wijzig aan de hand van je systeem) (Athlon/Duron/K7) Processor family
Ga nu naar
(Met een 2.4.x kernel) File systems ---> [*] Virtual memory file system support (former shm fs) [*] /proc file system support [*] /dev file system support (EXPERIMENTAL) [*] Automatically mount at boot [ ] /dev/pts file system for Unix98 PTYs(Met een 2.6.x kernel) File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] /dev file system support (OBSOLETE) [*] Automatically mount at boot [*] Virtual memory file system support (former shm fs)(Kies een of meer van de volgende, voor jouw systeem benodigde, opties ) <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support <*> XFS filesystem support
Als je BIOS geen grote harde schijven ondersteunt en je hebt je harde schijf met jumpertjes ingesteld om een beperkte grootte door te geven, dan dien je een van de volgende opties mee te geven om toegang tot je hele harde schijf te krijgen.
(alleen 2.4.x kernels) ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devices ---> <*> Include IDE/ATA-2 DISK support [ ] Use multi-mode by default [*] Auto-Geometry Resizing support
Indien je PPPoE gebruikt om verbinding te maken met het internet of als je een inbelmodem gebruikt, dien je de volgende opties aan te zetten in de kernel:
(Met een 2.4.x kernel) Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports(Met een 2.6.x kernel) Device Drivers ---> Networking support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
De twee compressie-opties zullen niets kapot maken, maar ze zijn niet nodig,
net zoals de optie
Als je het nodig hebt, vergeet dan niet ondersteuning voor je netwerkkaart toe te voegen aan je kernel.
Als je een Intel CPU met HyperThreading (tm) ondersteuning hebt, of een multi-CPU systeem, dien je ook "Symmetric multi-processing support" toe te voegen:
Processor type and features ---> [*] Symmetric multi-processing support
Als je USB-invoerapparaten gebruikt (zoals toetsenbord of muis), vergeet dan niet die ook aan te zetten:
USB Support ---> <*> USB Human Interface Device (full HID) support
Laptopgebruikers die PCMCIA-ondersteuning willen moeten
Als je klaar bent met het configureren van de kernel, ga je verder met
Nu de kernel is geconfigureerd is het tijd om te compileren en installeren.
Sluit de configuratie af en start
(Voor 2.4 kernels) # make dep && make bzImage modules modules_install(Voor 2.6 kernels) # make && make modules_install
Als je kernel klaar is met compileren, kopieer je de kernel-image naar
# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r9 # cp System.map /boot/System.map-2.4.26-gentoo-r9
Het is ook slim om je kernelconfiguratiebestand naar
# cp .config /boot/config-2.4.26-gentoo-r9
Ga nu verder met
Als je dit hoofdstuk leest, heb je ervoor gekozen om ons
Nu je kernelsource is geïnstalleerd, is het tijd om je kernel te
compileren met behulp van ons
Laten we nu eens kijken hoe we genkernel gebruiken. Emerge genkernel eerst:
# emerge genkernel
Compileer nu je kernelsource door
Let op, als je bootpartitie geen ext2 of ext3 als bestandssysteem gebruikt,
moet je mogelijk handmatig deze ondersteuning
# genkernel all
Als
# ls /boot/kernel* /boot/initrd*
Laten we nu nog een stap uitvoeren zodat ons systeem nog meer op de LiveCD
lijkt -- laten we
# emerge coldplug # rc-update add coldplug boot
Als je wil dat je systeem ook op hotplug events reageert, dien je ook hotplug te installeren en configureren:
# emerge hotplug # rc-update add hotplug default
Indien van toepassing, zou je enkele ebuilds kunnen emergen voor eventuele extra appatuur die zich je systeem bevindt. Hier is een lijst van kernel-gerelateerde ebuilds die je kunt emergen:
| Ebuild | Doel | Commando |
|---|---|---|
Pas echter op, sommige van deze ebuilds kunnen veel afhankelijkheden hebben. Om
te controleren welke pakketten zullen worden geïnstalleerd, gebruik je
# emerge --pretend emu10k1
Als je al deze pakketten die geïnstalleerd zouden worden niet wilt, kun je
met
# emerge --pretend --verbose emu10k1... [ebuild N ] media-sound/aumix-2.8 +gpm +nls +gtk +gnome +alsa -gtk2
In het vorige voorbeeld kun je zien dat een van
Als je niet wilt dat dit alles er in zit, deselecteer alle USE-vlaggen:
# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1
Als je tevreden bent met de resultaten, haal je de
Je moet een lijstje maken van alle modules die je automatisch wilt laden, doe
dit in
Om alle beschikbare modules te zien, draai je het volgende
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
Om bijvoorbeeld automatisch de
(Voorbeeld voor 2.4 kernels) # nano -w /etc/modules.autoload.d/kernel-2.4
3c59x
Draai nu
# modules-update
Ga verder met