diff options
Diffstat (limited to 'build_tools/l7/larch0/docs/html/archin.html')
-rw-r--r-- | build_tools/l7/larch0/docs/html/archin.html | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/build_tools/l7/larch0/docs/html/archin.html b/build_tools/l7/larch0/docs/html/archin.html new file mode 100644 index 0000000..7673270 --- /dev/null +++ b/build_tools/l7/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</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/larch7.2/*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> |