summaryrefslogtreecommitdiffstats
path: root/build_tools/larch8/larch0/docs/html/archin.html
diff options
context:
space:
mode:
Diffstat (limited to 'build_tools/larch8/larch0/docs/html/archin.html')
-rw-r--r--build_tools/larch8/larch0/docs/html/archin.html241
1 files changed, 241 insertions, 0 deletions
diff --git a/build_tools/larch8/larch0/docs/html/archin.html b/build_tools/larch8/larch0/docs/html/archin.html
new file mode 100644
index 0000000..96f417e
--- /dev/null
+++ b/build_tools/larch8/larch0/docs/html/archin.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<html>
+<head>
+<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+<title>Installation of the base Arch system</title>
+<!-- (en) Add your meta data here -->
+
+<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/>
+<!--[if lte IE 7]>
+<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" />
+<![endif]-->
+</head>
+
+<body>
+<!-- skip link navigation -->
+<ul id="skiplinks">
+ <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li>
+</ul>
+
+<div class="page_margins">
+ <div class="page">
+ <div id="top"><div id="tm"></div></div>
+ <!-- begin: #col1 -->
+ <div id="col1" role="main">
+ <div id="col1_content">
+ <div id="header" role="banner">
+ <h1><span><em>live Arch Linux</em> builder</span></h1>
+ </div>
+
+ <!-- begin: #col3 navigation column -->
+ <div id="col3" role="complementary">
+ <div id="col3_content">
+ <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" />
+ <div class="vlist">
+ <ul>
+ <li><a href="index.html"><h6>Table Of Contents</h6></a></li>
+ <li><a href="larchify.html"><h6>Next:</h6>
+ <div class="indent1">Building the live system</div></a></li>
+ <li><a href="larch_quick.html"><h6>Previous:</h6>
+ <div class="indent1">Quick Start - GUI</div></a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <!-- end: #col3 -->
+
+<div class="larchdocs">
+<h2 id="pagetitle" level="1">Installation of the base <em>Arch</em> system</h2>
+
+<p>The <em>larch live</em> system will normally be built from a fresh
+(unmodified, unconfigured) <em>Arch</em> installation. The Installation stage,
+based on the 'larch-archin' command, handles the creation of this installation
+by downloading all the desired packages (if they are not already in the host's
+package cache) and installing them to an empty directory (by default
+'/home/larchbuild').
+</p>
+
+<p>Other approaches are possible, such as using an already existing system
+or building a fresh installation in some other way. In that case you can skip
+this page.
+</p>
+
+<p>By default the package cache on the build host will be used, so that only
+packages which have not already been downloaded will be fetched from the
+chosen mirror. But it is possible to select another cache location, which
+can also be on a remote machine, mounted using <em>sshfs</em> or <em>NFS</em>.
+</p>
+
+<p>This raw installation will not normally be modified by <em>larch</em>,
+so it can be reused, or even carefully experimented with. However, note
+that any changes you make to this installation manually will not be
+reflected in the profile, so it might be difficult to reproduce what you
+have done at a later time, or to revert the changes.
+If you want to configure your system, then the raw installation is probably
+not the best place for it, consider rather using the 'rootoverlay' directory
+in the profile. All files in this directory will 'overwrite' (well, 'overlay',
+actually) corresponding files in the base installation, by placing them
+in a higher layer in the <em>aufs</em> mount in the <em>live</em> system.
+This makes it very easy to collect your own customizations in a way that
+can be applied quickly to a future build.
+</p>
+
+<p>See <a href="gui_installation.html">GUI Tab: Installation</a> for
+details of the GUI for this process.
+</p>
+
+<h3><a name="pacman_conf"></a>'pacman.conf' and 'mirrorlist'</h3>
+
+<p>To make it a little easier to manage upstream changes to the default
+'pacman.conf', a separate file ('pacman.conf.repos') is used to specify
+the repositories to use (the bit in 'pacman.conf' after the options).
+There is a default version of this file in the <em>larch</em> package
+at 'data/pacman.conf.repos', and for most simple installations this is
+probably adequate, but if you need to change it you can place your own
+version in the profile.
+</p>
+<p>Note that this file does not use the standard format, but
+packs repository name and "server line" together on one line, separated
+by ':'. There is no way to supply more than one "server line". There
+are a couple of special 'codes', which <em>archin</em> will convert:
+ <ul>
+ <li>'*platform*' will be converted to 'i686' or 'x86_64' as
+ appropriate (according to the host).</li>
+ <li>'*default*' will be converted to the standard 'Include' entry.
+ This is normally 'Include = /etc/pacman.d/mirrorlist', but for
+ installation (only) this will be overridden if there is a 'mirrorlist'
+ file in the working directory - if neither exists, the fallback is
+ 'data/mirrorlist' within the <em>larch</em> base directory.
+ This latter file is not supplied in the 'larch' package,
+ as it is not intended for use on <em>Arch</em>
+ systems. When the 'larch-setup' script detects that no 'pacman'
+ command is available, it downloads the 'pacman-allin' package
+ and among the things that gets extracted from it is this
+ 'mirrorlist' file.
+ </li>
+ </ul>
+Here is an example of a 'pacman.conf.repos' file:
+</p>
+<pre>
+# Package repository entries for pacman.conf
+# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate.
+# '*default*' will be replaced by 'Include = /etc/pacman.d/mirrorlist'
+# (but for the installation: a 'mirrorlist' file in the working directory will
+# be preferred, or - if neither exists - then 'data/mirrorlist')
+
+# You can add your own custom repositories (anywhere).
+
+larch: Server = ftp://ftp.berlios.de/pub/larch/larch8/*platform*
+#testing: *default*
+core: *default*
+extra: *default*
+community: *default*
+</pre>
+
+<p>The top part of the complete 'pacman.conf' (the options) is taken from
+a normal default 'pacman.conf' supplied in the 'larch' package at
+'data/pacman.conf'.
+You can override this by placing your own version in the profile, as
+'pacman.conf.options' (note that any repositories you might specify in
+this file will be ignored). A further option is to specify a version of
+the file 'pacman.conf.repos' to be used only for the installation (not
+for the resulting <em>live</em> system. This is especially useful if
+you have a local package repository/mirror.
+</p>
+<p>The complete 'pacman.conf' file is generated by combining the header
+part and the repository part and is saved to a temporary location for
+the installation. After the installation is complete a final version of
+this file (that for the <em>live</em> system) is placed at
+the standard location within the installation, '/etc/pacman.conf'. Note
+that it is not placed in the overlay, but - as an exception to the rule -
+directly within the installation.
+</p>
+
+<h4>Usage example: The 'dummy' mirror</h4>
+<p>During testing I found it useful to work with stable repositories.
+I did this without creating a proper local mirror, but by creating a sort
+of 'dummy' mirror containing only the ****.db.tar.gz files, relying on
+the cache to supply the actual package files.
+(The script 'repos.sh' supplied with <em>larch</em> in the
+'scripts' directory can build these 'db' files from the current state of
+the pacman sync database on the host.)
+</p>
+
+<p>If you are running the commands on the console you can pass the path
+to a customized repository list file with the '-r' option. Remeber this
+file must be constructed as detailed above.
+</p>
+
+<h3><a name="Custom_packages"></a>Custom packages</h3>
+
+<p>It is possible to include your own 'custom' packages in the installation.
+Maybe ones you have compiled yourself, e.g. from the AUR, or modified versions
+(fixes or customizations) of standard packages. To do this you need to put
+your packages in a directory and run <strong>gen-repo</strong>, supplied with
+<em>larch</em> in the 'scripts' directory, on this directory (run it without
+arguments to get usage instructions). Then place an entry for this new
+repository in your 'pacman.conf.repos'.
+If your packages replace some in the existing repositories, your custom
+repository needs to come before those repositories in 'pacman.conf.repos'.
+Any packages you want installed now just need to be
+listed in <strong>addedpacks</strong>.
+</p>
+
+
+<h3><a name="package_selection"></a>Selection of packages to be installed</h3>
+
+<p>The (compulsory) profile file 'addedpacks' contains a
+list of packages
+(just the package names, as supplied to 'pacman -S') to be installed,
+one package name per line (empty lines and lines starting
+with '#' are ignored). Also names of package groups may be included in this
+file, to request installation of the whole group. If a group name is preceded
+by '*', individual packages belonging to the group can be excluded via the
+'vetopacks' file (see below) - without the '*' this exclusion
+is not possible. It is also possible to
+'include' other files by means of lines starting with '+' - this may be
+followed by the absolute or relative path to the file to be included.
+Package dependencies are handled by <em>pacman</em> automatically.
+</p>
+<p>The (optional) profile file 'vetopacks' allows packages to
+be excluded from the installation list. This can be useful if individual
+packages from a group should be excluded. However, note that inclusion of a
+package in this file does not guarantee that it will not be installed - the
+package is only removed from the installation list. If it is required by
+another package it will be installed anyway. It is also possible to
+'include' other files in the veto list using '+' lines.
+</p>
+<p>Certain 'required' and 'suggested' packages are included by
+default, these are in the file 'data/requiredpacks' in the 'larch' package.
+This file should generally not be edited, because an update of the 'larch'
+package will overwrite any changes. Packages listed in this file can be
+excluded by listing them in the profile 'vetopacks' file.
+The whole file can be overridden in 'addedpacks' by
+starting that with '!!!'. But only do that if you really know what you
+are doing.
+</p>
+
+</div>
+
+
+ <div class="topref"><a href="#top">Top</a></div>
+ </div>
+ <!-- begin: #footer -->
+ <div id="footer">
+ <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br />
+ Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and
+ <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a>
+ </div>
+ </div>
+ <!-- end: #footer -->
+ </div>
+ <!-- end: #col1 -->
+ <div id="bottom"><div id="bl"><div id="bm"></div></div></div>
+ </div>
+</div>
+<!-- full skiplink functionality in webkit browsers -->
+<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script>
+</body>
+</html>