Chrooting
Optioneel: Mirrors selecteren
Het is mogelijk om met mirrorselect /etc/make.conf aan te
passen zodat snellere mirrors gebruikt worden om sources en de portage tree te
downloaden.
# mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf
Als dit echter niet lukt, geen nood. Dit is volledig optioneel, de default
waarden volstaan.
DNS Info kopieren
Voor we kunnen chrooten moet eerst de DNS informatie in
/etc/resolv.conf gekopieerd worden. Dit is nodig omdat de nieuwe
omgeving de nameservers voor je netwerk moet kennen.
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Optioneel: /dev mounten
Knoppix gebruikers (of personen die Gentoo installeren vanaf een medium
zonder DevFS) moeten nu de /dev structuur bind-mounten.
Dit is dus niet nodig als je de Gentoo LiveCD gebruikt.
# mkdir /mnt/gentoo/dev
# mount -o bind /dev /mnt/gentoo/dev
De Nieuwe Omgeving
Nu alle partities aangemaakt zijn en de basis omgeving geinstalleerd is
kunnen we naar de nieuwe omgeving overstappen. Dit gebeurt door the
chrooten, dit betekent dat we van de installatie omgeving overstappen
naar de geinstalleerde omgeving.
Dit chrooten gebeurt in 3 stappen. Eerst passen we root aan van
/ (op het installatie medium) naar /mnt/gentoo (op je
partities) met chroot. Daarna maken we de nieuwe omgeving aan met
env-update, dit maakt alle omgevingsvariabelen aan. Als laatste laden
we die variabelen in het geheugen met source.
# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
Proficat! U bent nu in uw eigen Gentoo Linux omgeving.
Uiteraard bent u nog niet klaar, er wachten u nog een aantal secties.
Optioneel: Update van Portage
Als je geen GRP gebruikt, moet je een recente Portage snapshot
downloaden. emerge sync doet dit voor je. GRP-gebruikers moeten dit
overslaan en verdergaan met USE
variabele configureren.
# emerge sync
Als er een waarschuwing komt dat er een update is voor Portage mag je dit
negeren. We zullen Portage later tijdens de installatie wel updaten.
USE variabele configureren
USE is een van de meest krachtige variabelen die Gentoo biedt.
Verschillende programmas kunnen met optionele support voor bepaalde zaken
gecompileerd worden Bijvoorbeeld, sommigen met gtk-support of qt-support.
Anderen met of zonder SSL support. Sommige programmas kunnen ook met
framebuffer support (svgalib) ipv. X11 support (X-server) gecompileerd worden.
De meeste distributies compileren hun packages met support voor zoveel als
mogelijk, dit zorgt voor grotere programmas, langere laadtijden en meer
afhankelijkheden. Bij Gentoo ben je vrij in welke opties jij zelf wilt.
Dit is waar USE komt bij kijken.
In de USE variabele definieer je sleutelwoorden die aan compile-opties
gelinked zijn. Bijvoorbeeld, ssl zal ssl-support compileren bij alle
programmas die dat ondersteunen. -X verwijderd X-server support (let op
de min). gnome gtk -kde -qt zal je programmas met gnome (en gtk)
support, maar niet met kde (en qt) support compileren, zo is je systeem
volledig getweaked voor GNOME.
De default USE instellingen staan in
/etc/make.profile/make.defaults. Wat je zelf in
/etc/make.conf plaatst wordt berekend tegen de default
instellingen. Als je iets toevoegt aan USE wordt het als default
opgenomen. Als je iets verwijdert van USE wordt dit uit de default
weggehaald (indien het er in zat). Pas nooit iets aan binnen
/etc/make.profile; dit bestand wordt overschreven bij een een
update van Portage.
Een volledige beschrijving van USE is te vinden in het tweede deel van
het Gentoo Handboek, Chapter 1: USE
vlaggen. Alle beschikbare USE vlaggen zijn te vinden op je systeem onder
/usr/portage/profiles/use.desc.
# less /usr/portage/profiles/use.desc
Als voorbeeld USE instelling: een KDE-gebaseerd systeem met DVD, ALSA
en CD Recording support:
# nano -w /etc/make.conf
USE="-gtk -gnome qt kde dvd alsa cdr"
Optioneel: Gedistribueerd Compilen
Het is mogelijk meerdere systemen te gebuiken om je te helpen bij het
compileren van je nieuwe systeem. De DistCC
Guide legt dit beter uit.
van Stage1 naar Stage2
Introductie tot Bootstrapping
Dus je wil alles vanaf nul compileren? Ok dan :-)
In deze stap zullen we het Gentoo systeem bootstrappen. Dit duurt lang, maar
het resulteert in een volledig geoptimaliseerd systeem voor jouw machine.
Bootstrapping betekent de GNU C Library, GNU Compiler Collectie en een
aantal andere systeem programmas compileren. De GNU Compiler Collectie moet
2 keer aangemaakt worden, eerst met een "generic" compiler en daarna met de
compiler die we in de eerste stap gecompileerd hebben.
Voor we met de bootstrap starten: aan aantal opties die je eventueel wilt.
Indien je deze niet wilt kan je verder met het
Systeem Bootstrappen.
Optioneel: Compilatie Tijd verminderen
Als je het bootstrappen wat sneller wil laten gebeuren kan je java-support
tijdelijk uitschakelen. Dit betekent dat de GNU Compiler Collection en de GNU
C Library zonder java-support worden gecompileerd (dit verminderd de duur
aanzienlijk). Dit betekent wel dat je geen GNU Java Compiler (gcj)
hebt, wat niet zorgt dat je geen java applets en dergelijke kunt
gebruiken.
Om java-support tijdelijk te deselecteren, gebruik USE="-java" alvorens
het bootstrap script te starten.
# export USE="-java"
En vergeet niet na het bootstrappen dit weer ongedaan te maken:
# unset USE
Optioneel: De sources eerst downloaden
Het is mogelijk om eerst alle source code af te halen en daarna pas het
bootstrappen te startten (als je niet wil dat je internet connectie de hele
tijd open staat). Indien je dit niet doet gebeurt dit wel automatisch, maar
dan heb je een permanente netwerk connectie nodig. Gebruik hiervoor de
-f optie van het bootstrap script, dit fetcht alle code voor u.
# cd /usr/portage
# scripts/bootstrap.sh -f
het Systeem Bootstrappen
Nu kan je het bootstrap script starten. Daarna kan je maar best wat anders
gaan doen, want dit duurt redelijk lang. (Bijvoorbeeld de Gentoo developers
lastig vallen op #gentoo)
# cd /usr/portage
# scripts/bootstrap.sh
Als je eerder CHOST hebt aangepast in /etc/make.conf moet
je een aantal variabelen herinitialiseren zodat gcc snel werkt.
# source /etc/profile
Ga nu door met de volgende stap van Stage2
naar Stage3.
van Stage2 naar Stage3
Introductie
Als je deze sectie leest heb je een gebootstrapped systeem (ofwel omdat je
het daarnet zelf gedaan hebt, ofwel gebruik je een stage2).
Dan is het nu tijd om alle syteem pakketten te compileren.
Allemaal? Nee, in deze stap worden enkel deze gemaakt waarvoor er geen
alternatieven zijn. Sommige pakketten hebben meerdere alternatieven (onder
andere system loggers) en Gentoo draait rond keuzes, dus we leggen er
je geen op.
Optioneel: Zien wat er gaat gebeuren
Als je wil weten welke pakketten er geinstalleerd zullen worden, voer dan
emerge --pretend system uit. Dit geeft een lijst van alle te
installeren pakketten. Het kan gebeuren dat je hiervoor less of
more nodig hebt omdat de lijst aardig lang kan worden.
# emerge --pretend system | less
Optioneel: de Sources downloaden
Als je wil dat emerge eerst de sources download voor je verder gaat
(als je niet wil dat uw connectie open staat terwijl je het syteem compileert)
kan je de --fetchonly optie van emerge gebruiken.
# emerge --fetchonly system
het Systeem compileren
Om te starten met het systeem te compileren, voer je emerge system uit.
Dit duurt ook een tijdje, dus kan je je maar beter ergens anders mee bezig
houden.
# emerge system
Als dit gedaan is, ga je verder met de Kernel
configureren.