diff options
Diffstat (limited to 'build_tools/larch8/larch0/docs/html')
34 files changed, 4555 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> diff --git a/build_tools/larch8/larch0/docs/html/css/larchdocs.css b/build_tools/larch8/larch0/docs/html/css/larchdocs.css new file mode 100644 index 0000000..cc8e6b7 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/larchdocs.css @@ -0,0 +1,13 @@ +@charset "UTF-8";
 +
 +/* import core styles | Basis-Stylesheets einbinden */
 +@import url(yaml/core/base.css);
 +@import url(yaml/screen/content_default.css);
 +
 +/* import screen layout | Screen-Layout einbinden */
 +@import url(screen/nav_vlist.css);
 +@import url(screen/basemod.css);
 +
 +/* import print layout | Druck-Layout einbinden */
 +@import url(yaml/print/print_100_draft.css);
 +
 diff --git a/build_tools/larch8/larch0/docs/html/css/screen/bark.jpg b/build_tools/larch8/larch0/docs/html/css/screen/bark.jpgBinary files differ new file mode 100644 index 0000000..5d5cc5b --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/bark.jpg diff --git a/build_tools/larch8/larch0/docs/html/css/screen/basemod.css b/build_tools/larch8/larch0/docs/html/css/screen/basemod.css new file mode 100644 index 0000000..84d49d5 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/basemod.css @@ -0,0 +1,162 @@ +@charset "UTF-8";
 +/* This uses YAML's basic containers, but in a highly customized way */
 +
 +@media screen, projection
 +{
 +  /**
 +   * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera
 +   * (de) Erzwingen vertikaler Scrollbalken in IE8, Firefox, Webkit & Opera
 +   *
 +   * @workaround
 +   * @affected IE8, FF, Webkit, Opera
 +   * @css-for all
 +   * @valid CSS3
 +   */
 +
 +  body { overflow-y: scroll; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Formatting YAML's  basic layout elements
 +   * (de) Gestaltung des YAML Basis-Layouts
 +   */
 +
 +  /* (en) Marginal areas & page background */
 +  /* (de) Randbereiche & Seitenhintergrund */
 +  body {background: #c55500 url(bark.jpg) repeat fixed;}
 +
 +  /* (en) Centering layout in old IE-versions */
 +  /* (de) Zentrierung des Layouts in alten IE-versionen */
 +  body { text-align: center; }
 +  .page_margins { text-align:left; margin: 20px auto; }
 +
 +  /* (en) Layout: width, background, borders */
 +  /* (de) Layout: Breite, Hintergrund, Rahmen */
 +  .page_margins {
 +    min-width: 640px; max-width: 70em;
 +  }
 +  .page {
 +    font-size: 125%;
 +    margin: 0 20px;
 +    background: url(top-left.png) no-repeat left top;
 +  }
 +
 +  #top {
 +    height: 20px;
 +    margin-left: 200px;
 +    background: url(top-right.png) top right no-repeat;
 +  }
 +  #tm { height: 100%; margin-right: 20px; background: #abf39c; }
 +
 +  #bottom {
 +    height: 20px;
 +    background: url(bottom-right.png) bottom right no-repeat;
 +  }
 +  #bl { height: 100%; background: url(bottom-left.png) bottom left no-repeat; }
 +  #bm { height: 100%; margin-left: 200px; margin-right: 20px; background: #abf39c; }
 +
 +
 +  /* (en) Designing main layout elements */
 +  /* (de) Gestaltung der Hauptelemente des Layouts */
 +
 +  #header {
 +    padding: 0 2em 1em 50px;
 +    border-bottom: 1px #45f202 solid;
 +    margin-bottom: 20px;
 +  }
 +  #header h1 {
 +    font-size:2.5em;
 +    letter-spacing:-1px;
 +    line-height:65%;
 +    color:#c55500;
 +  }
 +
 +  #footer { padding: 10px 20px 0 20px; }
 +  #footer-content {
 +    color:#886;
 +    padding: 10px 20px;
 +    border: 1px #c55500 solid;
 +    line-height: 1.5em;
 +  }
 +  #footer a { color: #888; font-weight: bold; }
 +  #footer a:focus { color: #D087C7; text-decoration: underline; }
 +  #footer a:hover,
 +  #footer a:active { color: #4D87C7; text-decoration: underline; }
 +
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Formatting content containers
 +   * (de) Formatierung der Inhalts-Container
 +   */
 +
 +  /* main column | Hauptspalte */
 +  #col1 {
 +    float: none;
 +    width: 100%;
 +    background: #abf39c url(green-gradient200.jpg) repeat-y;
 +  }
 +  #col1_content { padding: 0 20px; min-height: 400px; }
 +
 +  #col3 { width: 100%; margin: 0; }
 +  .vlist h6, .vlist .indent1 { display: inline; }
 +  .indent2 { float: right ; }
 +  .vlist { margin-top: 10px; width: 360px; }
 +  li h6 { font-weight: bold; }
 +  .indent1 { margin-left: 10px; }
 +  .level1 { font-size: 120%; }
 +  .level2 { font-size: 110%; }
 +  .rlink { font-size: 150%; color: #b04000; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Styling of layout specific elements
 +   * (de) Gestaltung layoutabhängiger Elemente
 +   */
 +
 +  li { margin-bottom: 3px; }
 +  h4 { font-weight: bold; }
 +  table { border-top: 2px solid #c55500; border-bottom: 2px solid #c55500; margin: 15px; }
 +  tbody td, tbody th { border: 1px solid #c55500; }
 +  .empty td { padding: 1px; }
 +
 +  .topref { padding: 20px 40px; }
 +  .topref a {
 +    font-weight: bold;
 +    padding: 10px;
 +    border-top: 3px solid #45f202;
 +    border-bottom: 3px solid #45f202;
 +  }
 +  .topref a:focus { background: #45f202; text-decoration: none; }
 +  .topref a:hover,
 +  .topref a:active { background: #e08000; text-decoration: none; }
 +
 +  pre { overflow: auto; background: #a0f090; }
 +  a, a:visited { color: #c55500 }
 +  a:hover, a:active { color: #003366 }
 +
 +/**
 +  * ------------------------------------------------------------------------------------------------- #
 +  *
 +  * Skiplinks
 +  *
 +  * (en) Visual styling for skiplink navigation
 +  * (de) Visuelle Gestaltung der Skiplink-Navigation
 +  *
 +  * @section content-skiplinks
 +  */
 +
 +  #skiplinks a.skip:focus,
 +  #skiplinks a.skip:active {
 +    color: #fff;
 +    background: #333;
 +    border-bottom: 1px #000 solid;
 +    padding: 10px 0;
 +    text-decoration:none;
 +  }
 + +}
 +
 diff --git a/build_tools/larch8/larch0/docs/html/css/screen/bottom-left.png b/build_tools/larch8/larch0/docs/html/css/screen/bottom-left.pngBinary files differ new file mode 100644 index 0000000..aad30da --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/bottom-left.png diff --git a/build_tools/larch8/larch0/docs/html/css/screen/bottom-right.png b/build_tools/larch8/larch0/docs/html/css/screen/bottom-right.pngBinary files differ new file mode 100644 index 0000000..2fb2fce --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/bottom-right.png diff --git a/build_tools/larch8/larch0/docs/html/css/screen/green-gradient200.jpg b/build_tools/larch8/larch0/docs/html/css/screen/green-gradient200.jpgBinary files differ new file mode 100644 index 0000000..5a5bacf --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/green-gradient200.jpg diff --git a/build_tools/larch8/larch0/docs/html/css/screen/larch150x.png b/build_tools/larch8/larch0/docs/html/css/screen/larch150x.pngBinary files differ new file mode 100644 index 0000000..3c33343 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/larch150x.png diff --git a/build_tools/larch8/larch0/docs/html/css/screen/nav_vlist.css b/build_tools/larch8/larch0/docs/html/css/screen/nav_vlist.css new file mode 100644 index 0000000..d40631f --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/nav_vlist.css @@ -0,0 +1,74 @@ +@charset "UTF-8";
 +/**
 + * Slightly modified from:
 + *
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) Vertical list navigation "vlist"
 + * (de) Vertikale Navigationsliste "vlist"
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision:392 $
 + * @lastmodified    $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
 + */
 +
 +@media all
 +{
 +  .vlist { +    overflow:hidden;
 +    margin:0 0 1.5em 0;
 +    border-top:4px #45f202 solid;
 +    border-bottom:2px #45f202 solid;
 +  }
 +
 +  .vlist ul {
 +    margin:0;
 +    padding:0;
 +  }
 +
 +  .vlist li {
 +    float:left; /* LTR */
 +    width:100%;
 +    margin:0;
 +    padding:0;
 +  }
 +
 +  .vlist a,
 +  .vlist strong,
 +  .vlist span {
 +    display:block;
 +    padding:3px 0px 3px 10%;
 +    text-decoration:none;
 +    border-bottom:2px #45f202 solid;
 +  }
 +
 +  .vlist a,
 +  .vlist a:visited {
 +    color:#444;
 +  }
 +
 +  .vlist li span {
 +    display:block;
 +    font-weight:bold;
 +    border-bottom:2px #45f202 solid;
 +  }
 +
 +  /* active list element */
 +  .vlist li.active {
 +    color:#fff;
 +    background-color:#800;
 +    font-weight:bold;
 +  }
 +
 +  /* Level 1 */
 +  .vlist li a { padding-left: 15px; }
 +  .vlist li a:focus { background-color:#45f202; }
 +  .vlist li a:hover,
 +  .vlist li a:active { background-color:#e08000; color:#fff; }
 +
 +}
 diff --git a/build_tools/larch8/larch0/docs/html/css/screen/top-left.png b/build_tools/larch8/larch0/docs/html/css/screen/top-left.pngBinary files differ new file mode 100644 index 0000000..2a66a57 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/top-left.png diff --git a/build_tools/larch8/larch0/docs/html/css/screen/top-right.png b/build_tools/larch8/larch0/docs/html/css/screen/top-right.pngBinary files differ new file mode 100644 index 0000000..c61ad6e --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/screen/top-right.png diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/core/base.css b/build_tools/larch8/larch0/docs/html/css/yaml/core/base.css new file mode 100644 index 0000000..3619374 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/core/base.css @@ -0,0 +1,277 @@ +@charset "UTF-8";
 +/**
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) YAML core stylesheet
 + * (de) YAML Basis-Stylesheet
 + *
 + * Don't make any changes in this file!
 + * Your changes should be placed in any css-file in your own stylesheet folder.
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision:426 $
 + * @lastmodified    $Date:2009-10-21 21:12:11 +0200 (Mi, 21. Okt 2009) $
 + */
 +
 +@media all
 +{
 + /**
 +  * @section browser reset
 +  * @see     http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
 +  */
 +
 +  /* (en) Global reset of paddings and margins for all HTML elements */
 +  /* (de) Globales Zurücksetzen der Innen- und Außenabstände für alle HTML-Elemente */
 +  * { margin:0; padding:0; }
 +
 +  /* (en) Correction:margin/padding reset caused too small select boxes. */
 +  /* (de) Korrektur:Das Zurücksetzen der Abstände verursacht zu kleine Selectboxen. */
 +  option { padding-left:0.4em; } /* LTR */
 +  select { padding:1px; }
 +
 + /**
 +  * (en) Global fix of the Italics bugs in IE 5.x and IE 6
 +  * (de) Globale Korrektur des Italics Bugs des IE 5.x und IE 6
 +  *
 +  * @bugfix
 +  * @affected   IE 5.x/Win, IE6
 +  * @css-for    IE 5.x/Win, IE6
 +  * @valid      yes
 +  */
 +  * html body * { overflow:visible; }
 +  * html iframe, * html frame { overflow:auto; }
 +  * html frameset { overflow:hidden; }
 +
 +  body {
 +    /* (en) Fix for rounding errors when scaling font sizes in older versions of Opera browser */
 +    /* (de) Beseitigung von Rundungsfehler beim Skalieren von Schriftgrößen in älteren Opera Versionen */
 +    font-size:100.01%;
 +
 +    /* (en) Standard values for colors and text alignment */
 +    /* (de) Vorgabe der Standardfarben und Textausrichtung */
 +    background:#fff;
 +    color:#000;
 +    text-align:left; /* LTR */
 +  }
 +
 +  /* (en) avoid visible outlines on DIV containers in Webkit browsers */
 +  /* (de) Vermeidung sichtbarer Outline-Rahmen in Webkit-Browsern */
 +  div { outline:0 none; }
 +
 +  /* (en) Clear borders for <fieldset> and <img> elements */
 +  /* (de) Rahmen für <fieldset> und <img> Elemente löschen */
 +  fieldset, img { border:0 solid; }
 +
 +  /* (en) new standard values for lists, blockquote and cite */
 +  /* (de) Neue Standardwerte für Listen & Zitate */
 +  ul, ol, dl { margin:0 0 1em 1em; } /* LTR */
 +  li {
 +    line-height:1.5em;
 +    margin-left:0.8em; /* LTR */
 +  }
 +
 +  dt { font-weight:bold; }
 +  dd { margin:0 0 1em 0.8em; } /* LTR */
 +
 +  blockquote { margin:0 0 1em 0.8em; } /* LTR */
 +
 +  blockquote:before, blockquote:after,
 +  q:before, q:after { content:""; }
 +
 + /*------------------------------------------------------------------------------------------------------*/
 +
 + /**
 +  * @section clearing methods
 +  * @see     http://yaml.de/en/documentation/basics/general.html
 +  */
 +
 +  /* (en) clearfix method for clearing floats */
 +  /* (de) Clearfix-Methode zum Clearen der Float-Umgebungen */
 +  .clearfix:after {
 +    clear:both;
 +    content:".";
 +    display:block;
 +    font-size:0;
 +    height:0;
 +    visibility:hidden;
 +  }
 +
 +  /* (en) essential for Safari browser !! */
 +  /* (de) Diese Angabe benötigt der Safari-Browser zwingend !! */
 +  .clearfix { display:block; }
 +
 +  /* (en) overflow method for clearing floats */
 +  /* (de) Overflow-Methode zum Clearen der Float-Umgebungen */
 +  .floatbox { overflow:hidden; }
 +
 +  /* (en) IE-Clearing:Only used in Internet Explorer, switched on in iehacks.css */
 +  /* (de) IE-Clearing:Benötigt nur der Internet Explorer und über iehacks.css zugeschaltet */
 +  #ie_clearing { display:none; }
 +
 + /*------------------------------------------------------------------------------------------------------*/
 +
 + /**
 +  * @section hidden elements | Versteckte Elemente
 +  * @see     http://www.yaml.de/en/documentation/basics/skip-links.html
 +  *
 +  * (en) skip links and hidden content
 +  * (de) Skip-Links und versteckte Inhalte
 +  */
 +
 +  /* (en) classes for invisible elements in the base layout */
 +  /* (de) Klassen für unsichtbare Elemente im Basislayout */
 +  .skip, .hideme, .print {
 +    position:absolute;
 +    top:-32768px;
 +    left:-32768px; /* LTR */
 +  }
 +
 +  /* (en) make skip links visible when using tab navigation */
 +  /* (de) Skip-Links für Tab-Navigation sichtbar schalten */
 +  .skip:focus, .skip:active {
 +    position:static;
 +    top:0;
 +    left:0;
 +  }
 +
 +  /* skiplinks:technical setup */
 +  #skiplinks { 
 +    position:absolute;
 +    top:0px; 
 +    left:-32768px; 
 +    z-index:1000; 
 +    width:100%;
 +    margin:0; 
 +    padding:0; 
 +    list-style-type:none;   
 +  }
 +  
 +  #skiplinks a.skip:focus,
 +  #skiplinks a.skip:active {
 +    left:32768px; 
 +    outline:0 none;
 +    position:absolute; 
 +    width:100%;
 +  }  
 +}
 +
 +@media screen, projection
 +{
 +
 + /**
 +  * @section base layout | Basis Layout
 +  * @see     http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
 +  *
 +  * |-------------------------------|
 +  * | #header                       |
 +  * |-------------------------------|
 +  * | #col1   | #col3     | #col2   |
 +  * | 200 px  | flexible  | 200px   |
 +  * |-------------------------------|
 +  * | #footer                       |
 +  * |-------------------------------|
 +  */
 +
 +  #header { position:relative; }
 +
 +  /* (en) Text Alignment for #topnav content */
 +  /* (de) Textausrichtung für #topnav Inhalte */
 +  #topnav { text-align:right; }  /* LTR */
 +
 +  /* (en) Absolute positioning only within #header */
 +  /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
 +  #header #topnav {
 +    position:absolute;
 +    top:10px;
 +    right:10px; /* LTR */
 +  }
 +
 +  /* (en) Backup for correct positioning */
 +  /* (de) Absicherung korrekte Positionierung */
 +  #header, #nav, #main, #footer { clear:both; }
 +
 +  #col1 { float:left; width:200px; }
 +  #col2 { float:right; width:200px; }
 +  #col3 { width:auto; margin:0 200px; }
 +
 +  /* (en) Preparation for absolute positioning within content columns */
 +  /* (de) Vorbereitung für absolute Positionierungen innerhalb der Inhaltsspalten */
 +  #col1_content, #col2_content, #col3_content { position:relative; }
 +
 + /*------------------------------------------------------------------------------------------------------*/
 +
 + /**
 +  * @section subtemplates
 +  * @see     http://www.yaml.de/en/documentation/practice/subtemplates.html
 +  */
 +  .subcolumns { width:100%; overflow:hidden; }
 +
 +  /* (en) alternative class for optional support of old Mozilla/Netscape browers */
 +  /* (de) Alternative Klasse zur optionalen Unterstützung alter Mozilla/Netscape-Brower */
 +  .subcolumns_oldgecko { width:100%; float:left; }
 +
 +  .c20l, .c25l, .c33l, .c40l, .c38l, .c50l, .c60l, .c62l, .c66l, .c75l, .c80l {float:left; }
 +  .c20r, .c25r, .c33r, .c40r, .c38r, .c50r, .c60r, .c66r, .c62r, .c75r, .c80r {float:right; margin-left:-5px; }
 +
 +  .c20l, .c20r { width:20%; }
 +  .c40l, .c40r { width:40%; }
 +  .c60l, .c60r { width:60%; }
 +  .c80l, .c80r { width:80%; }
 +  .c25l, .c25r { width:25%; }
 +  .c33l, .c33r { width:33.333%; }
 +  .c50l, .c50r { width:50%; }
 +  .c66l, .c66r { width:66.666%; }
 +  .c75l, .c75r { width:75%; }
 +  .c38l, .c38r { width:38.2%; }
 +  .c62l, .c62r { width:61.8%; }
 +
 +  .subc  { padding:0 0.5em; }
 +  .subcl { padding:0 1em 0 0; }
 +  .subcr { padding:0 0 0 1em; }
 +
 +  .equalize, .equalize .subcolumns { overflow:visible; display:table; table-layout:fixed; }
 +
 +  .equalize > div {
 +    display:table-cell;
 +    float:none; 
 +    margin:0; 
 +    overflow:hidden;
 +    vertical-align:top;
 +  }
 +}
 +
 +@media print
 +{
 + /**
 +  * (en) float clearing for .floatbox and subtemplates. Uses display:table to avoid bugs in FF & IE
 +  * (de) Float Clearing für .floatbox und die Subtemplates. Verwendet display:table, um Darstellungsprobleme im FF & IE zu vermeiden
 +  *
 +  * @bugfix
 +  * @since     3.0
 +  * @affected  FF2.0, FF3.0, IE7
 +  * @css-for   all browsers
 +  * @valid     yes
 +  */
 +
 +  .subcolumns > div,
 +  .floatbox { 
 +    display:table;
 +    overflow:visible; 
 +  } 
 +
 +  /* (en) make .print class visible */
 +  /* (de) .print-Klasse sichtbar schalten */
 +  .print { 
 +    position:static; 
 +    left:0;
 +  }
 +
 +  /* (en) generic class to hide elements for print */
 +  /* (de) Allgemeine CSS Klasse, um beliebige Elemente in der Druckausgabe auszublenden */
 +  .noprint { display:none !important; }
 +}
 diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/core/iehacks.css b/build_tools/larch8/larch0/docs/html/css/yaml/core/iehacks.css new file mode 100644 index 0000000..e56d2b7 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/core/iehacks.css @@ -0,0 +1,355 @@ +@charset "UTF-8";
 +/**
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs
 + * (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win
 + *
 + * Don't make any changes in this file!
 + * Your changes should be added to a separate patch-file.
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision:426 $
 + * @lastmodified    $Date:2009-10-21 21:12:11 +0200 (Mi, 21. Okt 2009) $
 + * @appdef yaml
 + */
 +
 +@media all
 +{
 +  /**
 +   * (en) Debugging:When you see a green background, IE is getting this stylesheet
 +   * (de) Fehlersuche:Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde
 +   *
 +   * @debug
 +   * @app-yaml-default disabled
 +   */
 +
 +  /* body { background:#0f0; background-image:none; }  */
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) No need to force scrollbars in older IE's - it even makes problems in IE6 when set
 +   * (de) Scrollbar-Fix wird in alten IE's nicht benötigt, zudem verursacht der Fix Probleme im IE6
 +   *
 +   * @workaround
 +   * @affected   IE6, IE7
 +   * @css-for    IE6, IE7
 +   * @valid      no
 +   */
 +
 +  body { o\verflow:visible; }
 +  
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements
 +   * (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      no
 +   */
 +
 +  * html textarea { overflow:scroll; overflow-x:hidden; }
 +  * html input { overflow:hidden; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Stability fixes with 'position:relative'
 +   * (de) Stabilitätsverbesserungen durch 'position:relative'
 +   *
 +   * Essential for correct scaling in IE7 (body). IE5 must get static positioned body instead.
 +   * Helpful to fix several possible problems in older IE versions (#main).
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +
 +  body,
 +  #main { position:relative; }
 +  * html body { position:static; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Clearfix Method for containing floats in IE
 +   * (de) Clearfix-Anpassung für diverse IE-Versionen
 +   *
 +   * @workaround
 +   * @see        http://www.456bereastreet.com/archive/200603/new_clearing_method_needed_for_ie7/#comment28
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +
 +  .clearfix { display:inline-block; }  /* ... especial for IE7 */
 +  .clearfix { display:block; }      /* ... für IE5,IE6,IE7 */
 +  * html .clearfix { height:1%; }   /* ... für IE5 + IE6/Win | hasLayout aktivieren */
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Adjustment of .floatbox class for IE
 +   * (de) Anpassung der .floatbox-Klasse für IE
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +
 +  .floatbox { width:100%; }
 +  
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Special class for oversized content element
 +   * (de) Spezielle Klasse für übergroße Inhaltselemente
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      yes
 +   */
 +
 +  .slidebox {
 +    position:relative;
 +    margin-right:-1000px;
 +    height:1%;
 +  }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en):Bugfix for partially displayed column separators
 +   * (de):Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      yes
 +   */
 +
 +  * html #col1,
 +  * html #col2,
 +  * html #col3 { position:relative; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Preventing several css bugs by forcing "hasLayout"
 +   * (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout"
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      no
 +   */
 +
 +  body { height:1%; }
 +  .page_margins, .page, #header, #nav, #main, #footer { zoom:1; }  /* IE6 & IE7    */
 +  * html .page_margins, * html .page { height:1%; hei\ght:auto; }  /* IE 5.x & IE6 | IE6 only */
 +  * html #header, * html #nav, * html #main, * html #footer { width:100%; wid\th:auto; }  /* IE 5.x & IE6 | IE6 only */
 +
 +  /* trigger hasLayout to force containing content */
 +  .subc, .subcl, .subcr { height:1%; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * Disappearing List-Background Bug
 +   * @see        http://www.positioniseverything.net/explorer/ie-listbug.html
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      yes
 +   */
 +
 +  * html ul, * html ol, * html dl { position:relative; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * List-Numbering Bug
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +
 +  body ol li { display:list-item; }
 +
 +  /**
 +   * Form related bugfixes
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      no
 +   */
 +  fieldset, legend { position:relative; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear
 +   *      Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the
 +   *      longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed
 +   *      in YAML.
 +   *
 +   * (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear
 +   *      Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout
 +   *      wenn gleichzeitig die linke Spalte die kürzeste und die rechte die längste ist. Im IE6 und IE7 lässt
 +   *      sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen.
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6, IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      no
 +   */
 +
 +  html #ie_clearing {
 +    /* (en) Only a small help for debugging */
 +    /* (de) Nur eine kleine Hilfe zur Fehlersuche */
 +    position:static;
 +
 +    /* (en) Make container visible in IE */
 +    /* (de) Container sichtbar machen im IE */
 +    display:block;
 +
 +    /* (en) No fix possible in IE5.x, normal clearing used instead */
 +    /* (de) Kein Fix im IE5.x möglich, daher normales Clearing */
 +    \clear:both;
 +
 +    /* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/
 +    /* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */
 +    width:100%;
 +    font-size:0px;
 +    margin:-2px 0 -1em 1px;
 +  }
 +
 +  * html #ie_clearing { margin:-2px 0 -1em 0; }
 +  #col3_content { margin-bottom:-2px; }
 +
 +  /* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */
 +  /* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */
 +  html { margin-right:1px; }
 +  * html { margin-right:0; }
 +
 +  /* (en) Bugfix:Essential for IE7 */
 +  /* (de) Bugfix:Notwendig im IE7 */
 +  #col3 { position:relative; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * IE/Win Guillotine Bug
 +   * @see        http://www.positioniseverything.net/explorer/guillotine.html
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      yes
 +   */
 +
 +  * html body a, * html body a:hover { background-color:transparent; }
 +
 +}
 +
 +@media screen, projection
 +{
 +  /**
 +   * (en) IE-Adjustments for content columns and subtemplates
 +   * (de) IE-Anpassung für Spaltencontainer und Subtemplates
 +   *
 +   * Doubled Float-Margin Bug
 +   * @see        http://positioniseverything.net/explorer/doubled-margin.html
 +   *
 +   * @bugfix
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +  #col1,  #col2 { display:inline; }
 +
 +  .c20l, .c25l, .c33l, .c38l, .c40l, .c50l, .c60l, .c62l, .c66l, .c75l, .c80l,
 +  .c20r, .c25r, .c33r, .c38r, .c40r, .c50r, .c60r, .c66r, .c62r, .c75r, .c80r { display:inline; }
 +
 +  /* Fix for:"Linking to anchors in elements within the containing block" Problem in IE5.x & IE 6.0 */
 +  * html .equalize, * html .equalize .subcolumns { overflow:visible; display:block; }
 +  .equalize, .equalize .subcolumns { overflow:hidden; display:block; }
 +
 +  /* transform CSS tables back into floats */
 +  .equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,
 +  .equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize .c50l,
 +  .equalize .c62l,.equalize .c66l,.equalize .c75l {
 +    float:left; display:inline;
 +    padding-bottom:32767px;
 +    margin-bottom:-32767px;
 +  }
 +  .equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,
 +  .equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,
 +  .equalize .c62r,.equalize .c66r,.equalize .c75r {
 +    float:right; margin-left:-5px; display:inline;
 +    padding-bottom:32767px;
 +    margin-bottom:-32767px;
 +  }
 +
 +  .no-ie-padding .c20l,.no-ie-padding .c40l,.no-ie-padding .c60l,.no-ie-padding .c80l,
 +  .no-ie-padding .c20r,.no-ie-padding .c40r,.no-ie-padding .c60r,.no-ie-padding .c80r,
 +  .no-ie-padding .c25l,.no-ie-padding .c33l,.no-ie-padding .c38l,.no-ie-padding .c50l,
 +  .no-ie-padding .c62l,.no-ie-padding .c66l,.no-ie-padding .c75l,
 +  .no-ie-padding .c25r,.no-ie-padding .c33r,.no-ie-padding .c38r,.no-ie-padding .c50r,
 +  .no-ie-padding .c62r,.no-ie-padding .c66r,.no-ie-padding .c75r {
 +    padding-bottom:0;
 +    margin-bottom:0;
 +  }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /**
 +   * Internet Explorer and the Expanding Box Problem
 +   * @see http://www.positioniseverything.net/explorer/expandingboxbug.html
 +   *
 +   * @workaround
 +   * @affected   IE 5.x/Win, IE6
 +   * @css-for    IE 5.x/Win, IE6
 +   * @valid      yes
 +   */
 +
 +  * html #col1_content,
 +  * html #col2_content,
 +  * html #col3_content { word-wrap:break-word; }
 +
 +  /* avoid growing widths */
 +  * html .subc,
 +  * html .subcl,
 +  * html .subcr { word-wrap:break-word; o\verflow:hidden; }
 +}
 +
 +@media print
 +{
 +  /**
 +   * (en) Avoid unneeded page breaks of #col3 content in print layout.
 +   * (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte #col3.
 +   *
 +   * @bugfix
 +   * @affected   IE7
 +   * @css-for    IE 5.x/Win, IE6, IE7
 +   * @valid      yes
 +   */
 +
 +  #col3 { height:1%; }
 +}
 diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js b/build_tools/larch8/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js new file mode 100644 index 0000000..29e70d4 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js @@ -0,0 +1,40 @@ +/**
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) Workaround for Webkit browser to fix focus problems when using skiplinks
 + * (de) Workaround für Webkit-Browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
 + *
 + * @note			inspired by Paul Ratcliffe's article 
 + *					http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision: 430 $
 + * @lastmodified    $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $
 + */
 + 
 +var is_webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
 +
 +if(is_webkit) 
 +{
 +	var i;
 +	var skiplinks = []
 +	
 +	if ( document.getElementsByClassName !== undefined) {
 +		skiplinks = document.getElementsByClassName('skip');
 +
 +		for (i=0; i<skiplinks.length; i++) {
 +			var target = skiplinks[i].href.substr(skiplinks[i].href.indexOf('#')+1);
 +			var targetElement = document.getElementById(target);
 +	
 +			targetElement.href = '#'+target;
 +			targetElement.setAttribute("tabindex", "0");
 +	
 +			skiplinks[i].setAttribute("onclick", "document.getElementById('"+target+"').focus();");
 +		}
 +	}	
 +}
\ No newline at end of file diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_base.css b/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_base.css new file mode 100644 index 0000000..a2013e8 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_base.css @@ -0,0 +1,6 @@ +@charset "UTF-8";
 +/* "Yet Another Multicolumn Layout" v 3.2 (c) by Dirk Jesse (http://www.yaml.de)
 +* $Revision: 430 $ $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $ */
 +@media all{*{margin:0;padding:0}option{padding-left:0.4em}select{padding:1px}* html body *{overflow:visible}* html iframe,* html frame{overflow:auto}* html frameset{overflow:hidden}body{font-size:100.01%;background:#fff;color:#000;text-align:left}div{outline:0 none}fieldset,img{border:0 solid}ul,ol,dl{margin:0 0 1em 1em}li{line-height:1.5em;margin-left:0.8em}dt{font-weight:bold}dd{margin:0 0 1em 0.8em}blockquote{margin:0 0 1em 0.8em}blockquote:before,blockquote:after,q:before,q:after{content:""}.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.clearfix{display:block}.floatbox{overflow:hidden}#ie_clearing{display:none}.skip,.hideme,.print{position:absolute;top:-32768px;left:-32768px}.skip:focus,.skip:active{position:static;top:0;left:0}#skiplinks{position:absolute;top:0px;left:-32768px;z-index:1000;width:100%;margin:0;padding:0;list-style-type:none}#skiplinks a.skip:focus,#skiplinks a.skip:active{left:32768px;outline:0 none;position:absolute;width:100%}}
 +@media screen,projection{#header{position:relative}#topnav{text-align:right}#header #topnav{position:absolute;top:10px;right:10px}#header,#nav,#main,#footer{clear:both}#col1{float:left;width:200px}#col2{float:right;width:200px}#col3{width:auto;margin:0 200px}#col1_content,#col2_content,#col3_content{position:relative}.subcolumns{width:100%;overflow:hidden}.subcolumns_oldgecko{width:100%;float:left}.c20l,.c25l,.c33l,.c40l,.c38l,.c50l,.c60l,.c62l,.c66l,.c75l,.c80l{float:left}.c20r,.c25r,.c33r,.c40r,.c38r,.c50r,.c60r,.c66r,.c62r,.c75r,.c80r{float:right;margin-left:-5px}.c20l,.c20r{width:20%}.c40l,.c40r{width:40%}.c60l,.c60r{width:60%}.c80l,.c80r{width:80%}.c25l,.c25r{width:25%}.c33l,.c33r{width:33.333%}.c50l,.c50r{width:50%}.c66l,.c66r{width:66.666%}.c75l,.c75r{width:75%}.c38l,.c38r{width:38.2%}.c62l,.c62r{width:61.8%}.subc{padding:0 0.5em}.subcl{padding:0 1em 0 0}.subcr{padding:0 0 0 1em}.equalize,.equalize .subcolumns{overflow:visible;display:table;table-layout:fixed}.equalize >div{display:table-cell;float:none;margin:0;overflow:hidden;vertical-align:top}}
 +@media print{.subcolumns >div,.floatbox{display:table;overflow:visible}.print{position:static;left:0}.noprint{display:none !important}}
\ No newline at end of file diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_iehacks.css b/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_iehacks.css new file mode 100644 index 0000000..9b480f3 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/core/slim_iehacks.css @@ -0,0 +1,6 @@ +@charset "UTF-8";
 +/* "Yet Another Multicolumn Layout" v3.2 (c) by Dirk Jesse (http://www.yaml.de)
 +* $Revision: 430 $ $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $ */
 +@media all{body{o\verflow:visible}* html textarea{overflow:scroll;overflow-x:hidden}* html input{overflow:hidden}body,#main{position:relative}* html body{position:static}.clearfix{display:inline-block}.clearfix{display:block}* html .clearfix{height:1%}.floatbox{width:100%}.slidebox{position:relative;margin-right:-1000px;height:1%}* html #col1,* html #col2,* html #col3{position:relative}body{height:1%}.page_margins,.page,#header,#nav,#main,#footer{zoom:1}* html .page_margins,* html .page{height:1%;hei\ght:auto}* html #header,* html #nav,* html #main,* html #footer{width:100%;wid\th:auto}.subc,.subcl,.subcr{height:1%}* html ul,* html ol,* html dl{position:relative}body ol li{display:list-item}fieldset,legend{position:relative}html #ie_clearing{position:static;display:block;\clear:both;width:100%;font-size:0px;margin:-2px 0 -1em 1px}* html #ie_clearing{margin:-2px 0 -1em 0}#col3_content{margin-bottom:-2px}html{margin-right:1px}* html{margin-right:0}#col3{position:relative}* html body a,* html body a:hover{background-color:transparent}}
 +@media screen,projection{#col1,#col2{display:inline}.c20l,.c25l,.c33l,.c38l,.c40l,.c50l,.c60l,.c62l,.c66l,.c75l,.c80l,.c20r,.c25r,.c33r,.c38r,.c40r,.c50r,.c60r,.c66r,.c62r,.c75r,.c80r{display:inline}* html .equalize,* html .equalize .subcolumns{overflow:visible;display:block}.equalize,.equalize .subcolumns{overflow:hidden;display:block}.equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,.equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize .c50l,.equalize .c62l,.equalize .c66l,.equalize .c75l{float:left;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,.equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,.equalize .c62r,.equalize .c66r,.equalize .c75r{float:right;margin-left:-5px;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.no-ie-padding .c20l,.no-ie-padding .c40l,.no-ie-padding .c60l,.no-ie-padding .c80l,.no-ie-padding .c20r,.no-ie-padding .c40r,.no-ie-padding .c60r,.no-ie-padding .c80r,.no-ie-padding .c25l,.no-ie-padding .c33l,.no-ie-padding .c38l,.no-ie-padding .c50l,.no-ie-padding .c62l,.no-ie-padding .c66l,.no-ie-padding .c75l,.no-ie-padding .c25r,.no-ie-padding .c33r,.no-ie-padding .c38r,.no-ie-padding .c50r,.no-ie-padding .c62r,.no-ie-padding .c66r,.no-ie-padding .c75r{padding-bottom:0;margin-bottom:0}* html #col1_content,* html #col2_content,* html #col3_content{word-wrap:break-word}* html .subc,* html .subcl,* html .subcr{word-wrap:break-word;o\verflow:hidden}}
 +@media print{#col3{height:1%}}
\ No newline at end of file diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/print/print_100_draft.css b/build_tools/larch8/larch0/docs/html/css/yaml/print/print_100_draft.css new file mode 100644 index 0000000..09b6867 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/print/print_100_draft.css @@ -0,0 +1,75 @@ +@charset "UTF-8";
 +/**
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) print stylesheet
 + * (de) Druck-Stylesheet
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision:392 $
 + * @lastmodified    $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
 + */
 +
 +@media print
 +{
 + /**
 +  * @section basic layout preparation
 +  * @see     http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
 +  */
 +
 +  /* (en) change font size unit to [pt] - avoiding problems with [px] unit in Gecko based browsers  */
 +  /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit Maßeinheit [px] in Gecko-basierten Browsern vermeiden */
 +  body { font-size:10pt; }
 +
 +  /* (en) Hide unneeded container of the screenlayout in print layout */
 +  /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */
 +  #topnav, #nav, #search { display:none; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /* (en) Avoid page breaks right after headings */
 +  /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */
 +  h1,h2,h3,h4,h5,h6 { page-break-after:avoid; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 + /**
 +  * @section column selection
 +  * (en) individually switch on/off any content column for printing
 +  * (de) (De)aktivierung der Contentspalten für den Ausdruck
 +  *
 +  * @see     http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
 +  */
 +
 +  #col1, #col1_content { float:none; width:100%; margin:0; padding:0; border:0; }
 +  #col2 { display:none; }
 +  #col3 { display:none; }
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /* (en) optional output of acronyms and abbreviations*/
 +  /* (de) optionale Ausgabe von Auszeichnung von Abkürzungen */
 +
 +  /*
 +    abbr[title]:after, 
 +    acronym[title]:after { content:'(' attr(title) ')'; }
 +  */
 +
 +  /*------------------------------------------------------------------------------------------------------*/
 +
 +  /* (en) optional URL output of hyperlinks in print layout */
 +  /* (de) optionale Ausgabe der URLs von Hyperlinks */
 +  /*
 +  a[href]:after {
 +    content:" <URL:"attr(href)">";
 +    color:#444;
 +    background:inherit;
 +    font-style:italic;
 +  }
 +  */
 +}
 diff --git a/build_tools/larch8/larch0/docs/html/css/yaml/screen/content_default.css b/build_tools/larch8/larch0/docs/html/css/yaml/screen/content_default.css new file mode 100644 index 0000000..f52c0e3 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/css/yaml/screen/content_default.css @@ -0,0 +1,221 @@ +@charset "UTF-8";
 +/**
 + * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
 + *
 + * (en) Uniform design of standard content elements
 + * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
 + *
 + * @copyright       Copyright 2005-2009, Dirk Jesse
 + * @license         CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
 + *                  YAML-C (http://www.yaml.de/en/license/license-conditions.html)
 + * @link            http://www.yaml.de
 + * @package         yaml
 + * @version         3.2
 + * @revision        $Revision:392 $
 + * @lastmodified    $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
 + * @appdef yaml
 + */
 +
 +@media all
 +{
 + /**
 +  * Fonts
 +  *
 +  * (en) global settings of font-families and font-sizes
 +  * (de) Globale Einstellungen für Zeichensatz und Schriftgrößen
 +  *
 +  * @section content-global-settings
 +  */
 +
 +  /* (en) reset font size for all elements to standard (16 Pixel) */
 +  /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
 +  html * { font-size:100.01%; }
 +
 + /**
 +  * (en) reset monospaced elements to font size 16px in all browsers
 +  * (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen
 +  *
 +  * @see: http://webkit.org/blog/67/strange-medium/
 +  */
 +
 +  textarea, pre, code, kbd, samp, var, tt {
 +    font-family:Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier;
 +  }
 +
 +  /* (en) base layout gets standard font size 12px */
 +  /* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
 +  body {
 +    font-family:Arial, Helvetica, sans-serif;
 +    font-size:75.00%;
 +    color:#444;
 +  }
 +
 +  /*--- Headings | Überschriften ------------------------------------------------------------------------*/
 +
 +  h1,h2,h3,h4,h5,h6 {
 +    font-family:"Times New Roman", Times, serif;
 +    font-weight:normal;
 +    color:#222;
 +    margin:0 0 0.25em 0;
 +  }
 +
 +  h1 { font-size:250%; }                       /* 30px */
 +  h2 { font-size:200%; }                       /* 24px */
 +  h3 { font-size:150%; }                       /* 18px */
 +  h4 { font-size:133.33%; }                    /* 16px */
 +  h5 { font-size:116.67%; }                    /* 14px */
 +  h6 { font-size:116.67%; }                    /* 14px */
 +
 +  /* --- Lists | Listen  -------------------------------------------------------------------------------- */
 +
 +  ul, ol, dl { line-height:1.5em; margin:0 0 1em 1em; }
 +  ul { list-style-type:disc; }
 +  ul ul { list-style-type:circle; margin-bottom:0; }
 +
 +  ol { list-style-type:decimal; }
 +  ol ol { list-style-type:lower-latin; margin-bottom:0; }
 +
 +  li { margin-left:0.8em; line-height:1.5em; }
 +
 +  dt { font-weight:bold; }
 +  dd { margin:0 0 1em 0.8em; }
 +
 +  /* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */
 +
 +  p { line-height:1.5em; margin:0 0 1em 0; }
 +
 +  blockquote, cite, q {
 +    font-family:Georgia, "Times New Roman", Times, serif;
 +    font-style:italic;
 +  }
 +  blockquote { margin:0 0 1em 1.6em; color:#666; }
 +
 +  strong,b { font-weight:bold; }
 +  em,i { font-style:italic; }
 +
 +  big { font-size:116.667%; }
 +  small { font-size:91.667%; }
 + 
 +  pre { line-height:1.5em; margin:0 0 1em 0; }
 +  pre, code, kbd, tt, samp, var { font-size:100%; }
 +  pre, code { color:#800; }
 +  kbd, samp, var, tt { color:#666; font-weight:bold; }
 +  var, dfn { font-style:italic; }
 +
 +  acronym, abbr {
 +    border-bottom:1px #aaa dotted;
 +    font-variant:small-caps;
 +    letter-spacing:.07em;
 +    cursor:help;
 +  }
 +
 +  sub, sup { font-size:91.6667%; line-height:0; }
 +
 +  hr {
 +    color:#fff;
 +    background:transparent;
 +    margin:0 0 0.5em 0;
 +    padding:0 0 0.5em 0;
 +    border:0;
 +    border-bottom:1px #eee solid;
 +  }
 +
 +  /*--- Links ----------------------------------------------------------------------------------------- */
 +
 +  a { color:#4D87C7; background:transparent; text-decoration:none; }
 +  a:visited  { color:#036; }
 +
 +  a:focus,
 +  a:hover,
 +  a:active { color:#182E7A; text-decoration:underline; }
 +
 +  /* --- images (with optional captions) | Bilder (mit optionaler Bildunterschrift) ------------------ */
 +
 +  p.icaption_left { float:left; display:inline; margin:0 1em 0.15em 0; }
 +  p.icaption_right { float:right; display:inline; margin:0 0 0.15em 1em; }
 +
 +  p.icaption_left img,
 +  p.icaption_right img { padding:0; border:1px #888 solid; }
 +
 +  p.icaption_left strong,
 +  p.icaption_right strong { display:block; overflow:hidden; margin-top:2px; padding:0.3em 0.5em; background:#eee; font-weight:normal; font-size:91.667%; }
 +
 + /**
 +  * ------------------------------------------------------------------------------------------------- #
 +  *
 +  * Generic Content Classes
 +  *
 +  * (en) standard classes for positioning and highlighting
 +  * (de) Standardklassen zur Positionierung und Hervorhebung
 +  *
 +  * @section content-generic-classes
 +  */
 +
 +  .highlight { color:#c30; }
 +  .dimmed { color:#888; }
 +
 +  .info { background:#f8f8f8; color:#666; padding:10px; margin-bottom:0.5em; font-size:91.7%; }
 +
 +  .note { background:#efe; color:#040; border:2px #484 solid; padding:10px; margin-bottom:1em; }
 +  .important { background:#ffe; color:#440; border:2px #884 solid; padding:10px; margin-bottom:1em; }
 +  .warning { background:#fee; color:#400; border:2px #844 solid; padding:10px; margin-bottom:1em; }
 +
 +  .float_left { float:left; display:inline; margin-right:1em; margin-bottom:0.15em; }
 +  .float_right { float:right; display:inline; margin-left:1em; margin-bottom:0.15em; }
 +  .center { display:block; text-align:center; margin:0.5em auto; }
 +
 + /**
 +  * ------------------------------------------------------------------------------------------------- #
 +  *
 +  * Tables | Tabellen
 +  *
 +  * (en) Generic classes for table-width and design definition
 +  * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
 +  *
 +  * @section content-tables
 +  */
 +
 +  table { width:auto; border-collapse:collapse; margin-bottom:0.5em; border-top:2px #888 solid; border-bottom:2px #888 solid; }
 +  table caption { font-variant:small-caps; }
 +  table.full { width:100%; }
 +  table.fixed { table-layout:fixed; }
 +
 +  th,td { padding:0.5em; }
 +  thead th { color:#000; border-bottom:2px #800 solid; }
 +  tbody th { background:#e0e0e0; color:#333; }
 +  tbody th[scope="row"], tbody th.sub { background:#f0f0f0; }
 +
 +  tbody th { border-bottom:1px solid #fff; text-align:left; }
 +  tbody td { border-bottom:1px solid #eee; }
 +
 +  tbody tr:hover th[scope="row"],
 +  tbody tr:hover tbody th.sub { background:#f0e8e8; }
 +  tbody tr:hover td { background:#fff8f8; }
 +
 + /**
 +  * ------------------------------------------------------------------------------------------------- #
 +  *
 +  * Miscellaneous | Sonstiges
 +  *
 +  * @section content-misc
 +  */
 +
 + /**
 +  * (en) Emphasizing external Hyperlinks via CSS
 +  * (de) Hervorhebung externer Hyperlinks mit CSS
 +  *
 +  * @section             content-external-links
 +  * @app-yaml-default    disabled
 +  */
 +
 +  /*
 +  #main a[href^="http://www.my-domain.com"],
 +  #main a[href^="https://www.my-domain.com"]
 +  {
 +    padding-left:12px;
 +    background-image:url('your_image.gif');
 +    background-repeat:no-repeat;
 +    background-position:0 0.45em;
 +  }
 +  */
 +}
 diff --git a/build_tools/larch8/larch0/docs/html/gui_installation.html b/build_tools/larch8/larch0/docs/html/gui_installation.html new file mode 100644 index 0000000..348fd34 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/gui_installation.html @@ -0,0 +1,164 @@ +<!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>GUI Tab: Installation</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="gui_larchify.html"><h6>Next:</h6> +                    <div class="indent1">GUI Tab: Larchify</div></a></li> +                  <li><a href="gui_project_settings.html"><h6>Previous:</h6> +                    <div class="indent1">GUI Tab: Project Settings</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> + +<h2 id="pagetitle" level="2">GUI Tab: Installation</h2> + +<p>This tab mixes profile options and project options. Which packages +to install is a feature of the profile, as is the basic design of the +'pacman.conf' file. The exact location of the packages (repository +and cache paths) are more related to the build environment. +</p> + +<h3>Package selection</h3> + +<p>See <a href="archin.html#package_selection">here</a> for details of how +the list of packages to be installed is built up. The gui offers +convenient editing of the 'addedpacks' and 'vetopacks' files. +</p> + +<p><em>pacman</em> configuration is handled in separate parts. +'pacman.conf' is effectively split into two, the options part and the +repositories part can be edited separately, though the default options +should be alright for most purposes. This split might ease management +of updates to the structure of the file 'pacman.conf' with new pacman +releases. Default versions of both parts (for the options part a complete +pacman.conf can be used, the repositories will be stripped automatically) +are supplied in the 'data' directory of the 'larch' package. +A simplified format is used for the repository file, details can be +found <a href="archin.html#pacman_conf">here</a>. +</p> + +<p>Note that the <em>larch</em> repository must be available for building +the <em>live</em> system, i.e. it must be included in the 'pacman.conf' +used for the installation process. It is not strictly necessary for the +resulting <em>live</em> system to include this repository. See below for +further details. +</p> + +<h3>'mirrorlist'</h3> + +<p>It is possible to customize the 'mirrorlist' file used for installation. +This can be very convenient, because when building a <em>live</em> system +the build environment can be very different from the run-time environment. +For example, you might use local package repositories for building which +cannot possibly be available when the <em>live</em> system is used. +</p> + +<p>Customized versions of the 'mirrorlist' file are not regarded as +belonging to the profile, because they are build environment specific, so +they are stored in the project directory, which is made current when the +larch backend scripts are run. +</p> + +<h3>Special installation repositories and cache</h3> + +<p>Adjustments to the installation repository file and cache location are +treated as 'advanced' options, because in many cases the defaults will be +perfectly adequate. +</p> + +<h4>Using different mirrors/repositories for the installation</h4> + +<p>The second part of the 'pacman.conf' file, the repository list, can be +specified separately for the installation, via the frame +'Use project repository list'. For certain build environments this can be +very useful. +</p> + +<p>A further way of getting a distinct 'pacman.conf' in the resulting +<em>live</em> system is to put it in the profile's 'rootoverlay' directory +(in the '/etc' subdirectory, as usual). +</p> + +<h4>Package cache</h4> + +<p>Normally the host's standard package cache will be used for the +installation, but it is possible to use a non-standard location. I guess, +however, that this will not normally be necessary. +</p> + +<h3>Tweak installed packages</h3> + +<p>To perform small changes to the base installation, such as updating the +packages, or adding or removing the odd package, it may be convenient not +to have to do a complete reinstallation. To this end a set of buttons for +basic pacman operations are included (in an optional frame). Their use +should be fairly self-explanatory. During testing it can +be helpful to be able to make quick changes like this, but it is probably +not a good idea to use these facilities too freely. The installation will +differ from the specification in the profile (unless you immediately edit +the profile too), which may be no problem for one-offs, but if you ever +want to reuse the profile you may well lose track of what changes you have +made. +</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> diff --git a/build_tools/larch8/larch0/docs/html/gui_larchify.html b/build_tools/larch8/larch0/docs/html/gui_larchify.html new file mode 100644 index 0000000..4666cb3 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/gui_larchify.html @@ -0,0 +1,198 @@ +<!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>GUI Tab: Larchify</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="gui_medium.html"><h6>Next:</h6> +                    <div class="indent1">GUI Tab: Preparing the Medium</div></a></li> +                  <li><a href="gui_installation.html"><h6>Previous:</h6> +                    <div class="indent1">GUI Tab: Installation</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> + +<h2 id="pagetitle" level="2">GUI Tab: Larchify</h2> + +<p>You can repeat the 'larchify' command as often as you like, +to test various configurations or to build differently configured +<em>live</em> systems with the same underlying packages. This works +because the 'larchify' process itself does not change anything within the +installation - all the files it generates are placed in the 'overlay', +which (thanks to <em>aufs</em>) will just cover up any old versions of +the added files in the underlying installation. At present <em>larch</em> +does not support the 'deletion' of installation files, they can only be +overlayed by replacements. +</p> + +<h3>User accounts</h3> +<p>You can enter or edit user accounts to be added during the creation of +the <em>live</em> system. Any of the columns except the first (the login +name) may be empty. +</p> +<p>A password can be set for the new user by entering this (plain text - +I'm guessing this is alright in this situation ...). An empty password +field will allow passwordless logins (at least on the console). +</p> +<p>The primary group of a new user can be set in the 'Group' column. +When this is empty, it takes the <em>useradd</em> default, which is +defined by settings in '/etc/login.defs' and '/etc/default/useradd'. Note +that the default in <em>Arch Linux</em> is a group with the same name as +the user, this is set by 'USERGROUPS_ENAB yes' in 'etc/login.defs'. You can +override this by adding an 'expert' option, or by placing a modified version +of this file in the profile's 'rootoverlay' directory. +</p> +<p>By default the UID number will be chosen automatically, but a specific +number may be entered here. In <em>Arch Linux</em> the UIDs normally start +at 1000. +</p> +<p>The 'skel'-directory column determines how the user's home +directory will be initialized. The default (empty cell) is to copy the +contents from '/etc/skel'. The editor popup shows a list of the available +alternatives (folders within the profile beginning with 'skel_'). +</p> +<p>The additional groups to which this user should belong can also be +specified. Entries in this column are initialized to some default value +which should be adequate for normal use, but may well need tweaking. +This is a comma separated list <strong>without spaces</strong>. +</p> +<p>The final column allows you to pass further options to the system +'useradd' command used to add the new user. Do not use double-quotes in this +option string. Read 'man useradd' for more information about the available +options. +</p> + +<h4>Editing the table</h4> +<p>Click on a cell in the selected row to cause an editor popup to appear. +Clicking on an unselected row selects that row. +</p> + +<h3>The kernel</h3> +<p>By default the standard <em>Arch</em> kernel will be used in the +<em>live</em> system, but it is also possible to use some other kernel, so +long as it is suitably configured. In particular it must support +<em>squashfs</em> and <em>aufs</em>. If you are using a non-standard kernel +you need to tell <em>larchify</em> where it is (its file name within the +/boot directory - the default is 'vmlinuz26') and the name of its +<em>mkinitcpio</em> preset file (default 'kernel26'). These can be entered +in the corresponding places in the advanced options section of the gui.  +</p> + +<h3>The overlay</h3> +<p>Apart from the few customization options offered by the GUI directly, it +is possible to include any files in the <em>live</em> system by adding them +at the appropriate path within the overlay directory ('rootoverlay') of +the profile. This button opens a file browser on the 'rootoverlay' directory +of the current profile. +</p> + +<h3>Locales</h3> +<p>You can select the (glibc) locales supported by the <em>live</em> +system by editing the /etc/locale.gen file in the overlay. If there is +no such file initially it will be copied from the new installation's +(not the host's!) version. See (for example) the <em>Arch Wiki</em> for +more information about locales. Note that <em>larch</em> tries to leave +the locale files in the installation itself unchanged, new files are +placed in the overlay. +</p> + +<h3><em>Arch</em> configuration: /etc/rc.conf</h3> +<p>This is the central configuration file for an <em>Arch Linux</em> +system. You can edit it here (see for example the <em>Arch Wiki</em> for +more information about this file). +</p> + +<h3>Reuse existing system.sqf</h3> + +<p>After 'larchify' has been run, the base installation will have been +'squashed' into a compressed archive. Setting this option will prevent +the repetition of this compression (which is quite a lengthy process) on +the next run of 'larchify'. This should only be enabled if no changes +have been made to the base installation (otherwise these changes will +not be picked up). +</p> + +<h3>Advanced options - the defaults are normally fine</h3> + +<h4>mkinitcpio.conf</h4> +<p>Here you can edit the mkinitcpio.conf used for building the +<em>initramfs</em> for the <em>live</em> system. N.B. The details of +<em>mkinitcpio</em> handling in <em>larch</em> are a bit complicated, +so if you change something here please be careful - you are not editing +'/etc/mkinitcpio.conf', but rather 'etc/mkinitcpio.conf.larch' in the +'rootoverlay' directory of the profile (see +<a href="larchify.html#mkinitcpio">here</a> for further details). +Also, don't change the <em>larch</em> hooks. +</p> + +<h4>ssh-keys</h4> +<p>See <a href="larch_ssh.html#ssh_hostkeys">ssh host keys</a>. The default +is to generate these keys (if the <em>openssh</em> package is installed). +</p> + +<h4>Reuse existing locales</h4> + +<p>For people generating a lot of locales this can save a bit of time on +a rerun, so long as nothing significant (like <em>glibc</em>, or +/etc/locale.gen) has changed in the installation. +</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> diff --git a/build_tools/larch8/larch0/docs/html/gui_medium.html b/build_tools/larch8/larch0/docs/html/gui_medium.html new file mode 100644 index 0000000..516e526 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/gui_medium.html @@ -0,0 +1,221 @@ +<!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>GUI Tab: Preparing the Medium</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="gui_larchify.html"><h6>Previous:</h6> +                    <div class="indent1">GUI Tab: Larchify</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> + +<h2 id="pagetitle" level="2">GUI Tab: Preparing the Medium</h2> + +<p>This tab presents the various possibilities for installing the +<em>live</em> system that was built on the 'larchify' tab onto a bootable +device, which can be in <em>iso9660</em> form (to burn to a CD/DVD), or +a partition on a hard disk or flash storage device. A suitable bootloader +can also be installed. In addition the copying of a larch system from one +medium to another is supported and also the building of a boot-iso for +a USB device. +</p> + +<h3>Bootloader</h3> +<p>To keep things simple only the <em>syslinux</em> family of bootloaders is +supported. This allows booting from CD/DVD (<em>isolinux</em>) and partitions +formatted with 'ext2/3/4' or 'btrfs' (<em>extlinux</em>) or with 'vfat' +(<em>syslinux</em>). +</p> + +<h3><a name="bootlines"></a>Boot entries/options</h3> + +<p>The bootloader offers a selection of 'boot lines', so that +different systems, or various kernels in combination with various +boot options can be started. The file 'cd-root/boot/bootlines' in the profile +contains this information for the <em>larch live</em> system in a +form which can be converted automatically into bootloader specific +formats. This allows the boot menu entries to be supplied in the +profile in an easily parseable way which is independent of the actual bootloader +which is used in the end. The format should be pretty clear from +the default version. +</p> + +<p>The 'bootlines' file covers only the menu entries for the +<em>larch live</em> system. All other entries must be supplied in +a bootloader specific 'template' file. A button is supplied to edit +this, too. Note the '###LARCH' line, which specifies where the +information from the 'bootlines' file is to be included. +</p> + +<h3>The 'cd-root' directory</h3> +<p>The handling of this directory is described +<a href="profiles.html#cd-root">here</a>. It allows customisation of +files on the medium which are not directly used by <em>larch</em>, but +can be useful in certain circumstances. You could, for example, include +a package repository, or just about any data files needed by the +specific <em>live</em> system. The default settings might well be +adequate for many purposes. +There is a button to open a file browser on this directory +(within the current profile). +Note that only the '/boot' and '/larch' directories of the medium are +available for customisation, so in general any application data should +be placed in the '/larch' directory. +</p> + + +<h3>Choice of build medium</h3> +<p>The main choice is between a partition (on a hard-disk, USB-stick, etc.) +and an <em>iso</em> file (for writing to a CD/DVD). It is also possible to +build a 'boot-iso' (to burn to a CD) for an already prepared <em>larch</em> +USB-medium, to enable booting on older systems which don't support booting +from USB. +</p> + +<p>The destination can be changed by clicking the button - a menu appropriate +to the type of destination appears (note that for destination partitions +only unmounted ones will be shown). +</p> + +<h4>Build an <em>iso</em>, for CD or DVD</h4> +<p>Only limited customisation possibilities are offered here, you can +set the volume label ('-V' option to <em>mkisofs</em>). The boot CD is +discovered at boot by searching for '/larch/system.sqf'. +</p> + +<h4>Install to partitition</h4> + +<p>Here one must select the partition to install to - which must be +plugged in and not mounted (good luck to automounters!), and +also select how the <em>live initramfs</em> is to find the correct +partition. The available options are: + +<ul> +  <li>Partition: The device will be sought on the basis of its (current) +  device name  - such as /dev/sdb1. This is only suitable if you can be +  sure the device will always get the same name (which - especially with +  pluggable devices - is unlikely).</li> +  <li>UUID: Each device normally has a unique UUID, so this is a pretty +  reliable method. It's just that the UUIDs themselves are rather ungainly +  and unmemorable.</li> +  <li>LABEL: Booting on the basis of the device label can be quite reliable +  and quite readable, so it might be a good compromise. This is the +  recommended choice.</li> +  <li>Search (for larchboot): The <em>live initramfs</em> tests all +  visible devices until it finds one containing the file larch/larchboot. +  </li> +</ul> +</p> + +<p>The partition will be formatted with 'ext4', and you can choose whether +to use the journalling feature of this file-system. +No other file-system types are supported at present (though by formatting +exernally and using the 'Don't format' option it is possible to use +another one, so long as it is supported by <em>syslinux/extlinux</em>). +The option to install without formatting should only be used by people who +know what they are doing, in general it is <strong>not</strong> recommended. +Another option for experts is the suppression of the installation of the +bootloader to the Master Boot Record of the <em>live</em> medium. If you +don't install to the MBR, you will need to provide some other means of +booting the device, but in certain circumstances this could be a useful +option. +</p> + +<p>The option 'Not bootable via search' suppresses the generation of the +'larch/larchboot' file, so that the method of medium detection which +searches for this file will not work on the generated medium (this of +course makes no sense if the 'Search (for larchboot)' medium detection +method is selected for this medium). +</p> + +<h4>Create boot iso</h4> +<p>In this case the <em>source</em> medium - a partition containing the +<em>larch</em> system (presumably on a USB device) must be selected, +by clicking on the button in the source frame. Only unmounted partitions +with volume labels will be offered. A small <em>iso</em> file with just +the kernel and initramfs, plus the necessary bootloader files, will be +created. This is to cover cases where a machine cannot boot from USB +devices, but can boot from a CD. +Note that the USB device for which the CD is to be generated must be +plugged in, but not mounted. +</p> + +<h3>Volume label</h3> +<p>The maximum length of the label should be 16 characters, which is ok +for both 'iso' (CD/DVD) and for 'ext4'. +</p> + +<h3>Write the larch medium</h3> +<p>When enough information is available, this button will be enabled and +the generation can be started. +</p> + +<h3>Copying larch media</h3> + +<p>By choosing a medium (iso-file or labelled partition) in the source +frame, it is possible to copy this system to another medium. Certain +aspects of the destination device can be set just as in the initial +creation process. When a device or iso-file is selected as source a +simple validity check will be performed on it, a failure resulting in +the selection not being accepted. +</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> diff --git a/build_tools/larch8/larch0/docs/html/gui_project_settings.html b/build_tools/larch8/larch0/docs/html/gui_project_settings.html new file mode 100644 index 0000000..b36298c --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/gui_project_settings.html @@ -0,0 +1,166 @@ +<!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>GUI Tab: Project Settings</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="gui_installation.html"><h6>Next:</h6> +                    <div class="indent1">GUI Tab: Installation</div></a></li> +                  <li><a href="larch_gui.html"><h6>Previous:</h6> +                    <div class="indent1">Using the GUI</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="2">GUI Tab: Project Settings</h2> + +<h3>Projects</h3> + +<p>The <em>larch-8</em> GUI uses 'projects' to gather together a few +configuration options concerning the build environment. +Examples are the location of the <em>Arch</em> installation to be +'larchified' (converted to a <em>live</em> system), pacman options such +as package repository locations, which 'profile' (see below) to build with, +which boot loader to use, and so on. These are all options which don't +directly affect the design of the live system to be built. Most of the +remaining configuration options do concern the design and are specified +in the 'profile', for example the details of which packages to +install, and how to configure the installed system. +</p> + +<p>All project information is kept in a directory within '~/.config/larch' +whose name is derived from the project name by prefixing it with 'p_'. +The currently selected project is specified in the file +'~/.config/larch/app.conf' (the application configuration file), the +default entry being 'project = larch-0'. +</p> + +<p>A new named project can be created in the advanced options on the +Project-Settings tab of the GUI. For many purposes this will be unnecessary +and one can use the default project, 'larch-0' (this is why it is among the +advanced options). It is also possible to delete projects which are no longer +needed, and to set the path of the installation to be larchified. Note +that the GUI uses a different default installation path than the command +line scripts, '~/larch_build' (i.e. within the user's home directory). +Changing the installation path to an empty one ('') will return to the +default one. +</p> + +<h4>Installation Path</h4> + +<p>The installation that <em>larch</em> turns into a <em>live</em> system +need not be on a separate partition, it can be placed anywhere convenient. +The default installation directory ('~/larch_build') should normally be +acceptable, so long as there is enough free space on that partition. +Note that lots of space is necessary, nearly 4GB for a 700MB CD, for example. +The <em>live</em> system is built in the '.larch' sub-directory of the +installation directory; it must be within the installation to be converted +because some of the construction work is done using <em>chroot</em>. +</p> + +<p>The installation of the <em>Arch Linux</em> system to be larchified is +handled on the <a href="gui_installation.html">'Installation'</a> tab of +the GUI, but an already existing <em>Arch Linux</em> installation can also +be larchified: see <a href="larchify.html#existingSystem"> +Making a live CD from an existing Arch installation</a> +</p> + +<p>As the actual building work is done with admintrator permissions, the +installation path can actually be anywhere in the file-system - exercise +caution in entering the path, you could do some real damage to your system +if you make a mistake. Entering an empty string will cause the default +path to be chosen, to larchify the running system (not at all recommended!) +enter '/'. +</p> + +<h3>Profiles</h3> + +<p>A profile contains the information needed to build a particular flavour +of <em>(live) Arch Linux</em> - which packages to install, which locales, +system configuration in '/etc/rc.conf', boot entries, and so on. Apart +from a few basic configuration details (mainly those concerned specifically +with the special needs of a <em>live</em> system) for which <em>larch</em> +provides a special mechanism, all desired changes from the freshly +installed state should be placed in the directory 'rootoverlay' within +the profile directory. This allows easy rebuilding of a particularly +configured system, and it also allows various (differently configured) +<em>live</em> systems to be built from the same underlying installation, +without touching the installation itself. +</p> + +<p>All profile information is kept in the correspondingly named directory +within the directory '~/.config/larch/myprofiles'. +</p> + +<p>The profiles are shared by all projects, so if you change one that is +in use by another project, it will also be changed for that project. +Deletion or renaming of a profile that is in use by another project is +not permitted, but it is possible to 'clone' the current profile (copy it +within the 'myprofiles' directory to a directory with another name), +thus creating a new, 'unattached' version. +A new profile can be also be fetched from anywhere in the file-system, +using the browse button. +</p> + +<p>When browsing for, renaming, cloning or copying profiles it is possible +to overwrite existing profiles, but you will be prompted for confirmation. +</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> diff --git a/build_tools/larch8/larch0/docs/html/index.html b/build_tools/larch8/larch0/docs/html/index.html new file mode 100644 index 0000000..6fc3fb5 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/index.html @@ -0,0 +1,142 @@ +<!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>Table of Contents</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> +      </div> +      <!-- end: #col3 --> + +          <h2>Table of Contents</h2> +          <p>This documentation covers <em>larch</em> version 8.2.</p> + +<p>WARNING: The structure of the profiles has changed a little since larch-7.2, +so it would be best to start afresh - but actually only small changes would be +necessary, primarily to the /boot directory. +</p> +<p>[Last modified for larch-8.2.0, Oct 24, 2010] +</p> + + + +          <ul class="toc"> +            <li class="level1"><a href="larch_intro.html">Introduction</a></li> +            <ul> +              <li class="level2"><a href="larch_intro.html#live_system">What is a live system?</a></li> +              <li class="level2"><a href="larch_intro.html#requirements">Build system requirements</a></li> +              <li class="level2"><a href="larch_intro.html#cli_gui">Command line vs. GUI</a></li> +              <li class="level2"><a href="larch_intro.html#overview">Overview</a></li> +              <li class="level2"><a href="larch_intro.html#larch_installation">Installation of the larch build system</a></li> +              <li class="level2"><a href="larch_intro.html#larch_profiles">Profiles</a></li> +              <li class="level2"><a href="larch_intro.html#stages">The stages of the build process</a></li> +            </ul> +            <li class="level1"><a href="larch_features.html">Features</a></li> +            <li class="level1"><a href="larch_quick-console.html">Quick Start - Console</a></li> +            <li class="level1"><a href="larch_quick.html">Quick Start - GUI</a></li> +            <li class="level1"><a href="archin.html">Installation of the base Arch system</a></li> +            <ul> +              <li class="level2"><a href="archin.html#pacman_conf">'pacman.conf' and 'mirrorlist'</a></li> +              <li class="level2"><a href="archin.html#Custom_packages">Custom packages</a></li> +              <li class="level2"><a href="archin.html#package_selection">Selection of packages to be installed</a></li> +            </ul> +            <li class="level1"><a href="larchify.html">Building the live system</a></li> +            <ul> +              <li class="level2"><a href="larchify.html#mkinitcpio">mkinitcpio and the initramfs</a></li> +              <li class="level2"><a href="larchify.html#reuseSystem">Rebuilding using an existing 'system.sqf'</a></li> +              <li class="level2"><a href="larchify.html#existingSystem">Making a live system from an existing Arch installation</a></li> +              <li class="level2"><a href="larchify.html#kernel">Kernel and Initramfs</a></li> +            </ul> +            <li class="level1"><a href="medium.html">Preparing the larch live medium</a></li> +            <ul> +              <li class="level2"><a href="medium.html#overlay_persist">Data Persistence: The Writeable Overlay</a></li> +              <li class="level2"><a href="medium.html#media_scripts">Command-line Scripts</a></li> +              <li class="level2"><a href="medium.html#usb2bootiso">Building a boot CD for a USB-stick</a></li> +            </ul> +            <li class="level1"><a href="profiles.html">Profiles</a></li> +            <ul> +              <li class="level2"><a href="profiles.html#overlay">The overlay directory</a></li> +              <li class="level2"><a href="profiles.html#cd-root">The cd-root directory</a></li> +              <li class="level2"><a href="profiles.html#larch-dir">Special files in the cd-root/larch directory</a></li> +              <li class="level2"><a href="profiles.html#other-files">Other important files within a profile</a></li> +              <li class="level2"><a href="profiles.html#users">Adding user accounts</a></li> +            </ul> +            <li class="level1"><a href="larch_live_system.html">Structure of a larch live system</a></li> +            <ul> +              <li class="level2"><a href="larch_live_system.html#Squashfs_and_Unionfs">squashfs and aufs</a></li> +              <li class="level2"><a href="larch_live_system.html#bundles">'Bundles'</a></li> +              <li class="level2"><a href="larch_live_system.html#initramfs">initramfs and mkinitcpio</a></li> +              <li class="level2"><a href="larch_live_system.html#rc_files">/etc/rc.sysinit and /etc/rc.shutdown</a></li> +              <li class="level2"><a href="larch_live_system.html#fstab">/etc/fstab</a></li> +            </ul> +            <li class="level1"><a href="larch_ssh.html">ssh access</a></li> +            <ul> +              <li class="level2"><a href="larch_ssh.html#ssh_hostkeys">ssh host keys</a></li> +              <li class="level2"><a href="larch_ssh.html#ssh_x11">ssh and X11</a></li> +            </ul> +            <li class="level1"><a href="larch_running.html">Running a larch live system</a></li> +            <ul> +              <li class="level2"><a href="larch_running.html#bootparm">Boot parameters</a></li> +              <li class="level2"><a href="larch_running.html#config">Configuration</a></li> +              <li class="level2"><a href="larch_running.html#install">Installation to hard disk</a></li> +              <li class="level2"><a href="larch_running.html#install-live">'Live' installation to hard disk</a></li> +            </ul> +            <li class="level1"><a href="larch_gui.html">Using the GUI</a></li> +            <ul> +              <li class="level2"><a href="gui_project_settings.html">GUI Tab: Project Settings</a></li> +              <li class="level2"><a href="gui_installation.html">GUI Tab: Installation</a></li> +              <li class="level2"><a href="gui_larchify.html">GUI Tab: Larchify</a></li> +              <li class="level2"><a href="gui_medium.html">GUI Tab: Preparing the Medium</a></li> +              <ul> +                <li class="level3"><a href="gui_medium.html#bootlines">Boot entries/options</a></li> +              </ul> +          </ul> + +          <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> diff --git a/build_tools/larch8/larch0/docs/html/larch_features.html b/build_tools/larch8/larch0/docs/html/larch_features.html new file mode 100644 index 0000000..91d067e --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_features.html @@ -0,0 +1,183 @@ +<!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>Features</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="larch_quick-console.html"><h6>Next:</h6> +                    <div class="indent1">Quick Start - Console</div></a></li> +                  <li><a href="larch_intro.html"><h6>Previous:</h6> +                    <div class="indent1">Introduction</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Features</h2> + +<ul> + +  <li> +    <p>Built from standard <em>Arch Linux</em> packages</p> +  </li> + +  <li> +    <p>Only minimal changes made to enable functioning as a <em>live</em> +    system - it is essentially pure <em>Arch Linux</em></p> +  </li> + +  <li> +    <p>Can build <em>live</em> iso images (for CD or DVD), USB-sticks, +    hard disk partitions (sometimes called 'frugal' installation), etc.</p> +  </li> + +  <li> +    <p>Can also build from existing <em>Arch</em> installation</p> +  </li> + +  <li> +    <p>Can use standard <em>Arch</em> kernel ('kernel26'), no kernel build is +    necessary</p> +  </li> + +  <li> +    <p>Fully customisable package selection</p> +  </li> + +  <li> +    <p>Use of build 'profiles' to make system designs readily reproducible - all +    the configuration details are contained within a 'profile' directory</p> +  </li> + +  <li> +    <p>Uses isolinux/extlinux/syslinux bootloader</p> +  </li> + +  <li> +    <p>Automatic generation of /etc/fstab based on device detection; +    can also detect LVM volumes (when configured to do so)</p> +  </li> + +  <li> +    <p>Does not require an <em>Arch Linux</em> system to build it, any modern +    <em>GNU/Linux</em> system should suffice</p> +  </li> + +  <li> +    <p>Can be used to install an already configured <em>Arch Linux</em> to hard disk - +you can test, configure and reconfigure, and even update, before you install</p> +  </li> + +  <li> +    <p>Uses standard udev-based hardware detection</p> +  </li> + +  <li> +    <p>Based on squashfs, aufs, initramfs (using standard <em>Arch</em> +    mkinitcpio)</p> +  </li> + +  <li> +    <p>On a writeable medium (e.g. USB-stick) it is possible to support transparent +    data persistence between boots - also package updates (including the kernel) are +    possible</p> +  </li> + +  <li> +    <p>Easy copying between media, e.g. USB-stick -- CD/DVD</p> +  </li> + +  <li> +    <p>Full graphical system possible, e.g. with KDE, OpenOffice, GIMP, ... . +    Example profiles build xfce based systems</p> +  </li> + +  <li> +    <p>Using ssh it's possible to run this CD/USB-stick on a system without +  monitor/keyboard - remote installation and rescue is also possible</p> +  </li> + +  <li> +    <p>Optional use of existing swap partition ('swap' boot parameter)</p> +  </li> + +  <li> +    <p>Simple text configuration files</p> +  </li> + +  <li> +    <p>Extensive documentation</p> +  </li> + +  <li> +    <p><em>larch</em> can itself be run from a <em>live</em> medium, allowing easy +    'larchification' of existing installations</p> +  </li> + +  <li> +    <p>The basic functions are provided by command-line scripts (written in python), +    but a convenient GUI is also provided (using pyqt)</p> +  </li> + +  <li> +    <p>i18n-ready (using <em>gettext</em>)</p> +  </li> + +</ul> + +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_gui.html b/build_tools/larch8/larch0/docs/html/larch_gui.html new file mode 100644 index 0000000..89df032 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_gui.html @@ -0,0 +1,82 @@ +<!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>Using the GUI</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="gui_project_settings.html"><h6>Next:</h6> +                    <div class="indent1">GUI Tab: Project Settings</div></a></li> +                  <li><a href="larch_running.html"><h6>Previous:</h6> +                    <div class="indent1">Running a larch live system</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Using the GUI</h2> + +<p><em>larch-8</em> can be run from a graphical user interface. This presents +most of the main options in a clear way, avoiding cryptic command-line +mumbo-jumbo. +</p> + +<p>The <em>larch</em> documentation is available in the GUI, and there are +documentation pages for each of the tabs in the <em>larch</em> window. +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_intro.html b/build_tools/larch8/larch0/docs/html/larch_intro.html new file mode 100644 index 0000000..fb82fd6 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_intro.html @@ -0,0 +1,318 @@ +<!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>Introduction</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="larch_features.html"><h6>Next:</h6> +                    <div class="indent1">Features</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Introduction</h2> + +<blockquote> +<h3>Warning</h3> + +<p><em>Before we get started I should point out that most of the +<em>larch</em> scripts must be run as root in order to do their work, +and that much of this work consists of deleting and overwriting files +and even complete directories. If just one of these is wrong it might make +quite a mess of your system. That is quite normal for an installer, +but you will be using it on a system that +is already configured and this is somewhat risky - if you set up your +configuration wrong (or if you or I made some other mistake ...), you +might find you have destroyed some important data and/or your system +doesn't work any more. But that's life - <strong>Share and +Enjoy!</strong></em> +</p> +</blockquote> + +<p>Below is the general introductory blurb, but for those who want to jump +straight in and try it out I would suggest the following pages as possible +starting points: +<ul> +  <li><a href="larch_quick.html" >Quick Start with the GUI</a> +  </li> +  <li><a href="larch_quick-console.html" >Quick Start on the command line</a> +  </li> +</ul> +</p> + +<h3><a name="live_system"></a>What is a <em>live</em> system?</h3> + +<p><em>larch</em> is a collection of scripts designed around the creation and +use of custom <em>live</em> media (USB-stick/CD/DVD) of <em>Arch Linux</em>. +A <em>live</em> operating system is one which can reside on a removable medium +and boot on (ideally) any computer (of compatible architecture) into which +it is inserted. This can be useful in quite a variety of situations, for +example for testing purposes, for rescue purposes on machines whose +installed operating system is broken, or as an installation medium (many +linux distributions use <em>live</em> systems as installers). But there +are also situations where a permanently installed <em>live</em> system +can offer advantages over a normal installation, perhaps because of the +compression or because a <em>live</em> system is quite robust - it is +in essence read-only (though there are ways of supporting data persistence), +and can be quite insensitive to hardware changes. +</p> + +<p>The main features of the <em>larch</em> system are listed on the +<a href="larch_features.html">Features</a> page, among the most +significant might be the use of <a href="profiles.html">'profiles'</a> +to define the characteristics of the system to be built, the ability +to install the <em>live</em> system to various media and simple support +of data persistence. In addition it tries to remain as close +to standard Arch Linux as possible, using (by default) the standard +kernel, the same initscripts, <em>mkinitcpio</em> for building the +<em>initramfs</em>, etc. +</p> + +<h3><a name="requirements"></a>Build system requirements</h3> + +<p><em>larch</em> has been designed to work without extensive demands on +the build system. Although it has been developed under <em>Arch Linux</em>, +<em>larch</em> should run on other <em>GNU/Linux</em> systems. By means +of a sort of bootstrapping, the required software has been kept to a +minimum - many of the build functions are carried out on the newly +installed <em>Arch</em> system using <em>chroot</em>. +For example, you do not need support for <em>squashfs</em> or <em>aufs</em> +on the build system. But basic utilities which are normally available on any +<em>GNU/Linux</em> system, such as <em>bash</em>, <em>file</em>, +<em>find</em>, <em>blkid</em>, <em>mkisofs</em> - and +of course <em>chroot</em> - are assumed to be present (on <em>Arch</em> +that is packages 'bash', 'e2fsprogs', 'util-linux-ng', +'coreutils', 'findutils', 'file', 'cdrkit'). +</p> + +<p> The <em>larch</em> scripts are written mainly in python, but snippets +of bash crop up here and there. +In addition to python you must also have the pexpect module available +(in <em>Arch</em> the 'python-pexpect' package). The (optional) GUI +requires pyqt. I'm not sure what the oldest supported versions are, +development was done using python-2.6 and pyqt-4.7. +I think python-2.5 should be alright, and I have heard that +pyqt-4.4 probably doesn't work. +</p> + +<h3><a name="cli_gui"></a>Command line vs. GUI</h3> + +<p> +The basic functionality of <em>larch</em> is provided by command-line scripts, +but a graphical user interface is available, to make it easier to see what +options are available and to avoid the need to remember and not mistype +obscure command line parameters. In addition to providing a front-end to the +main scripts the GUI also provides help with organising the configuration +files. +</p> + +<h3><a name="overview"></a>Overview</h3> + +<p>One design aim was easy customisation, so that even relatively inexperienced +users could build personalised <em>live</em> systems on USB-stick or CD/DVD, +containing whatever +packages they wanted and with their own personal configurations. The resulting +medium should also be usable for installation purposes, so that one has a +customised <em>Arch Linux</em> installation/rescue medium. As the content can +be chosen freely, a comfortable working environment is possible - in contrast +to the rather Spartan standard <em>Arch</em> installation CD. However, note +that it is also possible, using the officially supported <em>archiso</em>, to +produce a customised <em>Arch Linux</em> installation/rescue medium (see the +corresponding <em>Arch wiki</em> page). The approach taken by the two projects +is somewhat different so do have a look at both. Note that at the latest since +version 7, <em>larch</em> makes no pretence of a 'KISS' approach. The code is, +I'm afraid, rather complicated. The resulting <em>live</em> system should, +however, be very close to a normal non-<em>live Arch Linux</em> system (as +far as the <em>squashfs + aufs</em> basis allows). +</p> + +<p><em>larch</em> offers a flexible approach to building your +<em>live</em> media. You can use 'profiles' to determine what gets installed, +and how it is configured. The advantage of this method is that all your +specifications are kept together in a folder which can be used to rebuild the +same or a similar system at a later date. Alternatively you can do a normal +<em>Arch Linux</em> installation (if there is such a thing!) and then make a +<em>live</em> medium from this (e.g. by running <em>larch</em> on it from a +<em>live</em> medium). +</p> + +<p>The use of <em>squashfs</em> in the resulting system means that the space +occupied will be significantly less than in the 'raw' state, normally about a +third of the original. As a result of this decision, it is not possible to write +directly to the system - which would seem to be quite a drawback, though in +some situations it can even be an advantage. The use of <em>aufs</em> (a +'unification' file-system, originally based on <em>unionfs</em>) allows the +resulting system to use a writeable 'overlay', so that the system behaves in +most respects like a normal installation. Of course if the boot medium is not +writeable (e.g. a CD) it may be difficult to provide a persistent writeable +layer (full persistence, which would include kernel updates, is completely +impossible in such a situation). In that case, or in general if it is +desired that there is no +persistence (e.g. for 'kiosk' type situations), <em>tmpfs</em> (a +memory-based file-system) can be used for the writeable layer. +</p> + +<p>If the <em>larch</em> system is used in the same way as a normal +<em>Arch</em> installation, including package updates, the space saving +effect of the <em>squashfs</em> archive can be lost (updates cannot +modify the base archive, so they occupy additional space). At some point +it would then be desirable to rebuild the system. This should be fairly +straightforward, but it is not really the envisioned use of <em>larch</em> +media. +</p> + +<p>Hardware detection is provided by the same <em>udev</em> approach as is +used in a standard <em>Arch Linux</em> system. +</p> + +<p>The <em>larch</em> project comprises several components. The scripts for +building a <em>larch live</em> medium are in the <em>larch</em> package, which +need not itself be installed in the <em>live</em> system, though it may be +useful (and is indeed installed by default). Scripts and data for the +<em>live</em> environment are provided in the +<em>larch-live</em> package, which must be installed in the <em>live</em> +system. There is also an optional installer (<em>larchin</em>) which can +install the <em>live</em> system to hard disk, providing a convenient way +to install a ready-configured <em>Arch Linux</em> system. +</p> + +<p>As with <em>Arch Linux</em> in general <em>larch</em> is not really +designed for beginners - you should know your way around a +<em>GNU/Linux</em> system (preferably <em>Arch</em>!), and be aware of the +dangers of running such programs, such as corrupting your whole system. +In any case, I hope that the +documentation will be clear enough to help anyone who wants to exploit +<em>larch</em> to the full (feedback is welcome!).</p> + +<p><b>Space Requirements:</b> +You need quite a lot of space to create a <em>live Arch Linux</em> system. +Bear in mind that a complete <em>Arch Linux</em> system is installed, then, +additionally, a compressed ('squashed') version is made, and then perhaps +even a CD image (<em>iso</em>). +Building for a USB-stick requires slightly less space, as the iso-image is +not built. If building a <em>live</em> version of an existing +<em>Arch Linux</em> system, much less space is required as no new +system must be installed. +</p> + +<h3><a name="larch_installation"></a>Installation of the <em>larch</em> build +system</h3> + +<p>The recommended way of installing <em>larch</em> is by means of the setup +script, see <a href="larch_quick-console.html">here</a> for details. +This installs all the necessary packages to a working directory, and it +should also work on non-<em>Arch</em> linux systems. +</p> + +<p>The <em>larch</em> package may, however, be installed in the normal +<em>Arch Linux</em> way using <em>pacman</em>. This method will only work on +an <em>Arch</em> system, of course. The <em>larch</em> repository is at +<a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/"> +<strong>berlios</strong></a>. +</p> + +<p>The <em>larch</em> command line scripts need to be started as root, and +each has a usage message (run with the '-h' option). The gui should be +started as a normal user (it uses <em>su</em>, or can be configured to +use <em>sudo</em> instead, to get administrator rights when needed). +</p> + +<h3><a name="larch_profiles"></a>Profiles</h3> + +<p>A <em>larch</em> 'profile' is a directory containing the information +needed to build a particular 'flavour' of <em>Arch Linux</em> as a +<em>live</em> system - which packages to install, and how it should be +set up. For details see <a href="profiles.html">Profiles</a>. +</p> + +<h3><a name="stages"></a>The stages of the build process</h3> + +<p>The starting point is an <em>Arch Linux</em> installation. This can +be an already existing one from which you want to make a <em>live</em> +version, or - the recommended approach - you can use the +'Installation' stage of the <em>larch</em> system +(using the <strong>archin.py</strong> script) to prepare this. +<em>archin</em> downloads all the desired packages (if they are not already +in the host's package cache) and installs them to a directory on the host. +See <a href="archin.html">this page</a> for details. +</p> + +<p>Once we have the <em>Arch Linux</em> installation this can be +processed to build the basis components for the <em>live</em> medium. The +installation is compressed into a <em>squashfs</em> archive, and an +overlay directory containing the necessary modifications to the base +system is built - a sort of 'patch' directory for the basic installation. +The latter contains a few necessary +adjustments for running as a <em>live</em> system and also the +customisations specified in the <em>profile</em>. The other important +component is the <em>initramfs</em>, which also needs to be adapted +to boot the <em>live</em> system. This processing is performed by the +<strong>larchify.py</strong> script, see +<a href="larchify.html">this page</a> for details. +</p> + +<p>When the 'larchification' has been completed, the components can +be packed together onto a boot medium together with a bootloader. The +<strong>live_iso.py</strong> script creates an <em>iso</em> file, which +can then be written to a CD or DVD, the <strong>live_part.py</strong> +script sets up a bootable partition on a disk(-like) device, such as a +USB stick. See <a href="medium.html">this page</a> for details. +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_live_system.html b/build_tools/larch8/larch0/docs/html/larch_live_system.html new file mode 100644 index 0000000..c827bdf --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_live_system.html @@ -0,0 +1,227 @@ +<!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>Structure of a larch live 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="larch_ssh.html"><h6>Next:</h6> +                    <div class="indent1">ssh access</div></a></li> +                  <li><a href="profiles.html"><h6>Previous:</h6> +                    <div class="indent1">Profiles</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Structure of a <em>larch live</em> system</h2> + +<p>The vast majority of the code that runs in a <em>live</em> system +is exactly the same as in a normal system running from hard disk. +The main differences arise through the <em>live</em> system being based on +a read-only root file-system, so various adjustments are necessary to +make the areas that must be writeable appear to be so. I say 'appear to be' +because the bulk of the underlying system is generally (as is the case in a +<em>larch</em> system) stored in a <em>squashfs</em> archive, which is not +writeable. This is overcome to some extent by using <em>aufs</em> to add +a writeable overlay. +</p> + +<h3><a name="Squashfs_and_Unionfs"></a>squashfs and aufs</h3> + +<p>In <em>larch</em>, as in many other <em>live</em> systems, the +ability to (apparently) write to a read-only file-system is provided by +<em>aufs</em> (originally derived from <em>unionfs</em>). +The file-system is also compressed, using <em>squashfs</em>, so as to fit +more data onto the storage device. A custom <em>Arch Linux</em> installation +(you can choose which packages are installed) is compressed into a +<em>squashfs</em> file-system in the file <strong>system.sqf</strong>, +which is placed in the '/larch' directory of the boot device. +</p> + +<p>For use in a <em>live</em> system a few changes must be made to some files +in the installation. In <em>larch</em> this is usually not done directly, +the installed system is left in a 'clean' state. Instead of that, an additional +<em>aufs</em> layer is created containing all the modified files (in a writeable +system also changes made by the user will be placed in this layer). You can +include (pretty well) any customisations you like in this overlay, giving you +a great deal of freedom in designing your <em>live</em> system. +</p> + +<p>When the <em>live</em> system boots an <em>aufs</em> file-system is set up +with the base system as its lowest layer (branch). The modification layer - either +the 'mods.sqf' file or the medium itself (if writeable) - is +placed above this. If the modification layer is not writeable (either inherently +or because of a boot option) a further, writeable, layer in <em>tmpfs</em> +(a memory based file-system) is added above this. The <em>aufs</em> file-system +is then used as the root file-system for the <em>live</em> system (compare with +a normal linux system where the root file-system would be a hard-disk partition). +</p> + +<h3><a name="bundles"></a><em>'Bundles'</em></h3> + +<p>An additional possibility inherent in <em>aufs</em> is that of including +additional code or data 'packages' - which I here call 'bundles', to distinguish +them from the normal packages managed by pacman - by adding them as further +layers (branches). This is also supported in <em>larch</em>. It is a completely +optional feature, supported in the <em>initramfs</em> code, by the 'larch' hook +(see the man-pages or the <em>Arch wiki</em> for more details on +<em>mkinitcpio</em> and <em>Arch initramfs</em> support). Bundles are simply +overlays over the root file system (like software packages) which should +be compressed into <em>squashfs</em> archives with names ending in '.sqb'. +They should be placed in the medium's '/larch/bundles' directory and during +the boot process they will be added to the <em>aufs</em> file-system in +alphabetical order directly above the base system layer. +</p> + +<h3><a name="initramfs"></a><em>initramfs</em> and <em>mkinitcpio</em></h3> + +<p>It is, in general, not possible to boot directly into a <em>live</em> +system. +Some form of 'initrd' or 'initramfs' is required, in order to find the boot +device and prepare the root file-system for running. +Many modern <em>GNU/Linux</em> systems use initrd/initramfs (the former +being now deprecated) as a matter of course, for loading the necessary kernel +modules, and <em>Arch Linux</em> is no exception, a modular initramfs system +(<em>mkinitcpio</em>) being the standard way to boot <em>Arch Linux</em>, +and <em>larch</em> also takes advantage of it, although some additions need +to be made to boot <em>live</em> systems. +</p> + +<p><em>larch</em> adds its own 'hook' (code plug-in) to the +<em>Arch Linux mkinitcpio</em> system (the 'larch' hook is supplied in the +'larch-live' package). It performs several steps, the first of which is to +find the live medium. +</p> + +<p>Note that the live medium is not necessarily the same as the +boot device (which could be a boot-cd required for booting from another +device unsupported by the machine's BIOS). The medium can be detected / selected +on the basis of a UUID, a partition label, or a partition device node +('/dev/sdb1', etc.). Alternatively, all available devices can be searched +for the file '/larch/larchboot'. Once the device has been found a simple +validity check is made by testing for the existence of '/larch/system.sqf'. +</p> + +<p>An <em>aufs</em> file-system is set up and the <em>squashfs</em> archive +'system.sqf' is added as the base layer. If there are 'bundles' in the +'/larch/bundles' directory these are layered on top of the base (as +<em>aufs</em> branches). +</p> + +<p>Then the modifications overlay is added (as a further <em>aufs</em> +branch), and if the overlay is read-only then another layer is added on +top of it, a writeable in-memory file-system (<em>tmpfs</em>). +</p> + +<p>A few more tweaks are made to prepare the file-system for the boot +proper (see the code of the larch hook in '/lib/initcpio/hooks/larch' +for the details) and this <em>aufs</em> file-system is then used as the +root file-system for the further boot process, after leaving the +<em>initramfs</em>. +</p> + +<p>In order to generate the special <em>initramfs</em> a customised +'/etc/mkinitcpio.conf' - '/etc/mkinitcpio.conf.larch' - is used, also +supplied in the 'larch-live' package (though it can be replaced by a +customised version in the profile's overlay directory - the +gui has a button for this). +</p> + +<p>There is also a customized <em>mkinitcpio</em> preset, +'/etc/mkinitcpio.d/larch.preset', which is used to replace the standard +preset belonging to the kernel, so that subsequent kernel updates (etc.) +will regenerate a correct <em>initramfs</em> for the <em>larch</em> system. +If you want to revert to the normal <em>Arch Linux mkinitcpio</em> behaviour +(for example, if you are installing the system) you will need to replace +the preset by the original, which gets saved with '.larchsave' appended. +</p> + + +<h3><a name="rc_files"></a>/etc/rc.sysinit and /etc/rc.shutdown</h3> + +<p>The initial boot script and the shutdown script must be customized for use +in a <em>larch live</em> environment. This is achieved by using hooks in the +standard /etc/rc.sysinit and /etc/rc.shutdown scripts. The file +'etc/rc.d/functions.d/larch-hooks', in the 'larch-live' package, defines these. +During startup the main tweaks are to the content of /etc/mtab and /etc/fstab. +During shutdown we probably want to disable writing to the hardware clock, +and if running from CD/DVD we will want to eject the device just before +shutting down. +</p> + +<h3><a name="fstab"></a>/etc/fstab</h3> + +<p>If the file '/etc/fstab.larch' exists this will be used as a persistent +'/etc/fstab', being copied there during the boot process (in the 'larch' +hook in the <em>initramfs</em> system). Otherwise a very minimal '/etc/fstab' +will be generated at each boot. It includes entries for any existing swap +partitions, but these are commented out unless the 'swap' boot parameter +is specified (the default <em>larch</em> behaviour is to mount nothing +automatically). +</p> + +<p>The 'x10d_fstab' script in the 'larch-live' package allows the very basic +/etc/fstab generated by the <em>initramfs</em> system ('larch' hook) to be +extended automatically, but '/etc/fstab' will only be changed if +'/etc/fstab.larch' doesn't exist. +This script adds entries for the partitions it detects, and also mount points +in '/mnt' for them. The entries are such that the partitions are not mounted +automatically. +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_quick-console.html b/build_tools/larch8/larch0/docs/html/larch_quick-console.html new file mode 100644 index 0000000..86b83c6 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_quick-console.html @@ -0,0 +1,136 @@ +<!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>Quick Start - Console</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="larch_quick.html"><h6>Next:</h6> +                    <div class="indent1">Quick Start - GUI</div></a></li> +                  <li><a href="larch_features.html"><h6>Previous:</h6> +                    <div class="indent1">Features</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Quick Start - Console</h2> + +<p>This is a quick run through of the steps needed to download <em>larch</em> +and use it to build a <em>live</em> system from one of the example profiles +provided in the 'larch-profiles' package. You can use this as an introduction +to <em>larch</em>, and as a basis for your own customised system if you like. +</p> + +<ul> +   <li>Make sure you have 'python' and 'python-pexpect' packages installed. +   </li> +   <li>Download the latest +   <a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/larch-setup"> +   <strong>larch-setup</strong></a> script +   to an empty working directory. Then run it (it is a shell script). +   It will download and prepare the 'larch', 'liblarch' and 'larch-profiles' +   packages so that they can be used within this directory. +   </li> +   <li>Several links will appear in the working directory. These point at the +   individual <em>larch</em> scripts. Each has a usage message which you +   can read by running the script with the '-h' option (e.g. +   './larch-archin -h') +   </li> +   <li>For this example run I will use the 'xmini' profile (which builds a +   simple XFCE based system). The following steps must be carried out as root. +   </li> +   <li>Install the base <em>Arch</em> system to the default location +   ('/home/larchbuild'): +   <ul> +      <li>If you are running <em>Arch</em> the default package mirror is taken +      from /etc/pacman.d/mirrorlist. On a non-<em>Arch</em> system this file +      (probably) won't exist, in which case the first uncommented server in +      larch0/data/mirrorlist is used (this file comes from the 'pacman-allin' +      package, which should be downloaded automatically in this case). The +      default server might be alright, but if not you should edit this file. +      </li> +      <li><pre>./larch-archin -p larch0/profiles/xmini install</pre> +      </li> +   </ul> +   </li> +   <li>Prepare the <em>live</em> system. This script compresses the +   installation using squashfs and also builds a squashed overlay containing +   all the customisations necessary for the <em>live</em> system, plus those +   specified in the profile: +   <pre>./larch-larchify -p larch0/profiles/xmini</pre> +   </li> +   <li>Create a bootable 'iso' containing the <em>live</em> system: +   <pre>./larch-medium -p larch0/profiles/xmini</pre> +   </li> +   <li>As an alternative to the last step, make a bootable USB-stick: +   Insert the stick and double-check the name of the partition to install to. +   I will assume /dev/sdb1 here: +   <pre>./larch-medium -p larch0/profiles/xmini /dev/sdb1</pre> +   </li> +   <li>If all that worked, you can test the resulting 'iso' in (for example) +   <em>virtualbox</em> (select the 'vesa' option from the boot menu, otherwise +   <em>xorg</em> might not start), or try to boot from the USB-stick. +   </li> +   <li>If you want to try your hand at designing your own system, the main +   place to look for details of the customisation process is the +   section <a href="profiles.html">Profiles</a>. +   </li> +   <li>  Share and Enjoy!</li> +</ul> + +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_quick.html b/build_tools/larch8/larch0/docs/html/larch_quick.html new file mode 100644 index 0000000..867a2ab --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_quick.html @@ -0,0 +1,146 @@ +<!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>Quick Start - GUI</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="archin.html"><h6>Next:</h6> +                    <div class="indent1">Installation of the base Arch system</div></a></li> +                  <li><a href="larch_quick-console.html"><h6>Previous:</h6> +                    <div class="indent1">Quick Start - Console</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Quick Start - GUI</h2> + +<p>The gui should make exploration of the possibilities offered by <em>larch</em> +quite straightforward. The documentation should provide enough information to +understand how a <em>larch live</em> system works, so that further customisations +can be performed beyond those directly supported. +</p> +<p>The general sequence of events starts with creating a 'project', which will +determine certain aspects of the build environment (such as where to place the +installation files), and select a profile. The profile describes the system to be +installed (primarily which packages, but also various other aspects). All this +configuration information is stored in the user's home directory (~/.config/larch), +so that it is retained from one <em>larch</em> run to the next. +</p> + +<ul> +   <li>At present I only maintain a repository for 'i686', as I don't run a 64-bit +   <em>Arch</em> machine, but as all the current <em>larch</em> packages +   have architecture 'any', both architectures should be supported. +   </li> +   <li>Make sure you have 'pyqt' and 'python-pexpect' packages, as well as +   the obvious 'python', installed. +   </li> +   <li>Download the latest +   <a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/larch-setup"> +   <strong>larch-setup</strong></a> script +   to an empty working directory. Then run it (it is a shell script). +   It will download and prepare the 'larch', 'liblarch' and 'larch-profiles' +   packages so that <em>larch</em> can be run from this directory. +   </li> +   <li>Run './larch' in the working directory. +   As it is a gui program, you must of course be running xorg (see +   <a href="larch_quick-console.html">Command-Line Interface</a> +   for use from the command line). In general you should start <em>larch</em> +   as a normal, unprivileged user, so that the access to the configuration +   files is as the correct user. It will ask for the <em>sudo</em> +   password when it needs it. +   </li> +   <li>To build a <em>larch live</em> system you basically just have to go through +   the tabs one after the other. +   </li> +   <li>The first tab allows you to create a project and select a profile. The 'mini' +   (no <em>xorg</em>) and 'xmini' (a fairly minimal <em>xfce</em> desktop) examples +   (from the supplied 'profiles' folder) might be good places to start. +   The default installation path should be alright for most purposes, +   but you might need to move it if you don't have enough space on that partition. +   Be careful! If you put a silly path in here you might overwrite your system. +   </li> +   <li>The 'Installation' tab performs the installation of the system to be squashed, +   by downloading and installing all the requested packages to the installation path +   set for the project. You can adjust a few aspects of this process, for example +   to use a local package mirror, or to add repositories to pacman.conf. The default +   is to use the mirror set on the host system and also to use the host's package +   cache, so that repeated builds don't need to download the packages all over +   again. +   </li> +   <li>The 'Larchify' tab compresses the installation using squashfs, also building +   a squashed overlay containing all the customisations necessary for the +   <em>live</em> system and those specified in the profile. +   </li> +   <li>Finally the 'Medium' tab writes the prepared <em>larch</em> files to an +   <em>iso</em> file (for CD or DVD), or to the partition of your choice (be careful!), +   so that you end up with a bootable <em>larch</em> system. +   </li> +   <li>Particular things that you might want to customise even in a first test run might +   be the supported <strong>locales</strong> and <strong>rc.conf</strong> (both on the +   'Larchify' tab). +   </li> +   <li>Further details of the customisation process are in the section +   <a href="profiles.html">Profiles</a> and in the documentation to the individual +   gui tabs. +   </li> +   <li>  Share and Enjoy!</li> +</ul> + +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_running.html b/build_tools/larch8/larch0/docs/html/larch_running.html new file mode 100644 index 0000000..2e47523 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_running.html @@ -0,0 +1,196 @@ +<!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>Running a larch live 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="larch_gui.html"><h6>Next:</h6> +                    <div class="indent1">Using the GUI</div></a></li> +                  <li><a href="larch_ssh.html"><h6>Previous:</h6> +                    <div class="indent1">ssh access</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Running a <em>larch live</em> system</h2> + +<p>Of course the details depend on what you have installed and how you have +configured it. For example, the 'mini' example profile builds a console-only system, +the 'xmaxi' profile boots to <em>xfce</em>. +</p> + +<p>One thing worth noting is that these supplied profiles automatically login +to the root account, which - potentially - allows all sorts of 'dangerous' actions, +like reformatting your disks or making a mess of your file-systems in other ways. +This is because one of the main <em>raisons d'être</em> for <em>larch</em> is its use +as an <em>Arch</em>-installation-and-rescue medium. For this, you need root access. +However, if you want to use the system in other ways, e.g. for text or image editing, +or for internet browsing or e-mail writing, it might be safer to do this as an +unprivileged user. Users can be added during the 'larchification' stage of the +build process - this is especially easy in the GUI. Alternatively, if using a +medium with data persistence, such a user can be easily created with the 'adduser' +command, or with some other utility (e.g. the graphical 'luser.py' script in +the <em>larch</em> '<em>luser</em>' package). +</p> + +<h3><a name="bootparm"></a>Boot parameters</h3> + +<p>As the <em>larch</em> build system is highly configurable, the available +boot parameters can also vary, but by default 'swap' and 'nw' are provided. +'swap' indicates that an existing swap partition should be used (the default +is not to use it). 'nw' means 'non-writeable', i.e. no data persistence +between boots is supported (and is thus only relevant where this is at all +possible). For experts there are a few more: 'tmpfs' sets the size of +the <em>tmpfs</em> file-system (default '60%'); 'quiet' suppresses +(some) boot messages, 'verbose' adds a few more, 'break' causes the boot +process to be interrupted at the end of the <em>initramfs</em> code, for +debugging purposes. +</p> + +<p>There are also boot options connected with the boot device. The 'nocd' boot +option, if present, prevents booting from CD. This might be useful if you use a +boot CD but want to boot a <em>larch</em> system on another device (normally +a CD will be detected before other devices). This only works if the kernel is +compatible of course. +</p> + +<p>The 'root=' option allows explicit specification of the device containing the +<em>larch</em> system. It is also possible to choose the boot device on the basis +of UUID ('uuid=') or label ('label='). The default maximum waiting time (to +allow USB devices to be recognized) is 12 seconds (if a device is recognized +earlier the pause will automatically be shorter), which should be adequate, but +if you want to change this you can do it using the 'usbdelay=' option. +</p> + +<h3><a name="config"></a>Configuration</h3> + +<p>The supplied profiles are not intended to be complete, though I hope they +work reasonably well. They should be seen as examples, perhaps as starting points +for your own configurations. +If you are running a profile with X11, you may find that you +need to configure it before it will run, though nowadays much hardware will work +to at least some extent without any tweaking (even without an 'xorg.conf'). +Minimal starting-point 'xorg.conf' files are offered in the <em>xfce</em> examples. +</p> + +<p>The 'xmini' and 'xmaxi' profiles should start a GUI (an xfce desktop) and +provide a variety of useful programs, the latter providing a more extensive +set than the former. +</p> + +<p>If you are stuck with the console, there is still hope. It's not as pretty or +newbie friendly as an X11 desktop, but still quite capable. I always like to have +<em>mc</em> available, it's a real godsend for non-geeks (you should also install +<em>lynx</em> so that HTML files can be displayed on the console - at a +pinch you can also surf with it, but it is painful). +</p> + +<p>If your console keyboard map is +wrong, try running <i>km</i> (I stole this from the +standard <em>Arch</em> install CD and modified it a bit to work in <em>larch</em>). +It also modifies '/etc/rc.conf', so the change can be retained for subsequent +runs if data persistence is enabled. +</p> + +<p>If you have a DHCP server on your network, you might well find that +the network interface is configured automatically (assuming your <em>rc.conf</em> +is configured appropriately). Otherwise you can use any method to set up +the network available in <em>Arch Linux</em> - see the appropriate +<em>Arch Linux</em> documentation (primarily the wiki, I guess) for details. +</p> + +<p>Of course the exact details of what you can do depends on what +software you installed, so I won't rabbit on endlessly about it here. +Nearly all configuration details should be just the same as in a normal, +hard-disk based installation. +</p> + +<h3><a name="install"></a>Installation to hard disk</h3> + +<p>The <em>larch</em> hard-disk installer <em>larchin</em> may be used to install +<em>Arch Linux</em> to hard disk (or similar). ***+ Or, at least it will be +possible to use it when I have updated (rewritten?) it for <em>larch</em>-8. -*** +<em>larchin</em> deals with partitioning and formatting of hard drives, placing +<em>Arch Linux</em> (primarily a copy of the live system on which it is running) +on the newly formatted partitions, and installation of a bootloader. +</p> + +<p>As mentioned above the main approach to <em>Arch</em> installation covered by +<em>larchin</em> is to copy the contents of the live system to a hard drive. Those +(few) bits peculiar to the needs of a live system are removed and the result is a +completely normal <em>Arch Linux</em> installation. I should perhaps mention +the file 'delarch' in the 'larch/data' +directory on the boot medium). This script (if it exists) is run at the end +of the installation +and allows custom installation actions to be performed (the +main reason for its existence is to allow features of the <em>live</em> system +to be removed, because they would be out of place in a normal installation). +</p> + +<h3><a name="install-live"></a>'Live' installation to hard disk</h3> +<p>This is sometimes called a 'frugal' install and means that the system +as it is (compressed, running in an <em>aufs</em> file-system) on the +USB-stick or CD is installed as a <em>live</em> system to a hard-drive +partition. This might be useful if you want to run from a flash device, +for example, as it minimizes write operations to the device (normal access +is read only). This is actually no different from copying a <em>larch</em> +system to a USB-stick, so the normal copying procedure can be used. +</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> diff --git a/build_tools/larch8/larch0/docs/html/larch_ssh.html b/build_tools/larch8/larch0/docs/html/larch_ssh.html new file mode 100644 index 0000000..06f62d8 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larch_ssh.html @@ -0,0 +1,213 @@ +<!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>ssh access</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="larch_running.html"><h6>Next:</h6> +                    <div class="indent1">Running a larch live system</div></a></li> +                  <li><a href="larch_live_system.html"><h6>Previous:</h6> +                    <div class="indent1">Structure of a larch live system</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">ssh access</h2> + +<p>One feature I wanted in my live system was the ability to +access and control it remotely via <em>ssh</em>. <em>ssh</em> is +generally very useful, but in the case of a <em>live</em> CD (etc.) it +allows operations to be carried out on a remote computer, even one +without keyboard or monitor. Insert the CD, boot up +the computer (assuming it is configured to boot from CD), and log in +via the network using another computer. Isn't <em>Linux</em> great! +</p> + +<p>Well, it doesn't quite work out of the box, though it could be +tweaked so that - in the right environment - it would. Firstly, there +must be a network connection which gets set up automatically - +the easiest is probably <em>DHCP</em> (so long as +you can then find the address of the live system), +but by tweaking <strong>rc.conf</strong> in the <em>profile</em> (or +<em>live</em> using the data persistence feature, if available) a +static address is also easy to set up. +Secondly you must provide the live system with your public key, so +that you are allowed access (using public key authentication), or else +set a password for the <em>larch</em> root user (probably easiest using the +data persistence feature, if available). +</p> + +<h4>id_rsa.pub and authorized_keys</h4> + +<p><strong>id_rsa.pub</strong> +is a public key, and it can be used to allow the user (on the remote machine) +whose key this is to <em>ssh</em> into the live system. +If you leave passwordless logins disabled (the +default), then so long as no root password is set, +the only way in (to the root account) is via public key authentication. +Of course, if you change the root password, anyone (who knows the +password) can log in via <em>ssh</em> +(if the <em>sshd</em> daemon is running). +</p> + +<p>To generate this key for your user (assuming you don't already +have one, in <strong>~/.ssh</strong>) do something like: +</p> + +<pre style="margin-left: 80px;">ssh-keygen -t rsa</pre> + +<p>Use the default destination file and empty passphrase +(normally you wouldn't do that, +but I think it is appropriate in this case). See the <em>ssh</em> man-page +for more information. +</p> + +<p>In order to enable <em>ssh</em> to the root account on the live +system, the contents of this file (a single text line) must be placed in +the <em>larch</em> system's <strong>/root/.ssh/authorized_keys</strong> file. +This file will probably not yet +exist, so the 'id_rsa.pub' can be simply copied to it. +If doing this before building the <em>live</em> system, copy the file to this +position in the 'rootoverlay' directory in the <em>profile</em>, being +careful to get the permissions (644) correct. +To do this in a running <em>larch</em> system, copy the file to this location - +session saving will then preserve it. +</p> + +<p>If you don't need <em>sshd</em> on the live system, you can +remove it from the daemons in <strong>rc.conf</strong>. +</p> + +<h4>/etc/hosts.allow</h4> + +<p> +This must be edited to allow <i>ssh</i> +access to the live system: +</p> + +<pre style="margin-left: 80px;"> +# To allow ssh in from anywhere +sshd: ALL +</pre> + +<p>If that is too radical for you, you might be able to restrict +it somewhat - that depends on your exact circumstances. For example: +</p> + +<pre style="margin-left: 80px;"> +# To allow ssh in from local net (example) +sshd: 192.168.1. +</pre> + +<h3><a name="ssh_hostkeys"></a>ssh host keys</h3> + +<p>The files +<strong>/etc/ssh/ssh_host_dsa_key</strong> +<strong>/etc/ssh/ssh_host_dsa_key.pub</strong>, +<strong>/etc/ssh/ssh_host_rsa_key</strong>, +<strong>/etc/ssh/ssh_host_rsa_key.pub</strong>, +<strong>/etc/ssh/ssh_host_key</strong>, +and +<strong>/etc/ssh/ssh_host_key.pub</strong> +are normally (in a hard-disk based system) generated on the first run of +<strong>/etc/rc.d/sshd</strong>, i.e. during the first boot after a new +installation. This only needs to be done once. However in a <em>live</em> +system changes are generally lost when the system shuts down, so this would +need to be done at every boot, which takes a while, so I prefer to +pregenerate them. +The <em>larch</em> gui offers a checkbox to enable this pregeneration on +the 'larchify' page. +To regenerate these manually (while running the <em>live</em> +system) you can do the following: +</p> + +<pre style="margin-left: 80px;"> +rm /etc/ssh/ssh_host_* +/etc/rc.d/sshd restart +</pre> + +<h3><a name="ssh_x11"></a><em>ssh</em> and <em>X11</em></h3> + +<p> +If you have set up 'X11 Forwarding' (see below), you can run X11 applications on the +<em>live</em> system from your remote system. This is very neat! +</p> + +<h4>/etc/ssh/sshd_config</h4> + +<p>This file is changed to allow X applications to run on the +<em>live</em> system but display on another: +</p> + +<pre style="margin-left: 80px;">X11Forwarding yes</pre> + +<p> +This will only work if you use the -Y option to <em>ssh</em> +on the system from which you log in, and on which +you want to display the X windows (e.g. 'ssh -Y +root@192.168.0.201'). Alternatively you can put the +following in <em>its</em> <strong>etc/ssh/ssh_config</strong>: +</p> + +<pre style="margin-left: 80px;"> +ForwardX11 yes +ForwardX11Trusted yes +</pre> + +</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> diff --git a/build_tools/larch8/larch0/docs/html/larchify.html b/build_tools/larch8/larch0/docs/html/larchify.html new file mode 100644 index 0000000..290c4b0 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/larchify.html @@ -0,0 +1,179 @@ +<!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>Building the live 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="medium.html"><h6>Next:</h6> +                    <div class="indent1">Preparing the larch live medium</div></a></li> +                  <li><a href="archin.html"><h6>Previous:</h6> +                    <div class="indent1">Installation of the base Arch system</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Building the <em>live</em> system</h2> + + +<p>Once we have an <em>Arch Linux</em> installation and have specified our +customizations in the profile, we can put together the basic ingredients of a +live medium. Firstly there is the '/boot' directory, containing the kernel, the +<em>initramfs</em> (a small compressed file-system into which the kernel +boots initially) and files belonging to the bootloader. The bulk of the +system will be in a single squashfs archive, 'system.sqf', residing on the +medium in the /larch directory. This archive contains the essentially untouched +<em>Arch</em> installation. A further - much smaller - <em>squashfs</em> archive +('mods.sqf') is built containing the configuration defined in the selected +<em>larch</em> profile. This latter will 'overlay' the underlying system as a +branch of the <em>aufs</em> root file-system used when running <em>live</em>. +Various other data and configuration files +special to the <em>larch live</em> system are also kept in the /larch directory. +</p> +<p>The standard way of supporting data persistence in this version of <em>larch</em> +is to use the boot medium as a writeable overlay branch in the root ('/') +<em>aufs</em> file-system. This can of course only work if the boot medium +is writeable and is formatted with a linux file-system (standard is 'ext4'). +In this case the 'mods.sqf' file will not exist, its contents being unpacked +onto the medium. +When running without data persistence a temporary writeable layer, in +<em>tmpfs</em> (a memory based file-system), is used as the top layer. +</p> +<p>Let's call this step, preparing these components so that they can be +installed on a suitable medium, 'larchification' (from the verb 'larchify'). +At the end of the 'larchification' process, the basic ingredients of the +<em>live</em> medium have been created, but the bootloader files are not +yet finalized (and nothing has been written to any medium). +</p> + +<p>For details of the structure of the <em>live</em> system which is built +by this stage see <a href="larch_live_system.html">this page</a>. +A description of the main possibilities +for customizing the build process are covered in +<a href="profiles.html">the profiles documentation</a>. +</p> + +<h3><a name="mkinitcpio"></a><em>mkinitcpio</em> and the <em>initramfs</em></h3> + +<p>In order to build a suitable <em>initramfs</em> for a <em>larch</em> +system, a customized version of 'mkinitcpio.conf' is required. How +<em>larch</em> handles this is quite complicated because it aims to retain +the normal files so that the <em>live</em> system can later be installed +as a normal <em>Arch Linux</em> system, whilst at the same time offering +the capability of updating (with 'pacman -Syu') the <em>live</em> system, +including the kernel (thus requiring regeneration of the <em>initramfs</em> +for the system). +The consequence of this ambition is that modifications are made +to the 'preset' file within '/etc/mkinitcpio.d' (which are reversible when +the <em>live</em> system is installed as a normal <em>Arch Linux</em> system) +and a special <em>mkinitcpio</em>' configuration file, '/etc/mkinitcpio.conf.larch' +must be provided (there is a default version supplied in the larch-live package +which should be adequate in most cases). +If you need to know more see the method 'Builder.gen_initramfs' in +'cli/larchify.py'. +</p> + +<h3><a name="reuseSystem"></a>Rebuilding using an existing 'system.sqf'</h3> + +<p>In order to aid experimentation with profile tweaks which do not affect +the underlying installation, it is possible to repeat the 'larchify' step +without rebuilding the 'system.sqf' archive, which saves quite a bit of time +(this is achieved by passing the '-o' option to 'larch-larchify' when running +from the command line). +</p> + +<h3><a name="existingSystem"></a>Making a <em>live</em> system from an +existing <em>Arch</em> installation</h3> + +<p>By setting the installation path (with the '-i' option if using the +command line) to an existing <em>Arch</em> installation, +a <em>live</em> medium can be made from it. One convenient way of doing this +is to run the build process from a <em>live</em> system. A <em>larch live</em> +system is of course particularly well suited, but most others should work +too. +</p> +<p>To use an existing system as source, this system must already be mounted, +including any sub-mounts (e.g. /home on another partition). +The main mount must be with options 'exec,dev', because most of the +building is done via a <em>chroot</em> to the installation. +This approach to <em>live</em> system generation is +probably not a good idea if the installation contains a lot of data - +consider how big the result will be ... +</p> + +<p>Note that some things in '/var' will not be included in the 'live' system. +Firstly, the standard <em>pacman</em> package cache ('/var/cache/pacman/pkg') +will be excluded. +Also the log files (in '/var/log') and '/var/tmp' (temporary files, like '/tmp') +are not saved. As some files in '/var/log' are required for certain aspects of +logging to function, these are recreated in the <em>initramfs</em>. +</p> + +<h3><a name="kernel"></a>Kernel and Initramfs</h3> +<p>The larchify script assumes the kernel is the standard +one from Arch Linux. It is quite possible to use a custom kernel with +<em>larch</em>, so long as it supports <em>squashfs</em> and <em>aufs</em>, +but you must tell the script the name of the kernel binary file and the name +of the mkinitcpio 'preset', by placing these with a space-separator in a +file called 'kernel' in the profile directory. The defaults are supplied +in  the larch package's 'data' directory, in the file 'kernel'. Check that +you understand how the mkinitcpio system handles kernel updates before you +try <em>larch</em> with a custom kernel. +</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> diff --git a/build_tools/larch8/larch0/docs/html/medium.html b/build_tools/larch8/larch0/docs/html/medium.html new file mode 100644 index 0000000..fddc2b2 --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/medium.html @@ -0,0 +1,178 @@ +<!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>Preparing the larch live medium</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="profiles.html"><h6>Next:</h6> +                    <div class="indent1">Profiles</div></a></li> +                  <li><a href="larchify.html"><h6>Previous:</h6> +                    <div class="indent1">Building the live system</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Preparing the <em>larch live</em> medium</h2> + + +<p>The building blocks for the preparation of a <em>live</em> medium are +produced by the 'larchification' process: the <em>squashfs</em> +archive, 'system.sqf', the 'boot' directory, containing the kernel and +<em>initramfs</em>, and the modifications overlay, 'mods.sqf'. +</p> + +<p>This stage adds the bootloader files and user-defined customisations +which are directly copied to the medium rather than being included in +the overlay (essentially the stuff from the 'cd-root' directory in the +profile. See the <a href="profiles.html#cd-root">cd-root</a> section in the +profiles documentation for details on how to customise this data. On +writeable media it is also possible to specify that the medium be used +as a writeable overlay branch in the <em>aufs</em> root ('/') file-system. +Finally the system is written to +the medium, if it is a partition (USB-stick, etc.), or - in the case +of a CD/DVD - an <em>iso</em> file is created.  +</p> + +<p>The structure of the <em>live</em> system is such that it is fairly +easy to transfer a <em>larch</em> system from one medium to another, +including the preservation of changes that have been made using the +data persistence facility, and including the possibility of transferring +a non-writeable system to a writeable medium and then enabling data +persistence. Support files for these operations are saved in the +'/boot/support' directory of the medium - these are mostly binary executables +which may not be available (in the correct version) on the machine used +to perform the operations. The libraries they need are also included, and the +applications must be run as +</p> +<pre>    path/to/support/support application-name arguments</pre> +<p>The applications supported in this way are <em>mksquashfs</em>, <em>unsquashfs</em>, +<em>extlinux</em> and <em>syslinux</em>. +Also the binaries 'mbr.bin' and 'isolinux.bin' from the <em>syslinux</em> +package are made available here. The copying process can, however, be delegated to +the 'larch-medium' script, the source medium being specified using the '-S' +option (run 'larch-medium -h' for all options). +</p> + +<h3><a name="overlay_persist"></a>Data Persistence: The Writeable Overlay</h3> + +<p>The medium (partition) containing the <em>larch</em> system can be used +as a writeable overlay branch for the <em>live</em> system (assuming the +partition actually is writeable), causing changes made while running the +system to be preserved from one boot to the next, basically the same as +in a 'normal' linux system. The advantage this has over just installing a +normal linux system on the partition is that the bulk of the underlying +system is highly compressed, allowing smaller devices to be used than would +otherwise be possible. It is also relatively straightforward to transfer +such a system to and from non-writeable media, such as CD/DVD. +</p> + +<p>If the medium is not writeable (or if the 'nw' boot parameter is passed) +then a writeable layer is created in <em>tmpfs</em>, a memory based file-system, +allowing the system to act 'normally' (i.e. the file-system appears +writeable) while running. However any changes will be lost on shutdown. +There are situations (e.g. 'kiosk'-systems) where this behaviour can even +be an advantage. +</p> + +<h3><a name="media_scripts"></a>Command-line Scripts</h3> + +<p>The command line script for building a <em>larch live</em> is +<strong>larch-medium</strong>. Run 'larch-medium -h' to get a +usage message. +</p> + +<p>When the <em>live</em> system is installed to a partition (e.g. +USB-stick) it is possible to choose how the boot partition will be +recognized. +The options available are via UUID, partition label, partition path +(e.g. '/dev/sdb1'), or by searching for a partition +containing the file 'larch/larchboot'. See also +<a href="larch_running.html#bootparm">'Boot parameters'</a>. +</p> + +<p>The 'bootlines' file allows the boot options to be specified in an +easily parseable, bootloader independent way. The default version +is supplied in the 'larch' package (in the 'cd-root/boot0' directory), +but this will be overridden by a version supplied in the profile. +The unprocessed version is also retained in the 'boot' directory of +the created medium, for later reference. +</p> + +<p>It is possible to repeat the installation onto various media, changing +the configuration, without needing to rerun the 'larchification' stage. +The constituent <em>larch</em> files remain unchanged. +</p> + +<h3><a name="usb2bootiso"></a>Building a boot CD for a USB-stick</h3> + +<p>Older computers may not be able to boot from USB devices, so the +possibility of generating a small <em>boot iso</em> is provided. This can +be burned to CD and can be used to boot your <em>larch</em> system on a +USB-stick. On the command line this is managed by passing the '-b' option +to the <strong>larch-medium</strong> script. +As this function uses the system on the USB-stick, this needs to be +plugged in (not mounted!) and selected in the 'Partition' entry. +</p> + +<p>As the kernel and <em>initramfs</em> are now taken from the CD rather +than from the USB device, an update of the kernel on the actual <em>larch</em> +medium would require the creation of a new boot-CD. +</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> diff --git a/build_tools/larch8/larch0/docs/html/profiles.html b/build_tools/larch8/larch0/docs/html/profiles.html new file mode 100644 index 0000000..c8e545d --- /dev/null +++ b/build_tools/larch8/larch0/docs/html/profiles.html @@ -0,0 +1,336 @@ +<!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>Profiles</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="larch_live_system.html"><h6>Next:</h6> +                    <div class="indent1">Structure of a larch live system</div></a></li> +                  <li><a href="medium.html"><h6>Previous:</h6> +                    <div class="indent1">Preparing the larch live medium</div></a></li> +                </ul> +              </div> +        </div> +      </div> +      <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Profiles</h2> + +<p>This feature of the <em>larch</em> build system allows bundling +all the configuration information for a particular <em>live</em> system +'design' into a single directory, a <em>larch profile</em>, and the +name of the profile is the directory's name. This directory includes +the list of packages to be installed, locale information and the +particular tweaks and additions needed +to customize the system, in particular a subdirectory containing the +'overlay' files - those files which have been changed from their initial +fresh state after installation and those which have simply been added. +</p> + +<p>Note that of all the profile files and directories mentioned here +only 'addedpacks' is not optional. +</p> + +<h3><a name="overlay"></a>The overlay directory</h3> + +<p>One of the simplest features of the profile is perhaps the +'<em>rootoverlay</em>' subdirectory: +everything in this directory is copied directly to the +<em>live</em> system's overlay, so that the a file 'a/b/c' within this +directory will appear at '/a/b/c' in the <em>live</em> system, regardless +of whether this file previously existed. Note however that all ownerships +are changed to 'root:root'. The bulk of the customizations for the +<em>live</em> system would normally be placed in this directory. +</p> + +<p>It would be possible to make the desired alterations directly to the +base system, and there are situations in which one would pretty well +have to do it this way (for example if a modified or added file was to +have some ownership other than 'root:root'). But another advantage (apart +from the encapsulation of the customizations in the profile directory) of +keeping the modifications in a separate directory is that the base +installation can be kept 'clean' and thus it is easily reusable. +</p> + +<p>If you would like to have a look at a profile, look in the 'profiles' +directory in the 'larch-profiles' package (if you have downloaded +<em>larch</em> by means of the 'larch-setup' script that will be +'larch0/profiles'). Each of its subdirectories is a profile. +If you want to make your own profile, it is probably easiest to start with +one of the examples. Copy one of these directories to your working directory +and rename it (to avoid confusion). The GUI offers some help with profile +management. +</p> + +<h3><a name="cd-root"></a>The <strong>cd-root</strong> directory</h3> + +<p>This directory contains files that are intended for more or less +direct copying to the <em>larch</em> medium, without being incorporated in +the squashed archives. This only applies to the subdirectories 'boot0', +'boot' and 'larch'. + +<h4>Boot files</h4> + +Everything in the 'boot0' directory is copied to the medium's +'boot' directory. If this directory doesn't exist, the default version +supplied in the 'larch' package (at 'cd-root/boot0') is used. +</p> + +<p>Subsequently everything in the 'boot' directory is copied to the medium's +'boot' directory, potentially overwriting what was there before. +</p> + +<p>Files specific to the syslinux family of bootloaders are kept in the +medium's 'boot/isolinux' directory. <em>larch</em> provides a default version +(in 'cd-root/boot0/isolinux'. To extend this, or +replace individual files, read the description of boot directory handling +above. +</p> + +<h4>Specification of boot options and choices</h4> +<p>The file which ends up on the medium as 'boot/bootlines' is an easily +parseable, bootloader independent representation of the boot menu choices +for the <em>larch</em> system. The default version is supplied in the 'larch' +package as 'cd-root/boot0/bootlines', but this can be overridden in the +profile, as described above. The gui provides a button to edit this file +(cd-root/boot/bootlines in the profile). To get an idea of what should be +in here look at the default version, or just click on the edit button. +</p> + +<h3><a name="larch-dir"></a>Special files in the <strong>cd-root/larch</strong> directory</h3> +<p>This directory is copied as is to the medium. Only the files of interest +in connection with the profile are mentioned here. Those generated during +larchification and medium construction are documented in the corresponding +sections. +</p> + +<ul> +  <li><a name="delarch"></a><strong>delarch</strong> +    <p>This bash script is run by the <em>larchin</em> installer during +    the tidy-up phase. It should remove/undo any profile-specific elements +    of the <em>live</em> system which should not be present in a normal +    installation. It receives a single argument, the path to the new +    installation. +    </p> +  </li> +  <li><a name="boot-init"></a><strong>boot-init</strong> +    <p>Used in the 'larch' initramfs hook, this optional script allows +    adjustment of the overlay handling during the boot process, e.g. +    getting them from another path. +    Note that the shell environment here is that of the initramfs and thus +    very limited. This option is for experts only and it is assumed that +    the user will be able to determine what is possible and necessary +    by reading the corresponding code of the hook. +    </p> +  </li> +</ul> + +<h3><a name="other-files"></a>Other important files within a profile</h3> + +<ul> +  <li><strong>addedpacks</strong> - This is the only compulsory file in +  the profile (it must even be present if you are not using the +  installation stage, but it can be empty in that case). It contains +  a list of packages and package groups to be installed to the 'base' +  system. Here you can enter all the applications +  you would like in your <em>live</em> CD/USB system (and subsequently +  installed to a hard disk partition, if that was your intention). +  Thanks to <em>pacman</em> you don't need to sort out dependencies, +  these should all be included automatically. See +  <a href="archin.html#package_selection">here</a> for details. +  </li> +  <li><strong>vetopacks</strong> - Allows 'vetoing' of packages included +  indirectly in the installation list from 'addedpacks'. See +  <a href="archin.html#package_selection">here</a> for details. +  </li> +  <li><strong>pacman.conf.repos</strong> - Set the repository part of +  'pacman.conf' for the <em>live</em> system, and possibly also for +  installation of the base system (See +  <a href="archin.html#pacman_conf">here</a> for further details). +  The default version will be adequate for many situations, but you +  will need to supply this file if you use the 'testing' repository, +  for example. +  </li> +  <li><strong>pacman.conf.options</strong> - Set the options part of +  'pacman.conf' for the <em>live</em> system and for +  installation of the base system (See +  <a href="archin.html#pacman_conf">here</a> for further details). +  This will generally not be needed as the default version will be +  adequate for most purposes. +  </li> +   +  <li><strong>rootoverlay/etc/rc.conf</strong> - As a major point of +  configuration in an <em>Arch</em> system this is important enough +  to get a button in the <em>larch</em> gui to edit it. +  </li> + +  <li><strong>rootoverlay/etc/locale.gen</strong> - For convenience, the +  <em>larch</em> gui provides a button to edit this file, which determines +  which glibc locales are supported in the <em>live</em> system. The +  corresponding files are generated (to the overlay) by the 'larchify' +  script, which has an option (for experts only) to reuse the locale +  files from a previous run (in order to reduce generation time in +  cases where the locales are unchanged). +  </li> + +  <li><strong>rootoverlay/etc/mkinitcpio.conf.larch</strong> - Again for +  convenience, the <em>larch</em> gui provides a button to edit this file, +  which allows you to tweak the <em>initramfs</em>. This is a special version of +  '/etc/mkinitcpio.conf' which is used to generate the <em>initramfs</em> for the +  <em>larch live</em> system. The default version is supplied as +  '/etc/mkinitcpio.conf.larch' in the 'larch-live' package. Whatever else +  you change, don't change the larch hook. +  </li> + +  <li><strong>rootoverlay/etc/inittab.larch</strong> - If this file is +  present it will cause the original /etc/inittab to be saved with a +  '.larchsave' suffix, and this new version will be used for the +  <em>live</em> 'inittab'. This allows a special version of this file to +  be used just for the <em>live</em> system, an installer +  can replace it by the original during the installation process. +  </li> + +  <li><strong>users</strong> - It is possible to add user accounts to the +  system during building. See below. +  </li> + +  <li><strong>skel_*</strong> (directory) - Customized '/etc/skel' substitutes +  for use at build time only. See below. +  </li> + +  <li><strong>kernel</strong> - If a kernel other than the standard +  <em>Arch</em> 'kernel26' is used the name of the kernel binary in '/boot' +  and of the <em>mkinitcpio</em> preset file in '/etc/mkinitcpio.d' need +  to be supplied in this file, in the form 'kernel-binary preset-name' +  (the default value is supplied in the 'larch' package as 'data/kernel'). +  </li> + +  <li><strong>vetodirs</strong> - Do not use this unless you really know what +  you are doing. Each directory listed in this file (one entry per line, +  comment lines start with '#') will be excluded from the live system. The +  directories are relative to the installation root. +  </li> + +  <li><strong>build-tweak</strong> - Do not use this unless you really know +  what you are doing. It is a program (script) - so it must be executable - +  to customize the construction of the overlay (to a certain extent). It gets +  two arguments on the command line: the path to the installation being +  larchified, and the (full) path to the directory in which the overlay is +  being constructed. It is called just before 'mods.sqf' is squashed, but +  also before users are added. +  </li> + +</ul> + +<h3><a name="users"></a>Adding user accounts</h3> + +<p> +The construction details should be provided in the 'users' file in the +profile directory. It is an 'ini'-style configuration file, the sections +being the user names. Here is an example: +<pre>[DEFAULT] +pw = +expert = +skel = +maingroup = +uid = +xgroups = video,audio,optical,storage,scanner,power,camera + +[u1] +uid = 999 +skel = + +[u2] +pw = p1 +expert = +skel = +maingroup = +uid = +xgroups = video,audio,optical,storage +</pre> +The 'DEFAULT' section is not necessary, but is generated automatically +by the gui user-table editor. Only entries which differ from the default +values need be present. +</p> +<p>The default primary group is defined by settings in '/etc/login.defs' +and '/etc/default/useradd' ('USERGROUPS_ENAB yes' in 'etc/login.defs' +causes this to be a group with the same name as the user). You can +override this by adding an 'expert' option, or by placing modified versions +of these files in the profile's 'rootoverlay' directory. +</p> +<p>The additional groups should be comma-separated and without spaces. +</p> +<p>If no 'skel'-file is specified, the default ('/etc/skel') is used, including +anything in the overlay. To use a custom 'skel'-file, place the directory +in the profile, giving it a name starting with 'skel_', and place the rest of +the name (the part after '_') in the configuration line. +</p> +<p>A password can be set for the new user by entering this (plain text - +I'm guessing this is alright in this situation ...). An empty password +field will allow passwordless logins (at least on the console). +</p> +<p>By default the UID number will be chosen automatically, but a specific +number may be entered here. In <em>Arch Linux</em> the UIDs normally start +at 1000. +</p> +<p>Users are added by means of 'useradd', so anything placed in the 'expert' +field should be a valid option to that command. If a user-name already exists +in the system to be larchified, it will be ignored (it does not count as +an error). +</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> | 
