<sect2>
<title>Verklaring van de opdrachten</title>

<para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput>
Deze patch converteert alle voorkomens van <filename>$(PERL)</filename> naar
<filename>/usr/bin/perl</filename> in het bestand
<filename>malloc/Makefile</filename>. Dit wordt gedaan omdat Glibc de lokatie
van perl niet automatisch kan detecteren omdat perl nog niet is ge&iuml;nstalleerd. De patch vervangt ook alle voorkomens van
<emphasis>root</emphasis> door
<emphasis>0</emphasis> in het bestand <filename>login/Makefile</filename>.
Dit wordt gedaan omdat Glibc zelf nog niet is ge&iuml;nstalleerd en daarom
de omzetting van gebruikersnaam naar gebruikersid nog niet werkt, dus een
<userinput>chown root bestand</userinput> zal mislukken, het werkt echter
prima als je rechtstreekse ID's gebruikt.
</para>

<para>De patch bevat ook een paar programmeercorrecties en beveiligingscorrecties. In het bijzonder bevat het de
"errlist", "dns resolver", "xdr_array", "calloc",
"thread exit", "udivdi3", "math test", "restrict_arr" en "divbyzero" correcties
die zijn gedocumenteerd op
<ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/>.</para>

<para><userinput>touch /etc/ld.so.conf:</userinput> Een van de laatste
	stappen van de Glibc installatie bestaat uit de uitvoering van
	ldconfig om de cache van de dynamisch loader bij te werken.
	Als dit bestand niet bestaat, dan zal de installatie worden afgebroken
	met een foutmelding waarin wordt aangegeven dat het 't bestand niet
	kan lezen, dus we maken simpelweg een leeg bestand aan 
	(het lege bestand maakt dat Glibc als standaardwaarde /lib en
	/usr/lib gebruikt, wat prima is).
</para>

<para><userinput>--disable-profile:</userinput> Dit deactiveert de
	compilatie van library's met profiling informatie. Deze opdracht
	kan achterwege worden gelaten als je van plan bent profiling te doen.
</para>

<para><userinput>--enable-add-ons:</userinput> Dit activeert de add-on die
	we met Glibc installeren, linuxthreads.
</para>

<para><userinput>--libexecdir=/usr/bin:</userinput> Dit zal ervoor zorgen
	dat het programma pt_chown in de directory /usr/bin zal worden
	ge&iuml;nstalleerd.
</para>

<para><userinput>echo "cross-compiling = no" &gt; configparms:</userinput>
	We doen dit omdat we alleen aan het bouwen zijn voor ons eigen systeem.
	Cross-compiling wordt bijvoorbeeld gebruikt om een package te bouwen
	voor een Apple Power PC op een Intel systeem. De reden dat Glibc
	denkt dat we cross-compiling is dat het geen testprogramma kan
	compileren om dit vast te stellen, dus is de automatische standaard
	een cross-compiler. Het compileren van het testprogramma mislukt
	omdat Glibc nog niet is ge&iuml;nstalleerd.
</para>

<para><userinput>exec /static/bin/bash --login:</userinput> Deze opdracht
	zal een nieuwe bashshell starten die de huidige shell zal
	vervangen. Dit wordt gedaan om van de "I have no name!" melding
	in de opdrachtprompt af te komen, die werd veroorzaakt door
	onbekwaamheid van bash om een gebruikers-ID om te zetten naar een 
	gebruikersnaam (wat weer werd veroorzaakt door het ontbreken van
	Glibc).
</para>

</sect2>

