Jump to: navigation, search


9 bytes added, 6 years ago
no edit summary
= Configuring Metro =
[[User:Drobbins|Daniel Robbins]] maintains [[Metro]], so it comes pre-configured to successfully build both [[Gentoo Linux]] and [[Funtoo Linux]] releases. Before reading farther, you might want to customize some basic settings like the number of concurrent jobs to fit your hardware's capabilities or the directory to use for produced stage archives. This is accomplished by editing <tt>/root/git/metro/etc/metro.conf</tt> which is the [[Metro]]'s master configuration file. The <tt>[path/mirror]</tt> section defines where [[Metro]] will look for things it needs and also dump things it creates. As initially configured, [[Metro]] is set up to build [[Funtoo Linux]] and [[Gentoo Linux]] stage tarballs and place them in the <tt>/home/mirror/linuxfuntoo</tt> directory:
[section path/mirror]
: /home/mirror/linuxfuntoo
If you want to change the location of your mirror on disk, then edit the <tt>/home/mirror/linuxfuntoo</tt> line (which defines the path/mirror variable) to point to another directory.
For the purpose of the following steps, set an environment variable:
# ##i##export METRO_MIRROR=/home/mirror/linuxfuntoo
= First stages build (local build) =
To get this all started, we need to bootstrap the process by downloading an initial seed stage3 to use for building and place it in its proper location in <tt>/home/mirror/linuxfuntoo</tt>, so that [[Metro]] can find it. We will also need to create some special &quot;control&quot; files in <tt>/home/mirror/linuxfuntoo</tt>, which will allow [[Metro]] to understand how it is supposed to proceed.
== Step 0: Optional Quick Copy of Portage Tree ==
At this point, you now have a new pentium4 stage3. If you'd like, you can reconfigure Metro to use the most recently-built pentium4 stage3 as a seed for any pentium4 builds. To do this, simply type:
<console> # ##i##echo &quot;local&quot; &gt; /home/mirror/linuxfuntoo/funtoo-current/x86-32bit/pentium4/.control/strategy/build</console>
Now, Metro will use the most recentpentium4 stage3 as a seed. The <tt>.control/remote</tt> files you created will be ignored by Metro, since it's no longer going to perform a remote build.
The steps we follow are similar to those we performed for a ''local build'' to set up our pentium4 directory for local build. However, note the differences. We didn't download a stage, because we are going to use the pentium4 stage to build a new Core_2 32bit stage. We also didn't create the <tt>.control/version/stage{1,3}</tt> files because Metro will create them for us after it successfully builds a new stage1 and stage3. We are still using a <tt>stage3</tt> seed strategy, but we've set the build strategy to <tt>remote</tt>, which means that we're going to use a seed stage that's not from this particular subdirectory. Where are we going to get it from? The <tt>.control/remote</tt> directory contains this information, and lets Metro know that it should look for its seed stage3 in the <tt>"${METRO_MIRROR}/home/mirror/linuxfuntoo/funtoo-current/x86-32bit/pentium4"</tt> directory. Which one will it grab? You guessed it -- the most recently built ''stage3'' (since our seed strategy was set to <tt>stage3</tt>) that has the version stamp of <tt>2010-12-24</tt>, as recorded in <tt>"${METRO_MIRROR}/funtoo-current/x86-32bit/pentium4/.control/version/stage3"</tt>. Now you can see how all those control files come together to direct Metro to do the right thing.
== Step 2: Building the Core_2 32bit stages ==
# ##i##echo &quot;local&quot; &gt; /home/mirror/linuxfuntoo/funtoo-current/x86-32bit/core2_32/.control/strategy/build

Navigation menu