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.

Verschillen tussen Stage1, Stage2 en Stage3

Neem nu even de tijd om na te denken over de volgende stappen. Er werd gevraagd te kiezen tussen stage1, stage2 of stage3 en je werd gewaarschuuwd dat deze keuze belangrijk is voor de volgende stappen. Dit is de eerste keer dat die keuze de volgende stappen bepaald.

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.