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