<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux User Group of Mauritius &#187; compilation</title>
	<atom:link href="http://lugm.org/tag/compilation/feed/" rel="self" type="application/rss+xml" />
	<link>http://lugm.org</link>
	<description>Promoting open source software in our beautiful island</description>
	<lastBuildDate>Wed, 25 Jan 2012 19:44:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Hier j&#8217;ai compilé mon OS</title>
		<link>http://lugm.org/2009/06/16/hier-jai-compile-mon-os/</link>
		<comments>http://lugm.org/2009/06/16/hier-jai-compile-mon-os/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 05:16:31 +0000</pubDate>
		<dc:creator>Dominique Derrier</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://lugm.tuxlab.mu/?p=71</guid>
		<description><![CDATA[Les distributions pourraient se disposer sur les rayons des supermarchés tellement elles sont nombreuses. On en trouve pour tous les gouts et toutes les couleurs. D'une classique Ubuntu, installable les yeux fermés à une LFS qui nécessite de faire un peu d'assembleur avant de démarrer. Pour ma part je pense que Gentoo propose une bonne [...]]]></description>
			<content:encoded><![CDATA[<p>Les distributions pourraient se disposer sur les rayons des supermarchés tellement elles sont nombreuses. On en trouve pour tous les gouts et toutes les couleurs.<br />
<div id="attachment_47" class="wp-caption alignright" style="width: 200px"><a href="http://www.gentoo.org"><img src="http://lugm.org/wp-content/uploads/2009/06/gtop-www.jpg" alt="Gentoo Distrib" title="Gentoo" width="190" height="124" class="size-full wp-image-47" /></a><p class="wp-caption-text">Gentoo Distrib</p></div><br />
D'une classique Ubuntu, installable les yeux fermés à une LFS qui nécessite de faire un peu d'assembleur avant de démarrer. Pour ma part je pense que <ins datetime="2009-06-16T15:14:36+00:00">Gentoo</ins> propose une bonne alternative pour les Geeks en mal de pouvoir de compilation avec des ordinateurs toujours plus puissants.<br />
Mais pourquoi se priver du plaisir de la compilation !<br />
<span id="more-71"></span><br />
Pour gentoo:</p>
<ul>
<li><ins datetime="2009-06-16T15:14:36+00:00">Stage 1</ins> système standard</li>
<li>Stage 2 compilateur adapté au besoin + base</li>
<li>Stage 3 Système adapté et utilisable</li>
</ul>
<h2>First</h2>
<p>/!\ Attention: vous pouvez tout péter !. Il est conseillé:</p>
<ul>
<li>de faire une sauvegarde. </li>
<li>d'avoir un accès à internet</li>
<li>un modem Ethernet si vous ne voulez pas avoir de problème avec l'Usb.</li>
<li>Savoir un minimum ce que vous faites</li>
</ul>
<h2>Le Boot</h2>
<p>Tout d'abord il faut booter sur un système minimal. Un liveCD Ubuntu peut largement faire l'affaire.<br />
Il faut ensuite récupérer le stage1<a href="http://www.gentoo.org/main/en/where.xml"> /x86/2008.0/stages/stage1-x86-2008.0.tar.bz2</a>...</p>
<ul>
<li>partitionnement des disques => cfdisk/fdisk ... ([vi pour les plus geek])</li>
<li>un mkfs.ext3, xfs ...</li>
<li>un petit bunzip/tar </li>
<li>une synchronisation des sources pour être à jour</li>
<li>chroot</li>
</ul>
<p>Et les portes du stage1 sont à vous.</p>
<h2>Ca compile</h2>
<p><a href="http://gcc.gnu.org/"><img src="http://lugm.org/wp-content/uploads/2009/06/engrenage.jpg" alt="engrenage" title="engrenage" width="232" height="198" class="alignleft size-full wp-image-57" /></a><br />
Le but de stage1 est de :</p>
<ul>
<li>compiler GCC pour compiler une Glibc clean.</li>
<li>Une fois que Glibc est adapté à votre machine... on recompile GCC et Glibc</li>
</ul>
<p>Il faut pour cela définir les paramètres de compilation dans le fichier make.conf.<br />
A coup de :</p>
<ul>
<li>CHOST="i686-pc-linux-gnu"</li>
<li>CFLAGS="-O2 -march=pentiumX -pipe -fomit-frame-pointer"</li>
<li>MAKEOPTS="-j5" (oui j'ai une grosse machine)</li>
<li>USE="toutes les options que vous souhaitez"</li>
</ul>
<p>Il faut supprimer l'option de c++ pour la première phase de compilation, et lancer le bootstrap.sh qui se charge de passer de <ins datetime="2009-06-16T15:14:36+00:00">stage1 </ins>à presque stage2 (il manquera les utilitaires systèmes).<br />
<code>export USE="nocpp"<br />
/usr/portage/scripts/bootstrap.sh<br />
unset USE<br />
</code></p>
<p>Tout dépend de votre machine, mais il faut compter le temps de téléchargement des sources + compilation. </p>
<p>Une fois que les briques de base sont toutes belles, il n'y a plus qu'a recompiler tout le reste et le monde sera à vous.<br />
Il ne faut pas oublier quelques éléments essentiels.</p>
<ul>
<li>emerge -e system</li>
<li>le kernel</li>
<li>iproute2</li>
<li>un boot loader</li>
<li>Fstab</li>
<li>X (dbus/hal)</li>
<li>emerge -e world</li>
</ul>
<p>Pour ceux qui veulent tenter, il y a des packages à masquer (man-pages) lors de la première installation. Je conseille aussi de rebooter juste après l'installation du kernel/boot loader.</p>
<h2>Stage 1 vs Stage 3</h2>
<p>Certains petits malins pensent que le stage1 est bien meilleur et plus rapide que le stage3. D'autres ne jurent que par le stage 3 (cf: <a href="http://badpenguins.com/gentoo-build-test/">http://badpenguins.com/gentoo-build-test</a>).</p>
<p>J'ai téléchargé environ 300Mo de sources au lieu de 697Mo de packages... pour un système adapté à ma machine. Mais personnellement, le plus important: rien ne vaut le plaisir et la satisfaction d'avoir fait marcher son OS depuis 0.</p>
<p>24h de compilation pour avoir un full système:<br />
<strong>Juste make it, or <a href="http://fr.wikipedia.org/wiki/Emerge">emerge</a> it ;</strong></p>
<p>Dominique Derrier</p>
<h3>Ref</h3>
<p>Choisir les Cflags: <a href="http://en.gentoo-wiki.com/wiki/Safe_Cflags">http://en.gentoo-wiki.com/wiki/Safe_Cflags</a><br />
Documentation <ins datetime="2009-06-16T15:14:36+00:00">Gentoo</ins>: <a href="http://www.gentoo.org/doc/en/handbook/">Handbook Gentoo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lugm.org/2009/06/16/hier-jai-compile-mon-os/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

