diff options
Diffstat (limited to 'build_tools/larch7/larch0/docs')
41 files changed, 5325 insertions, 0 deletions
diff --git a/build_tools/larch7/larch0/docs/BUGS_TODO b/build_tools/larch7/larch0/docs/BUGS_TODO new file mode 100644 index 0000000..f4f3502 --- /dev/null +++ b/build_tools/larch7/larch0/docs/BUGS_TODO @@ -0,0 +1,52 @@ +* larchin - only basic features exist, with no documentation. + + +Changes 7.1 - 7.2 + +* Completely reworked the command-line interface (and consequently all + the other code, too). Threading replaced to a large extent by separate + processes. The GUI is now just a front end to the command-line tools. + +*! Changed handling of pacman.conf. Now there is pacman.conf.repos + instead of pacman.conf.larch, I hope it will be a bit easier to + understand what happens when using a special version for installation. + +* 'include' facility in package files: '+' + relative or absolute path + +* Required/suggested packages included by default (data/requiredpacks) - + they can be excluded by putting them in the veto file. The whole + file can be overridden in addedpacks by starting it with '!!!'. + +* Include directive ('+' + absolute or relative path to file) in + package files. + +* Boot loader configs for GRUB and syslinux included in the image, plus + bootlines file, to ease transfer of built image to alternative medium. + vesamenu.c32 is no longer supplied with larch, it is fetched from the + Arch installation (syslinux). + +* A command line option to live_part.py is available to override the + profile's 'nosave' file, but this is always copied to the medium + ('larch/nosave') - if it is present - to indicate the profile's + 'intention'. + +* A file 'nosshkeys' in the profile suppresses generation of the host + sshkeys (if openssh is installed - if not they wouldn't have been + generated anyway). Previously this was only selectable as a direct + build option (not stored anywhere). + +* The root password can be supplied in the profile, in the file 'rootpw'. + Previously this was not easily settable. + +* Changed some options to mkisofs, generally to make it more similar to + the partition builder (no -publisher, use -V instead of -A so + that the name gets shown in file managers, -R instead of -r). + +* When building an isolinux image, the 'isohybrid' script is called, so + that the resulting 'iso' can be 'dd'ed to a USB-stick (see the isolinux + documentation). This does not make the USB-stick session-save capable + as the file-system it creates is not suitable, but it might be a + useful distribution feature. + +* Added ability to save and reuse generated locales, in a way similar + to the saving of system.sqf. diff --git a/build_tools/larch7/larch0/docs/COPYING b/build_tools/larch7/larch0/docs/COPYING new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/build_tools/larch7/larch0/docs/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/build_tools/larch7/larch0/docs/LICENCE b/build_tools/larch7/larch0/docs/LICENCE new file mode 100644 index 0000000..9cd1e0c --- /dev/null +++ b/build_tools/larch7/larch0/docs/LICENCE @@ -0,0 +1,16 @@ + + Licence: + + This software is released under the GNU GENERAL PUBLIC LICENSE. + See COPYING. + + Warranty: + + This software is distributed with NO WARRANTY, use it at your own risk. + + Author: + + This software was written by + + Michael Towers (larch42 at googlemail dot com) +
\ No newline at end of file diff --git a/build_tools/larch7/larch0/docs/README b/build_tools/larch7/larch0/docs/README new file mode 100644 index 0000000..a942df0 --- /dev/null +++ b/build_tools/larch7/larch0/docs/README @@ -0,0 +1,23 @@ +larch +===== + +Author: Michael Towers (larch42 at googlemail dot com) +Licence: GPL (see COPYING, LICENCE) + +larch is essentially a collection of python scripts for building live +Arch Linux media, there is also a gui which uses the scripts as a backend. + +The command-line scripts are in the 'cli' directory, the gui code is in the +'gui' directory. + +There is quite extensive documentation in the docs directory, please read it. +docs/html/larch_quick.html gives basic set-up instructions. + +You need at least python (tested with 2.6), with the pexpect module, +and pyqt (tested with 4.7) for the gui. + +Logos are derived from the Arch Linux logos, and are released under a +Creative Commons Licence, see 'http://www.archlinux.org/art'. + +The larch project uses Arch Linux as its basis, but is not an official +Arch Linux ('http://www.archlinux.org') project. diff --git a/build_tools/larch7/larch0/docs/html/archin.html b/build_tools/larch7/larch0/docs/html/archin.html new file mode 100644 index 0000000..7673270 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/archin.html @@ -0,0 +1,241 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + +<html> +<head> +<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> +<title>Installation of the base Arch system</title> +<!-- (en) Add your meta data here --> + +<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> +<!--[if lte IE 7]> +<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> +<![endif]--> +</head> + +<body> +<!-- skip link navigation --> +<ul id="skiplinks"> + <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> +</ul> + +<div class="page_margins"> + <div class="page"> + <div id="top"><div id="tm"></div></div> + <!-- begin: #col1 --> + <div id="col1" role="main"> + <div id="col1_content"> + <div id="header" role="banner"> + <h1><span><em>live Arch Linux</em> builder</span></h1> + </div> + + <!-- begin: #col3 navigation column --> + <div id="col3" role="complementary"> + <div id="col3_content"> + <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> + <div class="vlist"> + <ul> + <li><a href="index.html"><h6>Table Of Contents</h6></a></li> + <li><a href="larchify.html"><h6>Next:</h6> + <div class="indent1">Building the live system</div></a></li> + <li><a href="larch_quick.html"><h6>Previous:</h6> + <div class="indent1">Quick Start</div></a></li> + </ul> + </div> + </div> + </div> + <!-- end: #col3 --> + +<div class="larchdocs"> +<h2 id="pagetitle" level="1">Installation of the base <em>Arch</em> system</h2> + +<p>The <em>larch live</em> system will normally be built from a fresh +(unmodified, unconfigured) <em>Arch</em> installation. The Installation stage, +based on the 'larch-archin' command, handles the creation of this installation +by downloading all the desired packages (if they are not already in the host's +package cache) and installing them to an empty directory (by default +'/home/larchbuild'). +</p> + +<p>Other approaches are possible, such as using an already existing system +or building a fresh installation in some other way. In that case you can skip +this page. +</p> + +<p>By default the package cache on the build host will be used, so that only +packages which have not already been downloaded will be fetched from the +chosen mirror. But it is possible to select another cache location, which +can also be on a remote machine, mounted using <em>sshfs</em> or <em>NFS</em>. +</p> + +<p>This raw installation will not normally be modified by <em>larch</em>, +so it can be reused, or even carefully experimented with. However, note +that any changes you make to this installation manually will not be +reflected in the profile, so it might be difficult to reproduce what you +have done at a later time, or to revert the changes. +If you want to configure your system, then the raw installation is probably +not the best place for it, consider rather using the 'rootoverlay' directory +in the profile. All files in this directory will 'overwrite' (well, 'overlay', +actually) corresponding files in the base installation, by placing them +in a higher layer in the <em>aufs</em> mount in the <em>live</em> system. +This makes it very easy to collect your own customizations in a way that +can be applied quickly to a future build. +</p> + +<p>See <a href="gui_installation.html">GUI Tab: Installation</a> for +details of the GUI for this process. +</p> + +<h3><a name="pacman_conf"></a>'pacman.conf' and 'mirrorlist'</h3> + +<p>To make it a little easier to manage upstream changes to the default +'pacman.conf', a separate file ('pacman.conf.repos') is used to specify +the repositories to use (the bit in 'pacman.conf' after the options). +There is a default version of this file in the <em>larch</em> package +at 'data/pacman.conf.repos', and for most simple installations this is +probably adequate, but if you need to change it you can place your own +version in the profile. +</p> +<p>Note that this file does not use the standard format, but +packs repository name and "server line" together on one line, separated +by ':'. There is no way to supply more than one "server line". There +are a couple of special 'codes', which <em>archin</em> will convert: + <ul> + <li>'*platform*' will be converted to 'i686' or 'x86_64' as + appropriate (according to the host).</li> + <li>'*default*' will be converted to the standard 'Include' entry. + This is normally 'Include = /etc/pacman.d/mirrorlist', but for + installation (only) this will be overridden if there is a 'mirrorlist' + file in the working directory - if neither exists, the fallback is + 'data/mirrorlist' within the <em>larch</em> base directory. + This latter file is not supplied in the 'larch' package, + as it is not intended for use on <em>Arch</em> + systems. When the 'larch-setup' script detects that no 'pacman' + command is available, it downloads the 'pacman-allin' package + and among the things that gets extracted from it is this + 'mirrorlist' file. + </li> + </ul> +Here is an example of a 'pacman.conf.repos' file: +</p> +<pre> +# Package repository entries for pacman.conf +# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate. +# '*default*' will be replaced by 'Include = /etc/pacman.d/mirrorlist' +# (but for the installation: a 'mirrorlist' file in the working directory will +# be preferred, or - if neither exists - then 'data/mirrorlist') + +# You can add your own custom repositories (anywhere). + +larch: Server = ftp://ftp.berlios.de/pub/larch/larch7.2/*platform* +#testing: *default* +core: *default* +extra: *default* +community: *default* +</pre> + +<p>The top part of the complete 'pacman.conf' (the options) is taken from +a normal default 'pacman.conf' supplied in the 'larch' package at +'data/pacman.conf'. +You can override this by placing your own version in the profile, as +'pacman.conf.options' (note that any repositories you might specify in +this file will be ignored). A further option is to specify a version of +the file 'pacman.conf.repos' to be used only for the installation (not +for the resulting <em>live</em> system. This is especially useful if +you have a local package repository/mirror. +</p> +<p>The complete 'pacman.conf' file is generated by combining the header +part and the repository part and is saved to a temporary location for +the installation. After the installation is complete a final version of +this file (that for the <em>live</em> system) is placed at +the standard location within the installation, '/etc/pacman.conf'. Note +that it is not placed in the overlay, but - as an exception to the rule - +directly within the installation. +</p> + +<h4>Usage example: The 'dummy' mirror</h4> +<p>During testing I found it useful to work with stable repositories. +I did this without creating a proper local mirror, but by creating a sort +of 'dummy' mirror containing only the ****.db.tar.gz files, relying on +the cache to supply the actual package files. +(The script 'repos.sh' supplied with <em>larch</em> in the +'scripts' directory can build these 'db' files from the current state of +the pacman sync database on the host.) +</p> + +<p>If you are running the commands on the console you can pass the path +to a customized repository list file with the '-r' option. Remeber this +file must be constructed as detailed above. +</p> + +<h3><a name="Custom_packages"></a>Custom packages</h3> + +<p>It is possible to include your own 'custom' packages in the installation. +Maybe ones you have compiled yourself, e.g. from the AUR, or modified versions +(fixes or customizations) of standard packages. To do this you need to put +your packages in a directory and run <strong>gen-repo</strong>, supplied with +<em>larch</em> in the 'scripts' directory, on this directory (run it without +arguments to get usage instructions). Then place an entry for this new +repository in your 'pacman.conf.repos'. +If your packages replace some in the existing repositories, your custom +repository needs to come before those repositories in 'pacman.conf.repos'. +Any packages you want installed now just need to be +listed in <strong>addedpacks</strong>. +</p> + + +<h3><a name="package_selection"></a>Selection of packages to be installed</h3> + +<p>The (compulsory) profile file 'addedpacks' contains a +list of packages +(just the package names, as supplied to 'pacman -S') to be installed, +one package name per line (empty lines and lines starting +with '#' are ignored). Also names of package groups may be included in this +file, to request installation of the whole group. If a group name is preceded +by '*', individual packages belonging to the group can be excluded via the +'vetopacks' file (see below) - without the '*' this exclusion +is not possible. It is also possible to +'include' other files by means of lines starting with '+' - this may be +followed by the absolute or relative path to the file to be included. +Package dependencies are handled by <em>pacman</em> automatically. +</p> +<p>The (optional) profile file 'vetopacks' allows packages to +be excluded from the installation list. This can be useful if individual +packages from a group should be excluded. However, note that inclusion of a +package in this file does not guarantee that it will not be installed - the +package is only removed from the installation list. If it is required by +another package it will be installed anyway. It is also possible to +'include' other files in the veto list using '+' lines. +</p> +<p>Certain 'required' and 'suggested' packages are included by +default, these are in the file 'data/requiredpacks' in the 'larch' package. +This file should generally not be edited, because an update of the 'larch' +package will overwrite any changes. Packages listed in this file can be +excluded by listing them in the profile 'vetopacks' file. +The whole file can be overridden in 'addedpacks' by +starting that with '!!!'. But only do that if you really know what you +are doing. +</p> + +</div> + + + <div class="topref"><a href="#top">Top</a></div> + </div> + <!-- begin: #footer --> + <div id="footer"> + <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> + Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and + <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> + </div> + </div> + <!-- end: #footer --> + </div> + <!-- end: #col1 --> + <div id="bottom"><div id="bl"><div id="bm"></div></div></div> + </div> +</div> +<!-- full skiplink functionality in webkit browsers --> +<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> +</body> +</html> diff --git a/build_tools/larch7/larch0/docs/html/css/larchdocs.css b/build_tools/larch7/larch0/docs/html/css/larchdocs.css new file mode 100644 index 0000000..cc8e6b7 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/screen/bark.jpg b/build_tools/larch7/larch0/docs/html/css/screen/bark.jpg Binary files differnew file mode 100644 index 0000000..5d5cc5b --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/bark.jpg diff --git a/build_tools/larch7/larch0/docs/html/css/screen/basemod.css b/build_tools/larch7/larch0/docs/html/css/screen/basemod.css new file mode 100644 index 0000000..84d49d5 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/screen/bottom-left.png b/build_tools/larch7/larch0/docs/html/css/screen/bottom-left.png Binary files differnew file mode 100644 index 0000000..aad30da --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/bottom-left.png diff --git a/build_tools/larch7/larch0/docs/html/css/screen/bottom-right.png b/build_tools/larch7/larch0/docs/html/css/screen/bottom-right.png Binary files differnew file mode 100644 index 0000000..2fb2fce --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/bottom-right.png diff --git a/build_tools/larch7/larch0/docs/html/css/screen/green-gradient200.jpg b/build_tools/larch7/larch0/docs/html/css/screen/green-gradient200.jpg Binary files differnew file mode 100644 index 0000000..5a5bacf --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/green-gradient200.jpg diff --git a/build_tools/larch7/larch0/docs/html/css/screen/larch150x.png b/build_tools/larch7/larch0/docs/html/css/screen/larch150x.png Binary files differnew file mode 100644 index 0000000..3c33343 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/larch150x.png diff --git a/build_tools/larch7/larch0/docs/html/css/screen/nav_vlist.css b/build_tools/larch7/larch0/docs/html/css/screen/nav_vlist.css new file mode 100644 index 0000000..d40631f --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/screen/top-left.png b/build_tools/larch7/larch0/docs/html/css/screen/top-left.png Binary files differnew file mode 100644 index 0000000..2a66a57 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/top-left.png diff --git a/build_tools/larch7/larch0/docs/html/css/screen/top-right.png b/build_tools/larch7/larch0/docs/html/css/screen/top-right.png Binary files differnew file mode 100644 index 0000000..c61ad6e --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/css/screen/top-right.png diff --git a/build_tools/larch7/larch0/docs/html/css/yaml/core/base.css b/build_tools/larch7/larch0/docs/html/css/yaml/core/base.css new file mode 100644 index 0000000..3619374 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/core/iehacks.css b/build_tools/larch7/larch0/docs/html/css/yaml/core/iehacks.css new file mode 100644 index 0000000..e56d2b7 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js b/build_tools/larch7/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js new file mode 100644 index 0000000..29e70d4 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/core/slim_base.css b/build_tools/larch7/larch0/docs/html/css/yaml/core/slim_base.css new file mode 100644 index 0000000..a2013e8 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/core/slim_iehacks.css b/build_tools/larch7/larch0/docs/html/css/yaml/core/slim_iehacks.css new file mode 100644 index 0000000..9b480f3 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/print/print_100_draft.css b/build_tools/larch7/larch0/docs/html/css/yaml/print/print_100_draft.css new file mode 100644 index 0000000..09b6867 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/css/yaml/screen/content_default.css b/build_tools/larch7/larch0/docs/html/css/yaml/screen/content_default.css new file mode 100644 index 0000000..f52c0e3 --- /dev/null +++ b/build_tools/larch7/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/larch7/larch0/docs/html/gui_installation.html b/build_tools/larch7/larch0/docs/html/gui_installation.html new file mode 100644 index 0000000..b689435 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/gui_installation.html @@ -0,0 +1,162 @@ +<!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>GUI Tab: Installation Tweaks</h3> + +<p>At present the only thing offered here is a bit of assistance in +managing packages within the installation. The database can be +resynchronized, packages can be added or removed. 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/larch7/larch0/docs/html/gui_larchify.html b/build_tools/larch7/larch0/docs/html/gui_larchify.html new file mode 100644 index 0000000..9e2e318 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/gui_larchify.html @@ -0,0 +1,187 @@ +<!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 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.larch0' 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/larch7/larch0/docs/html/gui_medium.html b/build_tools/larch7/larch0/docs/html/gui_medium.html new file mode 100644 index 0000000..2c1b010 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/gui_medium.html @@ -0,0 +1,220 @@ +<!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_mediumprofile.html"><h6>Next:</h6> + <div class="indent1">GUI Tab: Medium Profile Settings</div></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. +</p> + +<h3>Bootloader</h3> +<p>The choice between <em>GRUB</em> ('legacy') and +<em>syslinux/isolinux</em> is provided. Editing their configuration +files is covered on the <a href="gui_mediumprofile.html">'Medium Profile'</a> +tab. Whenever a 'larch source' is selected, the validity of this source is +tested, along with bootloader availability, so it could turn out +(according to the nature of the source), that one - or even both - of the +bootloaders is not available. To support a particular bootloader the +corresponding package must be installed in the <em>larchified</em> system. +</p> + +<h3>Selecting the source</h3> + +<p>In the 'normal' case this will be the first (default) option, the +<em>larchified</em> system. The other choices enable copying of an +already existing <em>larch live</em> medium (or building a boot CD +for a USB medium). If no <em>larchified</em> system has been built yet, +a warning will pop up and the build buttons will be disabled. +</p> + +<h4>Copying an existing <em>larch live</em> medium</h4> +<p>The other source options allow the system to be taken from one that +has already been built. This could be useful for copying from CD to +USB stick, or vice versa, or for copies which involve changes to an +option or two. The 'Device' source requires an unmounted partition +(if you're using some sort of automounting, you'll have to sort that +out yourself). The 'iso file' source allows you to select an 'iso' +image (ending '.iso') anywhere in the file-system. The 'Path' source +allows you to select a directory within the filesystem. If you want +to use a CD/DVD as source, mount it and use this option to +navigate to the mount point. +</p> + +<p>Note that whenever a new source is selected a check is run on it, +to check whether it could be valid and to determine one or two +attributes (e.g. available bootloaders). +</p> + +<h3>Build an <em>iso</em>, for CD or DVD</h3> +<p>Only limited customization possibilities are offered here, you can +set the volume label ('-V' option to <em>mkisofs</em>) and select from +the available bootloaders. The only option for medium detection is +'Search (for larchboot)', described below. +</p> + +<h3>Install to partitition</h3> + +<p>Here one must select the partition to install to - which must be +plugged in and not mounted (again, 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.</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 choice of bootloader will determine the file-system with which the +partition is formatted - for <em>syslinux</em> 'vfat' is used, for +<em>GRUB</em> 'ext2'. No other file-system types are supported at present. +There is also an option to install the <em>live</em> system without first +formatting the partition. This might be useful in certain very special +cases but it is generally <strong>not</strong> recommended. Another +option for experts only is to suppress the installation of the +bootloader. The bootloader is always installed to the Master Boot Record +of the <em>live</em> medium, which might not always be desirable, so +an installation without this step is also supported. +</p> + +<p>With the button 'Enable session-saving', you can determine whether the +medium gets a file 'larch/save', which is needed to enable the session +saving feature (this option overrides the profile's <em>nosave</em> +suggestion). +</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> + +<h3>Volume label</h3> +<p>The maximum length of the label should be 16 characters, which is ok +for 'iso' (CD/DVD) and for 'ext2' (GRUB on partition), but 'vfat' (syslinux +on partition) only accepts 11. +</p> + +<h3>Write the larch medium</h3> +When enough information is available, this button will be enabled and +the generation can be started. If an 'iso' file is to be generated, a +pop-up file-save dialog appears so that the destination can be specified. + +<h3>Create boot iso</h3> +<p>If a 'device' (partition) is selected as 'larch source', there is the +possibility of generating a boot CD for this <em>live</em> medium. This +is to cover cases where a machine cannot boot from USB devices, but can +boot from a CD. Just the kernel, <em>initramfs</em> and bootloader are put +in the boot <em>iso</em>. The <em>live</em> system's <em>initramfs</em> +will (hopefully) then be able to find the actual <em>live</em> medium. +The detection method can be selected, and it need not be the same as +that which the <em>live</em> medium itself uses. +Note that the USB device for which the CD is to be generated must be +plugged in (not mounted) and selected in the device chooser. +</p> + +<p>A pop-up file-save dialog appears so that the destination can be +specified. Note that the boot iso does not get the volume label shown +in the gui (that is for complete <em>larch</em> media), the default +generated by the back-end script 'boot_iso.py' is used. +</p> + +<h3>Use chroot</h3> + +<p>To increase portability and reduce demands on the build system, most +of the fancy processing can be done using the system which was installed +for <em>larchification</em>, via <em>chroot</em>. For normal installation +and building of a <em>larch</em> system this is the default, but when +using one of the other sources (for copying etc.) this approach is not +used by default - for the simple reason that there may well not be +a suitable <em>chroot</em> system available. The gui offers the +possibility of overriding this, so that if you do indeed have a +suitable <em>chroot</em> system, then you can use it if you want. +It is also possible to disable <em>chrooting</em> for the normal case, +but I'm not sure how useful this option is. +</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/larch7/larch0/docs/html/gui_mediumprofile.html b/build_tools/larch7/larch0/docs/html/gui_mediumprofile.html new file mode 100644 index 0000000..eb823c7 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/gui_mediumprofile.html @@ -0,0 +1,117 @@ +<!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: Medium Profile 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_medium.html"><h6>Previous:</h6> + <div class="indent1">GUI Tab: Preparing the Medium</div></a></li> + </ul> + </div> + </div> + </div> + <!-- end: #col3 --> + +<div class="larchdocs"> + +<h2 id="pagetitle" level="2">GUI Tab: Medium Profile Settings</h2> + +<p>The profile offers a few medium-specific configuration options: +</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 '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 a 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. Buttons are supplied to edit +these, 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 is a bit complicated, +because it tries to be flexible, but the default settings might be +adequate for many purposes. +There is a button to open a file browser on this directory +(within the current profile). +</p> + +<h3>Disable session saving</h3> + +<p>Checking this option will only cause the profile file 'nosave' to +exist. Whether session saving is then available on the <em>live</em> +medium depends firstly on whether the medium is writable (an 'iso' +file is not writable) and secondly on whether this option is +overridden at the actual build stage. This may make this option +appear a bit useless, but bear in mind that it is supplied in the +profile, and can thus act as a signal as to whether the profile +was designed with session saving in mind. +</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/larch7/larch0/docs/html/gui_project_settings.html b/build_tools/larch7/larch0/docs/html/gui_project_settings.html new file mode 100644 index 0000000..0cd4630 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/gui_project_settings.html @@ -0,0 +1,168 @@ +<!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-7</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 copy a profile within the 'myprofiles' +directory, by giving it another name, and thus creating a new, 'unattached' +version. +A new profile can be also be fetched from anywhere in the file-system, +using the browse button, but in this case it is not possible to supply a +new name for the profile directory (this can be done subsequently with +the rename button). +</p> + +<p>When renaming or browsing for 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/larch7/larch0/docs/html/index.html b/build_tools/larch7/larch0/docs/html/index.html new file mode 100644 index 0000000..2a6cad0 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/index.html @@ -0,0 +1,151 @@ +<!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 7.2.</p> + +<p>WARNING: larch-7.2 is still quite new and probably buggy, but it is +the recommended version, especially for command-line users - please +report bugs! +</p> +<p>Although relatively few changes have been made to the structure of the +profiles, it is not completely compatible with larch-7.1, so don't mix +the two. +</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</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> + </ul> + <li class="level1"><a href="medium.html">Preparing the larch live medium</a></li> + <ul> + <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#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#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> + <li class="level2"><a href="larch_live_system.html#aufs">[unionfs as an alternative to aufs]</a></li> + </ul> + <li class="level1"><a href="larch_sessionsave.html">Saving a session back to the boot device (or even somewhere else)</a></li> + <ul> + <li class="level2"><a href="larch_sessionsave.html#overlays">Overlay archives</a></li> + <li class="level2"><a href="larch_sessionsave.html#var_files">Special places in /var</a></li> + <li class="level2"><a href="larch_sessionsave.html#upd_packages">Updating packages</a></li> + <li class="level2"><a href="larch_sessionsave.html#de-Act">Activating and deactivating the session-saving feature</a></li> + <li class="level2"><a href="larch_sessionsave.html#custom">Customizing the behaviour using scripts</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> + <li class="level2"><a href="larch_running.html#change-medium">Copying the live system to other media</a></li> + </ul> + <li class="level1"><a href="larch_rebuild.html">Recompressing the whole system</a></li> + <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> + <li class="level2"><a href="gui_mediumprofile.html">GUI Tab: Medium Profile Settings</a></li> + <ul> + <li class="level3"><a href="gui_mediumprofile.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/larch7/larch0/docs/html/larch_features.html b/build_tools/larch7/larch0/docs/html/larch_features.html new file mode 100644 index 0000000..a6cf96d --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_features.html @@ -0,0 +1,180 @@ +<!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 customizable package selection</p> + </li> + + <li> + <p>Can use isolinux/syslinux or GRUB 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 latest udev-based hardware detection</p> + </li> + + <li> + <p>Based on squashfs, aufs, initramfs (using standard <em>Arch</em> + mkinitcpio)</p> + </li> + + <li> + <p>Changes made during a session can be saved back to the boot medium + (assuming it is writeable - USB-stick, hard-disk, etc.)</p> + </li> + + <li> + <p>Full graphical system possible, e.g. with KDE, OpenOffice, GIMP, ...</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>Copy to RAM possible, using boot parameter ('c2r')</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>New in version 7: easier use, <em>larch</em> now has a gui</p> + </li> + + <li> + <p>New in version 7: even kernel updates are supported via the normal + pacman update process</p> + </li> + + <li> + <p>New in version 7: 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/larch7/larch0/docs/html/larch_gui.html b/build_tools/larch7/larch0/docs/html/larch_gui.html new file mode 100644 index 0000000..814e949 --- /dev/null +++ b/build_tools/larch7/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_rebuild.html"><h6>Previous:</h6> + <div class="indent1">Recompressing the whole 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-7</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/larch7/larch0/docs/html/larch_intro.html b/build_tools/larch7/larch0/docs/html/larch_intro.html new file mode 100644 index 0000000..dfed676 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_intro.html @@ -0,0 +1,316 @@ +<!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> CD/DVD/USB-stick versions 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, 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 write to various media with a choice of bootloaders and the +<a href="larch_sessionsave.html">session saving</a> possibilities, +allowing changes made during a <em>live</em> 'session' to be saved +back to the boot device (as long as it is writable!). +</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>mkfs.vfat</em>, +<em>mkfs.ext2</em>, <em>blkid</em> and <em>sfdisk</em> - and of course +<em>chroot</em> - are assumed to be present (on <em>Arch</em> that is packages +'bash', 'dosfstools', 'e2fsprogs', 'util-linux-ng' and 'coreutils'). +</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 customization, so that even relatively inexperienced +users could build personalized <em>live</em> CDs (etc.), 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 +customized <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 customized <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. You can even 'livify' your existing +installation (though it might be worth tidying it up a bit first ...). +</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 design, 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 appear writable in spite of its actual read-only nature, +by using a writable 'overlay' in <em>tmpfs</em> (a memory-based file-system). +</p> + +<p>Normally any changes made to the system while running would be lost on +shutdown, but by saving the overlay to the boot medium (which is of course +only possible on devices which are actually writable, such as USB sticks), +data persistence can be achieved even though the basic system is actually +not writable. In spite of the different file-system structure of the +<em>live</em> system, it should behave almost identically to a normal Arch +installation in most respects. You can, for example, perform package +management as usual, but the changes are saved in the overlay, rather than +in the underlying system. Of course as the number of changes grows, so +does the size of the overlay, and at some point this will become +problematical. How <em>larch</em> manages this is explained in the +<a href="larch_sessionsave.html">session saving</a> section. +</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 the currently running +<em>Arch Linux</em> system, much less space is required as no new +system must be installed - but there are additional problems with this +approach which make it generally not the best way (see +<a href="larchify.html#existingSystem">the section dealing +with this</a>). +</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/larch7.2/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>sudo</em> to get administrator +permissions 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>larch-archin</strong> script) to prepare this. +This script 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 +(the default is '/home/larchbuild'). 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 a second +<em>squashfs</em> archive is built, which will function as a sort of +'patch' file for the basic installation, containing a few necessary +adjustments for running as a <em>live</em> system and also the +customizations 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>larch-larchify</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>larch-live_iso</strong> script creates an <em>iso</em> file, which +can then be written to a CD or DVD, the <strong>larch-live_part</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/larch7/larch0/docs/html/larch_live_system.html b/build_tools/larch7/larch0/docs/html/larch_live_system.html new file mode 100644 index 0000000..1f7bbeb --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_live_system.html @@ -0,0 +1,220 @@ +<!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_sessionsave.html"><h6>Next:</h6> + <div class="indent1">Saving a session back to the boot device (or even somewhere else)</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> CD/USB 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 in general any changes will be lost when the system shuts down, +the actual changes being made only in a RAM-based filesystem (but see +<a href="larch_sessionsave.html">"Session saving"</a>). +</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>union</em> layer is created, in the archive <strong>mods.sqf</strong>, +containing all the modified files. The user is free to include (pretty well) +any customizations (s)he wants in this overlay file, which is also placed +in the 'larch' directory of the boot device. +</p> + +<p>Using <em>larch</em>'s merge-overlay feature it is possible to +rebuild the 'mods.sqf' archive to incorporate subsequent changes to the +system. When this is done an additional <em>union</em> layer +(<strong>filter.sqf</strong>) will be created. For further details see the +<a href="larch_sessionsave.html">session saving page</a>. +</p> + +<p>These system archives are combined when the <em>live</em> system +boots. They are mounted as branches of a <em>union</em> (<em>aufs</em>) +file-system with the overlay above the 'standard' system, so that files in +the overlay have priority over the original ones. A further, <em>tmpfs</em>, +layer is placed on top of these, which effectively makes the whole system +writeable. When <a href="larch_sessionsave.html">session saving</a> is being +used this top layer is initialized during the boot sequence, by copying the +contents of a compressed archive (<strong>overlay.tar.lzo</strong>) into it. +<em>lzo</em> compression is used here because of its speed ('lzop' is a +dependency of the 'larch-live' package). +</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, prepare the <em>union</em> file-system and prepare it 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 several 'hooks' (code plug-ins) to the +<em>Arch Linux mkinitcpio</em> system (they are in the 'larch-live' package). +The first, 'larch1', is concerned with finding the boot device. +It can select a device on the basis +of UUID, partition label, partition name ('/dev/sdb1', etc.) or else it can +search all available devices for the file '/larch/larchboot'. A simple +validity check is made by testing the existence of the '/larch/system.sqf' +archive. +</p> + +<p>The second hook comes in two flavours - one for <em>aufs</em> and one +for <em>unionfs</em> - it just sets some variables according to which +unioning file-system is being used (at the moment only <em>aufs</em> +is properly supported). +</p> + +<p>The third hook, 'larch3', performs the actual preparation of the +<em>larch</em> root file-system, combining the system and overlay archives +with a <em>tmpfs</em> upper layer in a <em>union</em> and carrying out +various other initializations. +</p> + +<p>In order to generate the special <em>initramfs</em> a customized +'/etc/mkinitcpio.conf' is used, prepared during the build process from the +template '/etc/mkinitcpio.conf.larch0' and saved as +'/etc/mkinitcpio.conf.larch'. If you want to customize this, you need to +edit '/etc/mkinitcpio.conf.larch0' in 'rootoverlay' in the profile (the +gui has a button for this). +</p> + +<p>There is also a customized <em>mkinitcpio</em> preset in '/etc/mkinitcpio.d', +also working with a template - 'larch.preset0' is used to produce 'larch.preset' +during the build operation. In addition this preset replaces 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, but +the main addition is the session saving code. If booting from CD/DVD we will +want to eject this 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 'larch3' +hook in the initramfs 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 initramfs system ('larch3' 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> + +<h3><a name="aufs"></a>[<em>unionfs as an alternative to aufs</em>]</h3> + +<p>In principle, <em>unionfs</em> can be used instead of <em>aufs</em>, +but as <em>aufs</em> is supported by current <em>Arch Linux</em> kernels +it is obviously the first choice. Indeed the current <em>larch</em> code +probably won't work with <em>unionfs</em>, as it hasn't been tested - but +the framework to support it is in place. +</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/larch7/larch0/docs/html/larch_quick-console.html b/build_tools/larch7/larch0/docs/html/larch_quick-console.html new file mode 100644 index 0000000..bb50e70 --- /dev/null +++ b/build_tools/larch7/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</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 customized 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/larch7.2/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' 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 customizations 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-live_iso -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-live_part -p larch0/profiles/xmini 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> probably won't 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 customization 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/larch7/larch0/docs/html/larch_quick.html b/build_tools/larch7/larch0/docs/html/larch_quick.html new file mode 100644 index 0000000..eeb035b --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_quick.html @@ -0,0 +1,148 @@ +<!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</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</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 customizations +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 installed. + </li> + <li>Download the latest + <a href="ftp://ftp.berlios.de/pub/larch/larch7.2/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' 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 customizations necessary for the + <em>live</em> system and those specified in the profile. + </li> + <li>A few customizations of the medium are accessible on the 'Medium Profile' tab, + for example the bootloader configurations. + </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 customize 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 customization 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/larch7/larch0/docs/html/larch_rebuild.html b/build_tools/larch7/larch0/docs/html/larch_rebuild.html new file mode 100644 index 0000000..0433349 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_rebuild.html @@ -0,0 +1,100 @@ +<!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>Recompressing the whole 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_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">Recompressing the whole system</h2> + +<p>The <em>larch-live</em> package provides the 'larch-rebuild' script, which +regenerates the system archives 'system.sqf' and 'mods.sqf' from the state of the +system at the last session save (i.e. from the files on the boot medium). All the +changes which have been gathered in the overlay archive are merged into the new +'system.sqf', thus (potentially) reducing the space requirements considerably. The +directory for the storage of these new archives must be passed as argument to the +script. +</p> + +<p>No further handling of these new archives is provided with <em>larch</em> +at present, for the simple reason that it is difficult to find a general solution to the +question of what to do with them. They cannot just replace the archives on the +boot medium because these are required to keep the <em>live</em> system running. +So some temporary storage is needed for them, and it is quite conceivable that there +is not enough space on the medium (as that might well be the reason for wanting +to recompress the system in the first place). +</p> + +<p>Thus some details of how to implement this rebuild feature are currently left to +the creativity of the user. I would, however suggest that the medium file 'larch/boot-init' +(see <a href="larch_sessionsave.html#boot-init">boot-init</a>) might be a useful place +to perform the replacement of the archives. You would just have to write a script +using 'larch-rebuild' to save the new archives somewhere, and write this 'boot-init' +script to replace the old ones with the new ones, remembering to also delete any +sqf files ending in '_' and '~' and the 'overlay.tar.lzo' archive. +</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/larch7/larch0/docs/html/larch_running.html b/build_tools/larch7/larch0/docs/html/larch_running.html new file mode 100644 index 0000000..2275139 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_running.html @@ -0,0 +1,216 @@ +<!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_rebuild.html"><h6>Next:</h6> + <div class="indent1">Recompressing the whole system</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 'mini2' 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. Such a user is 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). If you have a writeable boot medium, such changes can be +'remembered' by saving the session when you shut the system down (the possibility +will normally be offered automatically). +</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 'c2r' are provided. +'swap' indicates that an existing swap partition should be used (the default +is not to use it). 'c2r' means 'copy to RAM', i.e. the system data is copied +to main memory before the system is initialized. This allow the system to run +very fast and frees up the boot device (e.g. the boot CD can be ejected and the +drive used for another CD), but it does require a lot of memory (significantly +more than the size of the boot medium), and the boot process is rather slow +because so much data must be copied. Because of the high memory usage, I have +arranged it so that 'c2r' also implies 'swap'. With A USB-stick as boot medium, +the 'c2r' parameter should generally not really be needed, performance is normally +pretty good and it doesn't occupy the CD-drive (if an extra boot CD is needed, on +a machine that can't boot directly from USB, that can be removed after +booting even without 'c2r'). +</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 use a slightly more elaborate login approach on +the first terminal, with a simple menu as well as automatic login. There is also +a logout gui for <em>xfce</em>, which together with the login script can +trigger session saving directly, bypassing the console prompt. +</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 by performing a 'session-save'. +</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>-7. -*** +<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 the GRUB 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 '/.livesys' directory (copied there from the 'larch/copy' +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 a <em>union</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). +</p> +<p>The <strong>larch2hdd</strong> script (in the <em>larch-live</em> package) +performs such an installation. The partition for the installation should exist +before calling this script, which will format it as <em>ext2</em>. The script +will also install GRUB, either to the same partition or else to the MBR. +</p> + +<h3><a name="change-medium"></a>Copying the <em>live</em> system to other +media</h3> +<p>The bootloader configuration files for both isolinux(/syslinux) and grub +are copied to the medium when it is being built, regardless of which +bootloader has actually been selected. This will, however, only happen +if the support packages for the corresponding bootloader is installed in +the <em>live</em> system. This behaviour allows the <em>larch</em> scripts +to copy an already built system from one medium to another, retaining the +boot commands, and even switching the bootloader. See the +<a href="medium.html">documentation</a> for +the 'larch-live_iso' and 'larch-live_part' scripts. +</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/larch7/larch0/docs/html/larch_sessionsave.html b/build_tools/larch7/larch0/docs/html/larch_sessionsave.html new file mode 100644 index 0000000..2f2ca95 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_sessionsave.html @@ -0,0 +1,191 @@ +<!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>Saving a session back to the boot device (or even somewhere else)</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="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">Saving a session back to the boot device (or even somewhere else)</h2> + +<p>An easy way to create a customized <em>live</em> system is to start from an +existing one, make whatever changes you like, and then save the result back to +the boot device. Of course, for this you need a writeable boot device, e.g. +a USB-stick. +</p> + +<h3><a name="overlays"></a>Overlay archives</h3> + +<p>In <em>larch</em> the uppermost layer in the union file-system is in +<em>tmpfs</em> and can (optionally) be saved at shutdown to the boot medium. +It is <em>compressed</em> using <em>tar</em> and <em>lzop</em> to the file +'overlay.tar.lzo'. When the system next boots this file will then be +unpacked into the initially empty top layer. +</p> + +<p>This is handled primarily by the 'shutdown2' script, supplied in the +'larch-live' package. It is called from a hook function in 'etc/rc.shutdown'. +If the medium is writeable and contains a file 'larch/save', the user is +offered the possibility of saving this overlay archive, thus saving the +current state. +</p> + +<p>When this archive grows too large it will reduce the amount of available +memory, perhaps to an unacceptable extent. +It will also lengthen boot and shutdown times. +To counter this, it is possible to merge the +overlay archive with the middle (<em>squashfs</em>) <em>union</em> layer, +<strong>mods.sqf</strong> (which is normally not copied to memory), +thus restoring the rapid load and save times for <strong>overlay.tar.lzo</strong>, +and maximizing the available memory. I call this process +'overlay merging', and it is offered as a shutdown option. The script +'merge_overlay' (in the 'larch-live' package) provides this facility. +It takes longer to execute than a normal session save, so it should probably +not be used for every session saving operation, but just when the top overlay +gets too big. Note that use of the overlay merging feature creates an +additional layer in the <em>union</em>, 'filter.sqf'. This contains only +'whiteout' files to cover up overwritten data in the underlying 'system.sqf'. +Unlike in previous <em>larch</em> versions the 'mods.sqf' archive contains +no 'whiteouts'. It is hoped that this new structure will cure the +problems experienced in these earlier versions. +</p> + +<h3><a name="var_files"></a>Special places in /var</h3> + +<p>It was considered undesirable to include some things in the '/var' directory +in the session saves, primarily because of the space they occupy. Firstly, +the standard <em>pacman</em> package cache, '/var/cache/pacman/pkg' - if you +do want to save your cache, you should either handle this manually or set +up another location using 'CacheDir' in /etc/pacman.conf'. Also the log files +(in '/var/log') and '/var/tmp' (temporary files, like '/tmp') are not saved. +</p> + +<h3><a name="upd_packages"></a>Updating packages</h3> + +<p>It is possible to perform package addition and removal in the <em>live</em> +system, but one should be aware that packages in the base system are not actually +replaced, just (effectively) hidden, so that the space usage might become a +consideration. Also the handling of kernel updates must be handled in a special +way, because it is stored outside the root file-system, on the boot medium +and needs a separate mechanism to save it at shutdown. It should be fairly +transparent to the user, but under certain circumstances it might be necessary +to bear this in mind. +</p> + +<p>At some point, after extensive updating, it might be desirable to completely +<a href="larch_rebuild.html">rebuild the system</a>, so that also +'system.sqf' is recreated. This will require quite a bit of space, +but should otherwise pose no great problems. +</p> + +<h3><a name="de-Act"></a>Activating and deactivating the session-saving feature</h3> + +<p>As mentioned above, for this feature to be available, there must be a +file with the name 'save' in the boot medium's 'larch' directory. This +will be generated automatically if installing to a partition (i.e. if not +building an <em>iso</em>) and if there is no 'nosave' file in the profile. +The gui provides a button to create and delete this 'nosave' file, +thus disabling or enabling session saving on the created medium. +</p> + +<h3><a name="custom"></a>Customizing the behaviour using scripts</h3> + +<p>Some aspects of the session saving can be customized by writing scripts to +override the default behaviour. These scripts are (in general) kept on the boot +medium, in the 'larch' directory. As these are shell scripts and their use requires +some knowledge of the inner workings of the <em>larch live </em>system, it will +almost certainly be necessary to read the existing <em>larch</em> scripts where the +custom scripts are 'sourced' if you want to +write your own scripts to change the behaviour of the <em>live</em> system in +this respect. All these scripts are found in the 'larch-live' package. +</p> +<ul> + <li><strong>session-save0</strong> + <p>Used in <strong>session-save/shutdown2</strong> (in function 'checkse'). + This script can be used to customize the creation of the new overlay + archive, e.g. by specifying a new location. The default is + 'overlay.tar.lzo' on the boot medium. + </p> + </li> + <li><strong>save-menu</strong> + <p>Used in <strong>session-save/shutdown2</strong> (in function + 'session-save'). This script can be used to further customize the creation + of the new overlay archive, e.g. by providing an alternative session save + menu. Note that if the <strong>session-save0</strong> script specified + an alternative device path for saving the overlay, this script will be + sought in the 'larch' directory on that path. + </p> + </li> + <li><a name="boot-init"></a><strong>boot-init</strong> + <p>In initramfs hook <strong>larch3</strong>. This 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. + </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/larch7/larch0/docs/html/larch_ssh.html b/build_tools/larch7/larch0/docs/html/larch_ssh.html new file mode 100644 index 0000000..85bc9e2 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larch_ssh.html @@ -0,0 +1,212 @@ +<!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_sessionsave.html"><h6>Previous:</h6> + <div class="indent1">Saving a session back to the boot device (or even somewhere else)</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 by +using the session saving feature) 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 +session saving feature). +</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/larch7/larch0/docs/html/larchify.html b/build_tools/larch7/larch0/docs/html/larchify.html new file mode 100644 index 0000000..3c44db1 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/larchify.html @@ -0,0 +1,151 @@ +<!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 combine all this information into two +squashfs archives and an <em>initramfs</em> (to allow the <em>live</em> system +to boot). Let's call this step 'larchification' (from the verb 'larchify'). +The lowest layer in the <em>aufs</em> mount is the raw installation, +which is compressed into a <em>squashfs</em> archive, 'system.sqf'. +All the modifications specified in the profile, as well, as some +common to all <em>larch</em> systems are in the archive 'mods.sqf', which +'overlays' the basic installation. +</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>. +The bulk of the code in the <em>larchify</em> script is concerned with +building the 'mods.sqf' overlay, and 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 +within '/etc/mkinitcpio.d' (which are reversible when the <em>live</em> +system is installed as normal <em>Arch Linux</em> system) and a special +<em>mkinitcpio</em>' configuration file, '/etc/mkinitcpio.conf.larch' +is generated automatically (and thus should not be +touched by human hands!) from '/etc/mkinitcpio.conf.larch0'. +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. +The installation 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>Also the currently running (<em>Arch</em> only!) system can be +<em>larchified</em>, by setting the installation path to '/'. +This is, however, not recommended. Building from a running system can easily +result in data corruption because the file-system might well change during +the build process. +</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> + +</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/larch7/larch0/docs/html/medium.html b/build_tools/larch7/larch0/docs/html/medium.html new file mode 100644 index 0000000..01b0fec --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/medium.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>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 two <em>squashfs</em> +archives, 'system.sqf' and 'mods.sqf', and the 'boot' directory, +containing the kernel and <em>initramfs</em>. +</p> + +<p>This stage adds the bootloader files and user-defined customizations +which are directly copied to the medium rather than being included in +the <em>squashed</em> archives. The result is written to an +<strong>iso</strong> file (for writing to CD/DVD) or directly to a +partition on a disk(-like) device, such as a USB stick. +See the <a href="profiles.html#cd-root">cd-root</a> section in the +profiles documentation for details on how to customize this data. +</p> + +<p>It is also possible to use an existing <em>larch</em> medium as input +in order to copy the system to a different medium, potentially also +changing the bootloader (only possible if the <em>live</em> system +was built with support for the new bootloader). +</p> + +<p>The command line script for building an <em>iso</em> is +<strong>larch-live_iso</strong>. Run 'larch-live_iso -h' to get a +usage message. +</p> + +<p>The command line script for installing to a partition is +<strong>larch-live_part</strong>. Run 'larch-live_part -h' to get a +usage message. +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 a +manner independent of which bootloader is used. The default version +is supplied in the 'larch' package (in the 'data' directory), but this +will be overridden by a version supplied in the profile. The unprocessed +version is also saved in the 'boot' directory of the created medium, to +allow later copying of the medium with a different bootloader. +</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 the +<strong>larch-boot_iso</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 using the session saving +feature will not work in this case (the boot directory of the USB device +would be updated, not that of the 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/larch7/larch0/docs/html/profiles.html b/build_tools/larch7/larch0/docs/html/profiles.html new file mode 100644 index 0000000..a4c4a22 --- /dev/null +++ b/build_tools/larch7/larch0/docs/html/profiles.html @@ -0,0 +1,326 @@ +<!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). +</p> + +<h3><a name="cd-root"></a>The <strong>cd-root</strong> directory</h3> + +<p>This directory contains files that will be (more or less) directly copied +to the <em>larch</em> medium, partly dependent on the available bootloaders. +</p> + +<p>Bootloader independent files are provided in the 'larch' package at +'cd-root/boot0'. Individual files can be added or substituted by +supplying them in the <em>profile</em> at <strong>cd-root/boot</strong>. +It is also possible to completely replace the basic boot directory by +having <strong>cd-root/boot0</strong> in +the profile - then the default version will not be used. These files are +copied to the 'boot' directory of the bootable medium. +</p> + +<p>There are also directories for bootloader dependent files. These are only +copied over if the <em>live</em> system has support for the corresponding +bootloader (i.e. if the corresponding packages - 'grub' and 'syslinux' - are +installed). These end up as subdirectories of the medium's 'boot' directory, +'boot/grub', 'boot/syslinux' or 'boot/isolinux', and work in a similar way to +the 'boot(0)' directories. <em>larch</em> provides default versions of these +directories in 'cd-root/grub0' and 'cd-root/isolinux0'. To extend these, or +replace individual files, place your changes in the directories +<strong>cd-root/grub</strong> and <strong>cd-root/isolinux</strong> in the +<em>profile</em> directory, if +you want to completely replace these directories, supply your versions in +<strong>cd-root/grub0</strong> and <strong>cd-root/isolinux0</strong> in the +profile directory. +</p> + +<p>The contents of the directory <strong>cd-root/larch/copy</strong> will +appear in '/larch/copy' on the medium. During booting the <em>larch live</em> +system will copy the contents of this directory to the <em>tmpfs</em> base +directory ('/.livesys'). This feature is not +used by the <em>larch</em> system itself, but it can be used in various +ways by the <em>live</em> system - the example profiles use it to some +extent, for controlling autologin and for data required for installation +as a normal <em>Arch</em> system (information on features specific to a +<em>live</em> system which should be stripped out if a normal installation +is performed). +</p> + +<p>The contents of the directory <strong>cd-root/larch/extra</strong> will +appear in 'larch/extra' on the medium but are otherwise unconnected with any +<em>larch</em> functionality. <em>Live</em> system designers can use this +in any way they like. +</p> + +<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>bootlines</strong> - This file contains bootloader independent + boot lines, so that the same file can be used for grub and isolinux/syslinux. + The gui provides a button to edit this file. + To get an idea of what should be in here look at the default version (in + the 'larch' package, 'data' directory), or just click on the edit button. + </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.larch0</strong> - Again for + convenience, the <em>larch</em> gui provides a button to edit this file, + which allows you to tweak the initramfs. This is a special version of + '/etc/mkinitcpio.conf' which is used to generate the initramfs for the + <em>larch live</em> system. The default version is supplied as + '/etc/mkinitcpio.conf.larch0' in the 'larch-live' package. Whatever else + you change, don't change the larch hooks. + </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>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> + + <li><strong>nosave</strong> - The existence of this file will suppress the + generation of the file 'larch/save' on a writable medium (unless overridden + by an option to the medium generation script). It is also copied to + 'larch/nosave' on the medium (also on non-writable media), so that this + message is available later, e.g. when copying the medium. + </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> |