summaryrefslogtreecommitdiffstats
path: root/build_tools/clarch/larch/docs
diff options
context:
space:
mode:
Diffstat (limited to 'build_tools/clarch/larch/docs')
-rw-r--r--build_tools/clarch/larch/docs/CHANGES109
-rw-r--r--build_tools/clarch/larch/docs/COPYING339
-rw-r--r--build_tools/clarch/larch/docs/LICENCE16
-rw-r--r--build_tools/clarch/larch/docs/README37
-rw-r--r--build_tools/clarch/larch/docs/ReleaseNotes37
-rw-r--r--build_tools/clarch/larch/docs/Splash_howto35
-rw-r--r--build_tools/clarch/larch/docs/html/index.html128
-rw-r--r--build_tools/clarch/larch/docs/html/larch1.jpgbin0 -> 8716 bytes
-rw-r--r--build_tools/clarch/larch/docs/html/larch_docindex.html126
-rw-r--r--build_tools/clarch/larch/docs/html/larch_features.html137
-rw-r--r--build_tools/clarch/larch/docs/html/larch_fstab.html87
-rw-r--r--build_tools/clarch/larch/docs/html/larch_intro.html128
-rw-r--r--build_tools/clarch/larch/docs/html/larch_live_system.html155
-rw-r--r--build_tools/clarch/larch/docs/html/larch_overview.html383
-rw-r--r--build_tools/clarch/larch/docs/html/larch_profiles.html167
-rw-r--r--build_tools/clarch/larch/docs/html/larch_quick.html108
-rw-r--r--build_tools/clarch/larch/docs/html/larch_running.html169
-rw-r--r--build_tools/clarch/larch/docs/html/larch_sessionsave.html162
-rw-r--r--build_tools/clarch/larch/docs/html/larch_ssh.html205
19 files changed, 2528 insertions, 0 deletions
diff --git a/build_tools/clarch/larch/docs/CHANGES b/build_tools/clarch/larch/docs/CHANGES
new file mode 100644
index 0000000..188cf99
--- /dev/null
+++ b/build_tools/clarch/larch/docs/CHANGES
@@ -0,0 +1,109 @@
+2008.08.10
+Version 5.3.8
+Added pacman-packed.tar.gz to repository, a self-contained pacman package,
+including the libraries it needs to run. So now building on non-Arch
+systems shuold work again.
+Adjusted larch-setup to handle this new package.
+'mirrorlist' now has '@carch@', which getPackageServer must handle (done
+in PKGBUILD)
+
+2008.08.09
+Version 5.3.7
+The packages.txt file is no longer supplied in Arch repositories, so inpacs
+now gets the list of base packages using (something like) 'pacman -Sg base'.
+As of pacman-3.2 there is no longer a static build, so building larch systems
+on non-Arch boxes will no longer work:(
+Tweaked xmaxi profile.
+
+2008.07.30
+Version 5.3.6
+Remove unmaintained kde profile, replace mc-utf8 by mc in addedpacks
+
+2008.06.22
+Version 5.3.5
+Fix mklarch for building on non-Arch system:
+ - need to create package cache, otherwise inpacs complains.
+ - tweak pacman.conf configuration concerning 'Include =' lines.
+ - usb2bootiso needs bash (#!/bin/bash, not #!/bin/sh)
+ - xpack (and existing .xpk files) fix (bash, not sh, and -n option to tail)
+Try to overcome problems with usb-stick creation when hal remounts device
+after formatting, by adding umount command.
+
+2008.06.07
+Version 5.3.4
+Removed warnings about kconfig (as this is no longer included in Arch kernels.
+Added check for mkisofs on host at beginning of buildlive (if building iso).
+Added check for syslinux on target at beginning of buildlive (if not using
+GRUB).
+Minor profile tweaks.
+
+2008.05.15
+Version 5.3.2, adjusted initscripts approach so that it doesn't require a
+custom initscripts package. Now rc.sysinit and rc.shutdown are replaced (in
+buildlive) by larch versions which are compatible with the standard versions.
+When larch-live is installed, the standard functions will be replaced by
+larch functions. On installation using larchin larch-live will be removed
+so the behaviour reverts to standard Arch behaviour, although the rc scripts
+have been changed. But in any case the originals are saved so that they can
+be restored on installation with larchin.
+
+Changed handling of pacman.conf slightly. When there is a pacman.conf in the
+profile (base directory, not overlay), this will be copied to the working
+directory and used by mklarch, even if there was already a version in the
+working directory. The pacman.conf in the live system will be this version
+if built using mklarch, otherwise the existing version. However an
+'IgnorePkg' line is added for kernel26, aufs and initscripts. Packages
+listed in the 'noupdate' file in the profile, will also be added. This
+line will be removed on installation using larchin.
+
+2008.04.27
+Version 5.3.0, new initscripts approach, replacing functions in
+/etc/rc.d/functions rather than replacing /etc/rc.sysinit and
+/etc/rc.shutdown. At present this requires a custom initscripts package.
+
+2008.04.21
+Version 5.2.2, added usb2iso, a fairly primitive script to make an iso from
+a larch usb-stick. It also works from a running larch system, but only on
+systems with a lot of memory.
+
+2008.04.05
+version 5.2.1, slight reworking of overlay handling in profiles - now files
+owned by root:root do not have to be in overlay.xpk, they can be held within
+directory 'rootoverlay', and their ownership will be changed automatically.
+Files to be copied to /.livesys at boot are now in larch/copy.
+Added larchquit.py to larch-live - special larch quit/logout gui, allows
+selecting session-save options and also autologin user before quitting desktop,
+included it in xmini menu/panel.
+Other tweaks to xmini profile.
+
+2008.02.27
+Incompatible changes. WARNING!
+With version 5.2 the init system has changed, in particular a custom inittab
+is now required, which means all old profiles are likely to fail (because of
+the /etc/inittab in the overlay).
+
+2008.02.19
+added desktop stuff for documentation
+
+2008.02.18
+version 5.1.3, bugfixes and work on profiles
+documentation updates
+
+2008.02.14
+Reorganization of directory layout,
+new 'larchin' hard disk installer with gui.
+larch version 5.1.0
+larch-live version 5.1.0
+larchin version 5.1.0
+
+2008.01.13
+Adjustments for changes in pacman-3.1, version 5.0.8
+
+2008.01.02
+Fixes for merging when file paths contain spaces (merge_overlay), version 5.0.7
+
+2008.01.02
+larch-5 (with simplified union structure, no CD/DVD session save) available
+for testing.
+
+Initial test release, version 5.0.6.
diff --git a/build_tools/clarch/larch/docs/COPYING b/build_tools/clarch/larch/docs/COPYING
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/build_tools/clarch/larch/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/clarch/larch/docs/LICENCE b/build_tools/clarch/larch/docs/LICENCE
new file mode 100644
index 0000000..b0e9208
--- /dev/null
+++ b/build_tools/clarch/larch/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 (gradgrind at online dot de)
+ \ No newline at end of file
diff --git a/build_tools/clarch/larch/docs/README b/build_tools/clarch/larch/docs/README
new file mode 100644
index 0000000..f212c35
--- /dev/null
+++ b/build_tools/clarch/larch/docs/README
@@ -0,0 +1,37 @@
+larch - scripts for building a highly customizable Arch Linux live CD/DVD
+ - or USB-stick
+ - also suitable for installing Arch Linux to a hard disk
+
+Author: Michael Towers (gradgrind at online dot de)
+Licence: GPL (see COPYING, LICENCE)
+
+
+I got my initial inspiration from the "Linux Live scripts" by
+
+Tomas M. <http://www.linux-live.org>
+
+BUT the larch scripts now bear essentially no resemblance to those,
+so don't blame Tomas!
+Thanks are, nevertheless, due to him for his great work, which helped me
+get started.
+
+The main documentation is in the share/docs subdirectory, please read it.
+
+The key components are:
+
+ inpacs - Install a fresh Arch system (with customizable package
+ selection), to a convenient (possibly temporary) location.
+
+ mklarch - Uses 'inpacs' to build an Arch installation in a convenient
+ directory, which it then makes into a live CD, adding
+ modifications (in an overlay) to suit it for use as a live
+ system and for customization.
+
+ larchify - Build a larch live system from an existing Arch Linux
+ installation (including from one made by 'mklarch').
+
+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/clarch/larch/docs/ReleaseNotes b/build_tools/clarch/larch/docs/ReleaseNotes
new file mode 100644
index 0000000..b1923d8
--- /dev/null
+++ b/build_tools/clarch/larch/docs/ReleaseNotes
@@ -0,0 +1,37 @@
+2008.01.02
+larch-5 (with simplified union structure, no CD/DVD session save,
+ extended USB-stick session save)
+
+Changes from larch-4:
+
+Split functionality of 'mklarch', so that rebuilds after a 'mklarch' run,
+and other builds from existing Arch installations, are now handled by the
+'larchify' script - 'larchify -h' for usage notes. 'mklarch' now only covers
+initial builds including installation - 'mklarch -h' for usage notes. Note
+that the options have changed!!! For instance, 'mklarch -p' now expects a
+directory as argument and there is no option to copy an example profile to
+the current directory.
+
+'pacin' replaced by 'inpacs' - 'inpacs -h' for usage notes. It is now
+possible to fully customize pacman caches, and even pacman databases,
+including the use of locally networked computers as source (using sshfs or
+NFS). Thus a larch build can be made without an internet connection, if
+all the packages are available locally on a suitably configured Arch
+system.
+
+Completely new union/overlay structure. The overlay is now copied to the
+writable union layer at boot, and can be copied back at shutdown. This
+should speed up session-saving, especially through the use of lzo
+compression rather than squashfs. An additional advantage is that no extra
+memory is required for the reconstruction of the archive.
+
+When the overlay gets too large it can be merged into the secondary overlay,
+a squashfs archive (like in previous larch versions). This takes somewhat
+longer and requires memory for its construction, but subsequent simple
+session saves (to the primary layer) will be faster because of the reduced
+size.
+
+It should now also be possible to run 'larchify' on a running live system,
+allowing a complete reconstruction of the system from within itself,
+merging in updates - in principle even kernel updates should be manageable
+using this method.
diff --git a/build_tools/clarch/larch/docs/Splash_howto b/build_tools/clarch/larch/docs/Splash_howto
new file mode 100644
index 0000000..32660bb
--- /dev/null
+++ b/build_tools/clarch/larch/docs/Splash_howto
@@ -0,0 +1,35 @@
+Using vesamenu this is now much easier ...
+
+For the vesamenu, it is called a background image, rather than splash
+image, because the menu appears on top of it.
+All you need is a 640x480 image in png or jpg format (the default image
+in larch is called bkgd.jpg)!
+
+=======================================================================
+
+But here are the old instructions, just in case ... (the utility programs
+are in the 'syslinux' package):
+
+Splash screen for isolinux/syslinux
+-----------------------------------
+
+This could be easier ...
+Anyway, it needs to be in a particular format. 640 pixels wide and quite
+a bit less than 480 pixels high (to leave space for the boot text).
+Then it may not use more than 16 colours. You can reduce the colour
+depth by setting indexed mode in the GIMP (image - mode). It may be
+sensible to use only 14 or 15 colours (to leave something for the
+text?) - but I didn't really investigate this further. I reduced
+my image to 14 colours.
+Then you can export it to a .ppm file, which serves as input to the
+perl script ppmtolss16, (which comes from the syslinux tarball -
+its inverse is lss16toppm, which is also in there):
+
+./ppmtolss16 < splash.ppm > splash.lss
+
+To test this, convert it back and take a look at the result:
+
+./lss16toppm < splash.lss > test.ppm
+
+Just replace the existing splash.lss file (in cd-root/isolinux) with your
+version.
diff --git a/build_tools/clarch/larch/docs/html/index.html b/build_tools/clarch/larch/docs/html/index.html
new file mode 100644
index 0000000..8584186
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/index.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
+ <title>larch introduction</title>
+ <meta content="gradgrind" name="author" />
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_features.html">Next: Features</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big> &ndash; a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Introduction</h2>
+
+<p><em>larch</em> is a collection of scripts designed around the creation and
+use of live CD/DVD/USB-stick versions of <em>Arch Linux</em>.
+</p>
+
+<p>One design aim was easy customization, so that even relatively inexperienced
+users could build personalized live CDs (etc.), containing whatever packages they
+wanted and with their own personal configurations. The resulting medium should
+also be usable for installation purposes, so that one has a customized
+<em>Arch Linux</em> installation/rescue medium. As the content can be chosen
+freely, a comfortable working environment is possible - in contrast to
+the rather Spartan standard <em>Arch</em> installation CD.
+</p>
+
+<p><em>larch</em> also offers a flexible approach to building your live 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 live medium from this.
+You can even 'livify' your existing installation (though it might be worth
+tidying it up a bit first ...).
+</p>
+
+<p><em>Squashfs</em> offers convenient compression of the data on the CD so that
+up to about 2 GB of code can be included on a 700 MB CD. <em>aufs</em> (a
+'unification' file system, originally based on <em>unionfs</em>) offers
+the ability to write to all directories even though
+the CDROM is read-only, which allows such fancy stuff as installation
+of new software packages to the running live system. Using <em>aufs</em>
+you could do, say, 'pacman -S fluxbox' and <em>fluxbox</em> would be
+installed. The limit to the amount of overwriting is determined by the size of
+the available memory.
+</p>
+
+<p>All this would normally be gone when you reboot as the changes are
+really only stored in memory. However, thanks to various technical wizardry, it
+is also possible (on suitable media) to save any changes you make while running
+the live system back to the medium on shutdown.
+</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 larch live medium are in the <em>larch</em> package, which need not
+itself be installed in the live system, though it may be useful. Scripts and
+data for the live environment are provided in the <em>larch-live</em> package,
+which must be installed in the live system. There is also an optional installer
+(<em>larchin</em>, written in python and bash, with a <em>GTK</em> interface) which
+can install the live system to hard disk, providing a convenient way to install a
+ready-configured <em>Arch Linux</em> system.
+</p>
+
+<p>I have tried to maintain the distribution-independence of the
+<em>larch</em> scripts, so that they can be used on other <em>GNU/Linux</em> systems -
+you shouldn't need an <em>Arch Linux</em> installation in order to build a <em>larch</em>
+live medium, the dependencies (e.g. <em>bash</em>, <em>wget</em>,
+<em>mkisofs</em> ) should be satisfied on pretty well any <em>GNU/Linux</em> system
+(and a static version of <em>pacman</em> can be downloaded). In other words,
+it should not be difficult to generate your own customized <em>larch</em>
+CD on pretty well any <em>GNU/Linux</em> system.
+But I must admit that this feature hasn't been tested much.
+</p>
+
+<p>As with most stuff around <em>Arch Linux</em>
+it's not really designed for beginners - you should know your
+way around a <em>GNU/Linux</em> system (preferably <em>Arch</em>!), and have at least a
+minimal idea of running command-line stuff and editing configuration
+files. 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>Requirement:</b>
+You need quite a lot of space to create an <em>Arch Linux</em> live CD system - to build a
+700MB CD image you'll need up to about 4GB. That is because a complete <em>Arch Linux</em>
+system is installed, then a compressed ('squashed') verion is made, and then
+a CD image (iso). Building for a USB-stick requires slightly less space, as the
+iso-image is not built.
+</p>
+
+<br /><br />
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_features.html">Next: Features</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch1.jpg b/build_tools/clarch/larch/docs/html/larch1.jpg
new file mode 100644
index 0000000..70e2f56
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch1.jpg
Binary files differ
diff --git a/build_tools/clarch/larch/docs/html/larch_docindex.html b/build_tools/clarch/larch/docs/html/larch_docindex.html
new file mode 100644
index 0000000..0654d69
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_docindex.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
+ <title>larch documentation</title>
+ <meta content="gradgrind" name="author" />
+</head>
+
+<body>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Table Of Contents</h2>
+
+<p>This documentation covers <em>larch</em> version 5.3
+</p>
+
+<ol>
+ <li><a href="larch_intro.html">Introduction</a><br /><br /></li>
+
+ <li><a href="larch_features.html">Features</a><br /><br /></li>
+
+ <li><a href="larch_quick.html">Quick Start</a><br /><br /></li>
+
+ <li><a href="larch_overview.html"><em>larch</em> Overview</a>
+ <ul>
+ <li><a href="larch_overview.html#larch_installation">Installation
+ of the <em>larch</em> build system</a></li>
+
+ <li><a href="larch_overview.html#larch_using">Using
+ the <em>larch</em> build system</a></li>
+
+ <li><a href="larch_overview.html#running_mklarch">Quick <em>mklarch</em> overview</a></li>
+
+ <li><a href="larch_overview.html#running_larchify">Quick <em>larchify</em> overview</a></li>
+
+ <li><a href="larch_overview.html#Minimal_build_system_requirements">Minimal
+build system requirements</a></li>
+
+ <li><a href="larch_overview.html#pacman_conf">'pacman.conf' for building and live system use</a></li>
+
+ <li><a href="larch_overview.html#Squashfs_and_Unionfs">squashfs and aufs</a></li>
+
+ <li><a href="larch_overview.html#aufs">aufs as an alternative to unionfs</a></li>
+
+ <li><a href="larch_overview.html#Partial_rebuilding">Partial rebuilding</a></li>
+
+ <li><a href="larch_overview.html#Custom_packages">Custom packages</a></li>
+
+ <li><a href="larch_overview.html#Generating_the_basepacks_list">Generating
+the basepacks list</a></li>
+
+ <li><a href="larch_overview.html#addedpacks">addedpacks</a></li>
+
+ <li><a href="larch_overview.html#Installation">Installation
+of the "pristine" system</a></li>
+
+ <li><a href="larch_overview.html#existingSystem">Making a live CD from an
+ existing Arch installation</a></li>
+ </ul><br />
+ </li>
+
+ <li><a href="larch_profiles.html">Profiles</a>
+ <ul>
+ <li><a href="larch_profiles.html#xpack"><em>xpack</em> and non-root owned overlay files</a></li>
+ </ul><br />
+ </li>
+
+ <li><a href="larch_live_system.html">Structure of a <em>larch</em> live CD</a>
+ <ul>
+ <li><a href="larch_live_system.html#Squashfs_and_Unionfs">squashfs and aufs</a></li>
+
+ <li><a href="larch_live_system.html#initramfs">initramfs and mkinitcpio</a></li>
+
+ <li><a href="larch_live_system.html#rc_files">/etc/inittab, /etc/rc.sysinit and /etc/rc.shutdown</a></li>
+ </ul><br />
+ </li>
+
+ <li><a href="larch_fstab.html">/etc/fstab</a>
+ <ul>
+ <li><a href="larch_fstab.html#lvm">LVM</a></li>
+ </ul><br />
+ </li>
+
+ <li><a href="larch_sessionsave.html">Session saving</a>
+ <ul>
+ <li><a href="larch_sessionsave.html#overlays">Overlay archives, overlay.ovl and mods.sqf</a></li>
+
+ <li><a href="larch_sessionsave.html#var_files">Special places in /var</a></li>
+
+ <li><a href="larch_sessionsave.html#upd_packages">Updating packages</a></li>
+
+ <li><a href="larch_sessionsave.html#de-Act">Activating and deactivating the session-saving feature</a></li>
+
+ <li><a href="larch_sessionsave.html#custom">Customizing the behaviour using scripts</a></li>
+ </ul><br />
+
+ <li><a href="larch_ssh.html">ssh access</a>
+ <ul>
+ <li><a href="larch_ssh.html#ssh_x11">ssh and X11</a></li>
+ </ul><br />
+ </li>
+
+ <li><a href="larch_running.html">Running the live system</a>
+ <ul>
+ <li><a href="larch_running.html#bootparm">Boot parameters</a></li>
+
+ <li><a href="larch_running.html#config">Configuration</a></li>
+
+ <li><a href="larch_running.html#install">Installation to hard disk</a></li>
+ </ul><br />
+ </li>
+
+</ol>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_features.html b/build_tools/clarch/larch/docs/html/larch_features.html
new file mode 100644
index 0000000..23d1c35
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_features.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>larch features</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_intro.html">Previous: Introduction</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_quick.html">Next: Quick Start</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 383px; height: 321px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>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 live CD, the
+system is essentially pure <em>Arch Linux</em></p>
+ </li>
+
+ <li>
+ <p>Can also build live USB-sticks</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 necessary</p>
+ </li>
+
+ <li>
+ <p>Fully customizable package selection</p>
+ </li>
+
+ <li>
+ <p>Can use isolinux or GRUB bootloader</p>
+ </li>
+
+ <li>
+ <p>Automatic generation of /etc/fstab based on device detection;
+ can also detect LVM volumes (when configured to do so)</p>
+ </li>
+
+ <li>
+ <p>Does not require an <em>Arch Linux</em> system to build it, any modern <em>GNU/Linux</em> system should suffice</p>
+ </li>
+
+ <li>
+ <p>Can be used to install <em>Arch Linux</em> to hard disk - either the full live CD content
+or using ftp to install any desired packages in their latest versions</p>
+ </li>
+
+ <li>
+ <p>Uses latest udev-based hardware detection</p>
+ </li>
+
+ <li>
+ <p>Based on squashfs, aufs, initramfs (using standard Arch mkinitcpio)</p>
+ </li>
+
+ <li>
+ <p>Changes made during a session can be saved back to the boot medium
+ (assuming it is writable - USB-stick, hard-disk, etc.)</p>
+ </li>
+
+ <li>
+ <p>Full graphical system possible, e.g. with KDE, OpenOffice, GIMP, ...</p>
+ </li>
+
+ <li>
+ <p>Using ssh it's possible to run this CD/USB-stick on a system without
+monitor/keyboard - remote installation and rescue is also possible</p>
+ </li>
+
+ <li>
+ <p>Copy to RAM possible, using boot parameter ('c2r')</p>
+ </li>
+
+ <li>
+ <p>Optional use of existing swap partition ('swap' boot parameter)</p>
+ </li>
+
+ <li>
+ <p>Simple text configuration files</p>
+ </li>
+
+ <li>
+ <p>Extensive documentation</p>
+ </li>
+
+</ul>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_intro.html">Previous: Introduction</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_quick.html">Next: Quick Start</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_fstab.html b/build_tools/clarch/larch/docs/html/larch_fstab.html
new file mode 100644
index 0000000..8589ccd
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_fstab.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>/etc/fstab</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_live_system.html">Previous: Live CD structure</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_sessionsave.html">Next: Session saving</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>/etc/fstab and mount points</h2>
+
+<p>The file /etc/fstab determines mount points for the various devices and partitions
+available in the system. This is of course different in every computer, so a live CD
+has to be pretty flexible here. <em>larch</em> handles this by regenerating this file
+each time it boots, basing the content on the devices it discovers in the present system.
+</p>
+
+<p>Disk partitions are not mounted automatically by <em>larch</em>, as one of the main
+purposes was to act as an installation CD - for partitioning and formatting the
+partitions must be unmounted. But each detected disk partition and CDROM device should
+get an entry in '/etc/fstab' and a corresponding mount point in '/mnt'. Thus they
+can be mounted using 'mount /mnt/DEVICE' (or by using, say, KwikDisk in KDE).
+</p>
+
+<p>It may however, under certain circumstances, be desirable to have a persistent
+'/etc/fstab'. This can be achieved by placing "#KEEP" (without the quotation marks)
+at the beginning of a line in '/etc/fstab'. This could be done when making the
+original CD by putting the desired '/etc/fstab' file in the <em>overlay</em>,
+or else - in the case of a rewritable boot medium (e.g. USB-stick) - by
+editing '/etc/fstab' while running the live system and then performing a session
+saving reboot.
+A new '/etc/fstab' (and the associated mount points in '/mnt') can be generated
+at any time while running <em>larch</em>, by executing '<strong>gen_fstab -l</strong>'.
+This might be useful after repartitioning, for example. When the '-l' option is
+omitted, no updates are made, but the proposed changes are saved to '/tmp/fstab'
+and '/tmp/mnt'.
+</p>
+
+<h4><a name="lvm"></a>LVM</h4>
+
+<p><em>larch</em> can also handle LVM volumes, including automatically
+generating entries in '/etc/fstab' and mount points in '/mnt'.
+This must however be enabled
+in '/etc/rc.conf' (e.g. by putting the required entries in 'rcconfx' in the
+<em>profile</em> used to build the <em>larch</em> system). USELVM="yes" must
+be set and the module 'dm-mod' must be loaded (this is done
+automatically when USELVM="yes" is set). The supplied 'mini2' and 'xmini' example
+profiles contains this feature, and can thus be taken as an example.
+</p>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_live_system.html">Previous: Live CD structure</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_sessionsave.html">Next: Session saving</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_intro.html b/build_tools/clarch/larch/docs/html/larch_intro.html
new file mode 100644
index 0000000..8584186
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_intro.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
+ <title>larch introduction</title>
+ <meta content="gradgrind" name="author" />
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_features.html">Next: Features</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big> &ndash; a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Introduction</h2>
+
+<p><em>larch</em> is a collection of scripts designed around the creation and
+use of live CD/DVD/USB-stick versions of <em>Arch Linux</em>.
+</p>
+
+<p>One design aim was easy customization, so that even relatively inexperienced
+users could build personalized live CDs (etc.), containing whatever packages they
+wanted and with their own personal configurations. The resulting medium should
+also be usable for installation purposes, so that one has a customized
+<em>Arch Linux</em> installation/rescue medium. As the content can be chosen
+freely, a comfortable working environment is possible - in contrast to
+the rather Spartan standard <em>Arch</em> installation CD.
+</p>
+
+<p><em>larch</em> also offers a flexible approach to building your live 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 live medium from this.
+You can even 'livify' your existing installation (though it might be worth
+tidying it up a bit first ...).
+</p>
+
+<p><em>Squashfs</em> offers convenient compression of the data on the CD so that
+up to about 2 GB of code can be included on a 700 MB CD. <em>aufs</em> (a
+'unification' file system, originally based on <em>unionfs</em>) offers
+the ability to write to all directories even though
+the CDROM is read-only, which allows such fancy stuff as installation
+of new software packages to the running live system. Using <em>aufs</em>
+you could do, say, 'pacman -S fluxbox' and <em>fluxbox</em> would be
+installed. The limit to the amount of overwriting is determined by the size of
+the available memory.
+</p>
+
+<p>All this would normally be gone when you reboot as the changes are
+really only stored in memory. However, thanks to various technical wizardry, it
+is also possible (on suitable media) to save any changes you make while running
+the live system back to the medium on shutdown.
+</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 larch live medium are in the <em>larch</em> package, which need not
+itself be installed in the live system, though it may be useful. Scripts and
+data for the live environment are provided in the <em>larch-live</em> package,
+which must be installed in the live system. There is also an optional installer
+(<em>larchin</em>, written in python and bash, with a <em>GTK</em> interface) which
+can install the live system to hard disk, providing a convenient way to install a
+ready-configured <em>Arch Linux</em> system.
+</p>
+
+<p>I have tried to maintain the distribution-independence of the
+<em>larch</em> scripts, so that they can be used on other <em>GNU/Linux</em> systems -
+you shouldn't need an <em>Arch Linux</em> installation in order to build a <em>larch</em>
+live medium, the dependencies (e.g. <em>bash</em>, <em>wget</em>,
+<em>mkisofs</em> ) should be satisfied on pretty well any <em>GNU/Linux</em> system
+(and a static version of <em>pacman</em> can be downloaded). In other words,
+it should not be difficult to generate your own customized <em>larch</em>
+CD on pretty well any <em>GNU/Linux</em> system.
+But I must admit that this feature hasn't been tested much.
+</p>
+
+<p>As with most stuff around <em>Arch Linux</em>
+it's not really designed for beginners - you should know your
+way around a <em>GNU/Linux</em> system (preferably <em>Arch</em>!), and have at least a
+minimal idea of running command-line stuff and editing configuration
+files. 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>Requirement:</b>
+You need quite a lot of space to create an <em>Arch Linux</em> live CD system - to build a
+700MB CD image you'll need up to about 4GB. That is because a complete <em>Arch Linux</em>
+system is installed, then a compressed ('squashed') verion is made, and then
+a CD image (iso). Building for a USB-stick requires slightly less space, as the
+iso-image is not built.
+</p>
+
+<br /><br />
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_features.html">Next: Features</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_live_system.html b/build_tools/clarch/larch/docs/html/larch_live_system.html
new file mode 100644
index 0000000..5cd6f40
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_live_system.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>larch live system structure</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_profiles.html">Previous: Profiles</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_fstab.html">Next: /etc/fstab</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Structure of a <em>larch</em> live CD</h2>
+
+<p>The vast majority of the code that runs in a live CD/USB system is exactly
+the same as in a normal system running from hard disk.
+The main differences arise through the live CD/USB system being based on
+a read-only root file-system, so various adjustments are necessary to
+make the areas that must be writable appear to be so. I say 'appear to be'
+because in general any changes will be lost when the system shuts down,
+the actual changes being made only in a RAM-based filesystem (but see
+<a href="larch_sessionsave.html">"Session saving"</a>).
+</p>
+
+<h3><a name="Squashfs_and_Unionfs"></a>squashfs and aufs</h3>
+
+<p>In <em>larch</em>, as in many other live CD/USB 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 (normally about 2GB of uncompressed code and data
+can be squeezed onto a 700MB CDROM using this approach). 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 root directory of the boot device.
+</p>
+
+<p>For use in a live CD/USB system a few changes must be made to some files in the
+installation. In <em>larch</em> this is (at first) not done directly, the installed
+system is left in a 'clean' state. Instead of that, an additional <em>union</em> layer
+is created, in the archive <strong>mods.sqf</strong>,
+containing all the modified files (except those in /etc, which are placed in the
+top, writable, <em>union</em> layer, which is saved in the <strong>overlay.ovl</strong> archive.
+The user is free to include (pretty well) any customizations (s)he wants in these
+overlay files. These files are also placed in the root directory of the boot device.
+</p>
+
+<p>These system archives are combined when the live CD/USB system
+boots. They are mounted as branches of a <em>union</em> file-system with
+the overlay above the 'standard' system, so that files in the overlay have
+priority over the original ones. The top layer of the <em>union</em> is a <em>tmpfs</em>
+writable layer (thus, effectively, making the whole system writable),
+into which the archive <strong>overlay.ovl</strong> is unpacked during booting.
+As the changes are only stored in RAM, they will, however, be lost when the system shuts
+down (unless using the <a href="larch_sessionsave.html">session saving</a> feature).
+</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 live CD/USB system.
+Some form of 'initrd' or 'initramfs' is required, in order to find the boot
+device, get hold of the file-system and prepare it for running.
+Many modern <em>GNU/Linux</em> systems use initrd/initramfs (the former being now deprecated)
+as a matter of course, for loading the necessary kernel modules, and
+<em>Arch Linux</em> is no exception, a modular initramfs system (<em>mkinitcpio</em>)
+being the standard way to boot <em>Arch Linux</em>, and <em>larch</em> also takes
+advantage of it, although some additions need to be made to boot live CD/USB systems.
+</p>
+
+<h3><a name="rc_files"></a>/etc/inittab, /etc/rc.sysinit and /etc/rc.shutdown</h3>
+
+<p>The initial boot script and the shutdown script must be customized for use
+in a larch live environment. There are numerous ways of achieving that and
+<em>larch</em> has tried out several. In version 5.3.2 a method was introduced which
+involves replacing the original /etc/rc.sysinit and /etc/rc.shutdown scripts
+by modified versions which are fully equivalent to the official scripts but
+split off certain parts into functions which can be overridden when used in a
+<em>larch</em> live system. The 'larch-live' package provides the files
+/etc/larch-sysinit and /etc/larch-shutdown which provide the new versions
+of these functions for live use.
+<p>The need to overwrite certain system files is a bit messy, and means that
+the initscripts package should not be updated in the live system, but I
+hope the official package will sometime itself contain suitable versions of the
+'/etc/rc.sysinit' and '/etc/rc.shutdown' files which separate out the
+relevant functions so that larch doesn't need to overwrite them.
+</p>
+<p>Although it is not strictly necessary (because the substituted files are
+fully equivalent to the official ones), larch saves the originals as
+'/etc/rc.sysinit.larchsave' and '/etc/rc.shutdown.larchsave', so that these
+can be restored on installation by <em>larchin</em> (this might avoid later
+confusion).
+</p>
+
+<p>It is possible to use a customized version of '/etc/inittab', by
+putting the new version in the <em>profile</em> (in 'rootoverlay') - for
+example one could customize the handling of the first terminal, e.g. to
+allow automatic login.
+The original <em>inittab</em> is saved as '/etc/inittab.larchsave',
+so that it can be restored if the system is installed using <em>larchin</em>.
+</p>
+
+<p>One addition in the <em>larch</em> version of the initscripts is the
+automatic generation of a new '/etc/fstab' (using the script
+<strong>gen_fstab</strong>, which
+bases the result on the devices which are detected in the system). Otherwise
+it behaves much the same as the version in
+a normal <em>Arch Linux</em> system. However, the remount of the root-filessystem and
+file-system checks have been left out as they are not relevant in a live-CD
+environment. No partitions are mounted and, by default, swap is not enabled.
+The reason is primarily that for use as an installation CD, it is better not
+to have any partitions mounted, because it is quite likely that the partitions
+will be edited in preparation for the installation. Passing boot parameter
+'swap' will enable swap if there is a suitable partition (or it can be done
+manually using 'swapon -a').
+</p>
+
+<p>'/etc/rc.shutdown' is adapted by
+adding code to deal with session-saving (writing changes back to the boot medium)
+and to eject the live-CD. Unlike in the normal version, the hardware clock is not reset.
+</p>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_profiles.html">Previous: Profiles</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_fstab.html">Next: /etc/fstab</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_overview.html b/build_tools/clarch/larch/docs/html/larch_overview.html
new file mode 100644
index 0000000..3bf38fb
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_overview.html
@@ -0,0 +1,383 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>larch overview</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_quick.html">Previous: Quick start</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_profiles.html">Next: Profiles</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Overview of the <em>larch</em> build system</h2>
+<br />
+
+<blockquote>
+<h3>Warning</h3>
+
+<p><em>Before we get started I should point out that most of the scripts need to
+be run by the 'root' user. That is quite normal for an installer, but it is somewhat
+risky - a slight slip and all sorts of damage could be done. Ideally you would
+have a machine specially set aside for this sort of thing, i.e. one without any
+important data on it. <strong>You have been warned!</strong></em>
+</p>
+</blockquote>
+
+<h3><a name="larch_installation"></a>Installation of the <em>larch</em> build system</h3>
+
+<p>The <em>larch</em> package may 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.
+</p>
+
+<p>Alternatively, <em>larch</em> may be used without installing it.
+This should also work on non-<em>Arch Linux</em> systems. Download
+<a href="ftp://ftp.berlios.de/pub/larch/larch5.3/i686/larch-setup"><strong>larch-setup</strong></a>
+to an empty working directory and run it (it is a shell script). This will in
+turn download and unpack the current larch package, setting up symlinks so that
+the build scripts can be run from this working directory.
+If you don't put this new directory on your 'PATH', you may well
+need to add a path prefix when running it (e.g. './mklarch' if your current
+directory is the one containing the script).
+</p>
+
+<h3><a name="larch_using"></a>Using the <em>larch</em> build system</h3>
+
+<p>For building a live medium from a 'profile' you need, primarily, <strong>mklarch</strong>;
+for building from an existing installation (including rebuilding after using
+<strong>mklarch</strong>) <strong>larchify</strong>. <strong>mklarch</strong>
+uses <strong>inpacs</strong> to do the actual installation of the packages,
+and the functions for performing the live CD creation are in the file
+(larch/)<strong>buildlive</strong>.
+</p>
+
+<p>Unlike a normal installation, that used by larch need not be a separate partition,
+it can be placed anywhere convenient.
+The default installation directory ('/home/larchroot', variable 'INSTLDIR' in the scripts)
+should normally be acceptable (the building work is done in the '.larch' sub-directory).
+Note that lots of space is necessary in ${INSTLDIR}, nearly 4GB for a 700MB CD.
+</p>
+
+<h3><a name="running_mklarch"></a>Quick <strong>mklarch</strong> overview</h3>
+
+<p>That first stage is very much like a normal <em>Arch</em> installation to a
+partition - which is another possibility with the <strong>inpacs</strong> script.
+A couple of small tweaks are made to this base installation to make it more
+convenient for live CD/USB use: some glibc locales are generated (set by the file
+locale.gen in the profile) and, if <em>openssh</em> is installed, the initial
+ssh-keys are generated.
+</p>
+
+<p>Before <strong>mklarch</strong> can be used a 'profile' for the live medium must
+be built. This is a folder containing configuration files determining which packages
+are installed, which glibc locales are installed, and generally which files should
+be customized. Further details are given in <a href="larch_profiles.html">'Profiles'</a>.
+</p>
+
+<p>A simple way to build an iso would then be:
+<pre style="margin-left: 80px;">./mklarch -p myprofile</pre>
+</p>
+
+<p>To build a live USB-stick using GRUB to boot and using the <em>pacman</em>
+databases as they exist on the build host (rather than the default of
+downloading the latest databases using 'pacman -Sy'):
+<pre style="margin-left: 80px;">./mklarch -p myprofile -y /var/lib/pacman -ug</pre>
+</p>
+
+<p>The build process can be stopped after the <em>Arch</em> system installation (before building
+the 'squashed' live system) by passing the '-a' option to <strong>mklarch</strong>.
+All the available options can be seen by running 'mklarch -h'.
+</p>
+
+<p>The rest of the build process is handled by the functions in
+<strong>buildlive</strong>, primarily <em>mklive</em>,
+which puts all the various components together into a CD image at
+'${INSTLDIR}/.larch/cd', then using the <em>build_iso</em> function
+to create the iso or (using the <strong>usbboot</strong> script) to prepare
+a bootable USB-stick.
+</p>
+
+<p>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 - Share and Enjoy!
+</p>
+
+<h3><a name="running_larchify"></a>Quick <em>larchify</em> overview</h3>
+
+<p><strong>larchify</strong> uses the functions in <strong>buildlive</strong> to
+build a live medium from an existing <em>Arch Linux</em> installation. It can also be
+used to rebuild a (posibly altered) live medium from the installation arising
+from the use of <strong>mklarch</strong>. For example, after building an iso
+using <strong>mklarch</strong>, you might want to build another with the same packages
+but with a changed overlay - maybe an alteration to rc.conf. In that case you
+could make the necessary changes to the profile and call:
+<pre style="margin-left: 80px;">./larchify -rp myprofile</pre>
+The '-r' option causes the old squashed image to be used, which can save a lot
+time. To see all the options run './larchify -h'.
+</p>
+
+<h3><a name="Minimal_build_system_requirements"></a>Minimal build system requirements</h3>
+
+<p>The <em>larch</em> scripts have been designed to work without heavy
+demands on the build system. Although they have been developed under <em>Arch Linux</em>,
+they should run on other <em>GNU/Linux</em> systems. The required software has been
+kept to a minimum by means of a sort of bootstrapping - some 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. <em>bash</em>, <em>mkisofs</em> and <em>wget</em>
+are assumed to be available (for building a USB-stick version with syslinux you
+also need <em>mkfs.vfat</em> from the 'dosfstools' package). If you are not
+running <em>Arch Linux</em>, the installation script
+(<strong>larch-setup</strong>) will set up pacman using a special package
+available from the larch repository (pacman-packed.tar.gz), which contains
+in addition to the pacman binary the run-time libraries it needs.
+</p>
+
+<h3><a name="pacman_conf"></a>'pacman.conf' for building and live system use</h3>
+
+<p>You also need an appropriate 'pacman.conf' file. On a non-<em>Arch</em> system,
+unless a pacman.conf is already present in the working directory, this will be
+created afresh and a dialog will be presented by <strong>larch-setup</strong>
+to select a mirror. Because of potential overwriting (see below) this file
+is also copied to pacman.conf.0 (also in the working directory).
+</p>
+<p>On an <em>Arch</em> system it is assumed that you have already configured your
+mirrors appropriately, and the system '/etc/pacman.conf' can be taken.
+</p>
+<p>When there is a 'pacman.conf' in the profile (base directory, not overlay),
+this will be copied to the working directory and used by <em>mklarch</em>
+for performing the installation, even if
+there was already a version in the working directory. The 'pacman.conf' in
+the resulting live system will also be this version if built using
+<em>mklarch</em> (i.e. taken from the resulting file in the working
+directory). If <em>larchify</em> is used the existing '/etc/pacman.conf'
+within the system to be larchified will be used. However, if the overlay in
+the profile has its own '/etc/pacman.conf' this will (in both cases) be
+used in preference.
+</p>
+<p>Additionally, an 'IgnorePkg' line is added to the live system's '/etc/pacman.conf',
+for 'kernel26', 'aufs' and 'initscripts'. Packages listed in the 'noupdate' file
+in the profile, will also be added.
+This line will be removed on installation using <em>larchin</em>.
+</p>
+
+<h3><a name="Squashfs_and_Unionfs"></a>squashfs and aufs</h3>
+
+<p>The newly installed system is made into a <em>squashed</em> file-system in the
+file <strong>system.sqf</strong>. This is mounted as the lower layer of a <em>union</em>
+(<em>aufs</em>) file-system. On top of that there is a writable
+<em>tmpfs</em> so that the file-system as a whole appears writable. An 'overlay'
+archive is copied into the writable layer. As this top layer is compressed using
+<em>lsop</em>, this package must be installed in the target.
+Of course only the <em>tmpfs</em> top layer can actually be written to,
+and its contents disappear when the system reboots, so the writing is only
+temporary.
+</p>
+
+<p>There is also a second overlay archive, a squashed file system which forms
+the middle layer of the union file-system, which increases the flexibillity of
+the session saving facility.
+</p>
+
+<p>In order to boot into a system constructed in that manner, you need an
+<em>initramfs</em> which deals with mounting all the various bits in the right
+way before entering the normal boot sequence. In <em>larch</em> the
+<em>initramfs</em> is built using the standard <em>Arch</em> 'mkinitcpio' system, for
+which special 'hooks' (essentially code plug-ins) have been developed to
+manage the requirements of a <em>larch</em> live system.
+</p>
+
+<h4><a name="aufs"></a>aufs as an alternative to unionfs</h4>
+<p><em>larch</em> was initially designed around <em>unionfs</em>, but since then
+<em>aufs</em> has been generally a more reliable alternative, and is now
+available as a package in <em>Arch Linux</em>. In order to use <em>aufs</em> its
+kernel module needs to be installed (which, if using <em>mklarch</em>, can be
+achieved by placing package 'aufs' in <strong>addedpacks</strong>), the rest
+will then be handled automatically. <strong>N.B.</strong> As <em>unionfs</em>
+hasn't been tested for a long time (all development work is done using
+<em>aufs</em>) and the current 'overlay merge' only works with <em>aufs</em>,
+it is strongly recommended that <em>aufs</em> be used.
+</p>
+
+<h3><a name="Partial_rebuilding"></a>Partial rebuilding</h3>
+
+<p>If you make some changes to a build which don't require a renewed
+installation (the <em>Arch</em> installation in '${INSTLDIR}'), you can use the
+<strong>larchify</strong> script to rebuild the system. Such changes might
+be tweaks to the overlay, or 'rcconfx', for example (but note that the glibc
+locales are in the installation so if you want to change these, you have to rerun the
+whole installation, or handle that manually). If - as is likely - the squashed system
+from the previous build is still there and is still valid,
+this can be reused by passing the '-r' option (thus saving the time required to
+squash the system).
+</p>
+
+<p> If you only make changes to files in '${INSTLDIR}/.larch/cd', you can rebuild
+the iso using the '-i' option to <strong>larchify</strong>. But be aware that
+some of the files in the directories 'isolinux' (when using the
+<em>isolinux</em> bootloader) and 'boot' (when using the <em>GRUB</em> bootloader)
+are renewed from 'larch/cd-root' and the 'cd-root' directory in the profile.
+</p>
+
+<p><em><strong>N.B.</strong> Even though the <em>Arch</em> installation is
+in principle now redundant, you shouldn't delete it if you want to do a quick
+rebuild using <strong>larchify</strong>, because this installation is used (via 'chroot')
+for some of the build functions.</em>
+</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> - which requires python -
+on this directory (run it without arguments to get usage instructions). Then place
+an entry for this new repository in your 'pacman.conf' (in the profile or else
+in the working directory).
+If your packages replace some in the existing repositories, your custom
+repository needs to come before those repositories in 'pacman.conf'.
+Any packages you want installed now just need to be
+listed in <strong>addedpacks</strong>.
+</p>
+
+<p>It is not necessary to build a custom kernel for <em>larch</em>, the
+standard kernel ('kernel26') can be used. It includes <em>unionfs</em>
+and <em>squashfs</em> modules, and is now included in the set of 'base'
+packages. If <em>aufs</em> is desired (which is likely, as at the time of writing,
+<em>unionfs</em> didn't work very well), this must be included in
+<strong>addedpacks</strong>.
+</p>
+
+<h3><a name="Generating_the_basepacks_list"></a>Generating
+the <em>basepacks</em> list</h3>
+
+<p>In case the base package set changes, <strong>inpacs</strong> uses the list
+provided by 'pacman -Sg base' by default. However, if there is a 'basepacks'
+file in the profile this will be used to supply the list of base packages
+(one package per line).
+</p>
+
+<p><strong>inpacs</strong> can also be used separately for <em>Arch</em> installation.
+To get a full listing of possible options run it without arguments (note that
+it pays no attention to profiles, all options must be passed explicitly).
+</p>
+
+<p>It is possible to filter out certain unwanted packages from the base set.
+In most cases the default setting will be satisfactory, but you can change it by
+placing a 'baseveto' file (one package per line) in the profile directory.
+Be aware, however, that vetoed packages will be installed anyway if they are
+required by some other installed package.
+</p>
+
+<h3><a name="addedpacks"></a><em>addedpacks</em></h3>
+
+<p>This group of packages is the main place for defining your system.
+Here you can enter all the applications you would like in your live CD/USB system
+(and subsequently installed to a hard disk partition, if that was your intention).
+Thanks to <i>pacman</i> you don't need to sort out dependencies,
+these should all be included automatically. It is (still) possible to
+squeeze (or rather 'squash') quite a respectable quantity of software
+onto a CD - my first experiments included most of <i>KDE</i>,
+<i>OpenOffice</i>, <i>K3b</i>, <i>GIMP</i>, and quite a lot
+besides.</p>
+
+<h3><a name="Installation"></a>Installation of the initial system</h3>
+
+<p>The foundation of the <em>larch</em> live CD/USB system is an initial,
+potentially unconfigured <em>Arch Linux</em> system <em>squashed</em> up in the file
+'system.sqf'. The installation of this system is can be handled by <em>mklarch</em>,
+which uses <em>inpacs</em>, which in turn uses <em>pacman</em> to
+install all the constituent packages using
+the '-r' option to install to the chosen location, which can be anywhere where
+there is enough space.</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. The '-c' option to <strong>mklarch</strong> allows another
+cache location to be used. Note that this can also be on a remote machine,
+mounted using <em>sshfs</em> or <em>NFS</em>.
+</p>
+
+<h3><a name="existingSystem"></a>Making a live CD from an existing <em>Arch</em>
+installation</h3>
+
+<p>As mentioned above, <strong>larchify</strong> can be used to make a live
+medium from an existing <em>Arch</em> installation, using the mount point of the
+installation as argument. The installation must already be mounted, including any
+sub-mounts (e.g. /home on another partition). The main mount must be with
+options 'exec,dev', because some of the building is done via a <em>chroot</em>
+to the installation.
+</p>
+
+<p>It can also 'livify' the currently running (<em>Arch</em> only!) system, by
+passing '/' as argument.
+</p>
+
+<p>All aspects of the larch building process connected with the installation
+are in this case irrelevant, as it is assumed that the installation is already complete.
+The handling of 'profiles' is also different as these are largely
+concerned with the installation process. A profile may still be used, though,
+maybe to customize the 'mkinitcpio.conf' used to build the live system's
+<em>initramfs</em>, or to add extra content by means of the <strong>cd-root</strong>
+folder, for example.
+</p>
+
+<p>In order to support building a <em>larch</em> system, certain packages outside
+the <em>Arch</em> base group must be installed in the system to be 'larchified':
+<pre style="margin-left: 80px;"><em>squashfs-tools</em>, <em>lzop</em>, <em>larch-live</em>,
+<em>aufs</em> (if - recommended - you want to use that instead of <em>unionfs</em>),
+<em>syslinux</em> (if using isolinux or syslinux),
+<em>cdrkit</em> (for building an iso),
+<em>eject</em> (to eject a CD at shutdown).
+
+for the hard-disk installer - <em>larchin</em>, <em>python</em>, <em>pygtk</em>,
+<em>parted</em>, <em>ntfsprogs</em>,
+(optional, but recommended) <em>gparted</em>.
+
+for this documentation, and for the capability of doing complete
+rebuilds - <em>larch</em>
+</pre>
+</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'.
+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 (as empty files) in the resulting
+'system.sqf'.
+</p>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_quick.html">Previous: Quick start</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_profiles.html">Next: Profiles</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_profiles.html b/build_tools/clarch/larch/docs/html/larch_profiles.html
new file mode 100644
index 0000000..68db618
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_profiles.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>larch profiles</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_overview.html">Previous: Overview</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_live_system.html">Next: Live CD structure</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linu</em>x CD</h1>
+
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Profiles</h2>
+
+<p>This feature of the <em>larch</em> scripts allows bundling
+all the configuration information for a particular live CD 'design' into
+a single directory. That includes the list of packages to be installed, locale
+information and the particular tweaks and additions needed to customize the CD,
+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>In order to allow more flexibility with the overlay, <em>larch</em> now
+provides two mechanisms for providing overlay files. The simplest is by
+means of the directory 'rootoverlay' - everything in this directory will be
+copied to the live system overlay and its ownership will be changed to
+'root:root'. In case it is desired to include files with other ownerships,
+these must be packed up with the correct ownerships into the file 'overlay.xpk'
+using the <em>xpack</em> packing utility (supplied with <em>larch</em>, see
+below). This requires some care, but is a little safer than, say, a 'tar.gz'
+archive because it has an option to pack so that only root can unpack the
+archive.
+In general however the 'rootoverlay' directory should be adequate, and
+much of the tweaking may be done <em>in situ</em> (i.e. within a running
+live USB system), using a utility - see
+<a href="larch_sessionsave.html">'Session saving'</a> - to recreate
+the compressed overlay file-system (<strong>overlay.ovl</strong>).
+</p>
+
+<p>If you would like to have a look at a profile, look in the 'profiles'
+directory in the distribution. Each of its subdirectories is a profile, the
+subdirectory name is also the profile name. If you want to make your own
+profile, it is probably easiest to start with one of the examples. Copy it to a
+working directory and rename it appropriately.
+</p>
+
+<p>After editing to your heart's content, you can build the corresponding live
+CD system with the call:
+<pre>
+ (path/to/)mklarch -p directory
+</pre>
+where 'directory' is your profile directory.
+</p>
+
+<p>The important files within a profile are described below:
+</p>
+<ul>
+ <li><strong>addedpacks</strong> - a simple list of packages (just package
+ name as supplied to 'pacman -S', e.g. 'syslinux', not the file name), one per line,
+ comment lines start with '#'.
+ This is the primary place for configuring which packages are installed.
+ </li>
+
+ <li><strong>locale.gen</strong> - <em>mklarch</em> prefixes this profile
+ file (if it is present) to the file '/etc/locale.gen' in the newly installed
+ system and runs 'locale-gen' (using <em>chroot</em>) to deal with glibc
+ locale generation.
+ So just put the locales you want in here.
+ </li>
+
+ <li><strong>rcconfx</strong> - This is a list of modifications for '/etc/rc.conf'.
+ It contains those variable definitions which are different to the default
+ values. This is then merged with the original to produce a modified overlay file.
+ </li>
+
+ <li><strong>rootoverlay</strong> - The files in this directory are effectively
+ copied on top of the original system - as an overlay. They (potentially)
+ form the bulk of the customization for the live system.
+ </li>
+
+ <li><strong>overlay.xpk</strong> - As described above this is a self-extracting
+ archive of 'overlay files', which can be used as an alternative to 'rootoverlay'
+ for non-root owned files.
+ </li>
+
+ <li><strong>mkinitcpio.conf</strong> - This file is optional. If it is present it will
+ replace the version in the 'lib/initcpio' folder of the
+ <em>larch-live</em> package to produce the initramfs
+ for the live CD. You should take that file as the starting point to ensure that
+ the necessary larch hooks are installed, but you are free to change other hooks
+ (e.g. use 'ide' instead of 'pata') or add modules.
+ </li>
+
+ <li><strong>basepacks</strong> - This file is optional. If it is present it
+ supplies a list of packages (one package per line, as <em>addedpacks</em>) to be
+ used instead of the standard list of 'core/base' packages for the basis of the
+ installation done by <em>mklarch</em>, preventing the 'packages.txt' file from the
+ 'core' repository from being downloaded and used as source for the base package list.
+ </li>
+
+ <li><strong>baseveto</strong> - This file is optional. It provides a list of
+ packages (one package per line) to be ignored in the base package list.</li>
+
+ <li><strong>cd-root</strong> - This directory contains files to configure the bootloader.
+ Those for <em>isolinux</em> are in the directory 'isolinux', which is copied to the
+ root CD directory when the <em>isolinux</em> bootloader is chosen. Those for
+ <em>GRUB</em> are in the directory 'boot', which is copied to the
+ root CD directory when the <em>GRUB</em> bootloader is chosen. Here you can
+ configure things like boot menus and splash screens.
+ Anything in the 'cd-root' folder will be copied directly to the root of the live medium, so
+ if there is anything else you want on your medium, you can put it in here.
+ </li>
+</ul>
+
+<h3><a name="xpack"></a><em>xpack</em> and non-root owned overlay files</h3>
+To include non 'root:root' owned files in an overlay, create a directory
+somewhere called 'overlay' and place all the desired files therein with the
+correct paths, ownerships and permissions. Then run
+<pre>
+ xpath -r overlay overlay.xpk
+</pre>
+(from within the directory containing 'overlay'). The resulting 'overlay.xpk'
+file should then be placed in your profile directory.
+If you want to unpack such an overlay archive, you need to be root, go to the
+directory containing it and run
+<pre>
+ ./overlay.xpk .
+</pre>
+(don't miss the final '.', the unpacker needs an existing
+directory as parameter).
+</p>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_overview.html">Previous: Overview</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_live_system.html">Next: Live CD structure</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_quick.html b/build_tools/clarch/larch/docs/html/larch_quick.html
new file mode 100644
index 0000000..4500f5d
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_quick.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>larch quick start</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_features.html">Previous: Features</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_overview.html">Next: Larch Overview</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Quick Start</h2>
+
+<br /><br />
+
+<p>A quick run through of the steps necessary to build your own <em>larch</em> CD.
+This should provide you with a working live CD, but to take full advantage of
+the flexibility offered by the <em>larch</em> build system you will probably need
+to consult the rest of the documentation.</p>
+
+<ul>
+ <li>At present there is only a repository for 'i686',
+ as I don't have a 64-bit machine (but testers are welcome to build their own
+ repository from svn - a simple script is provided).
+ </li>
+ <li>Download <a href="ftp://ftp.berlios.de/pub/larch/larch5.3/i686/larch-setup"><strong>larch-setup</strong></a>
+ to an empty working directory and run it (it is a shell script). This will in
+ turn download and unpack the current larch package, setting up symlinks so that
+ the build scripts can be run from this working directory.</li>
+ <li>Run './mklarch -h' to get a usage description.
+ </li>
+ <li>From now on you must be running as root, i.e. it's potentially dangerous stuff!
+ </li>
+ <li>You can then try building one of the example profiles, for example:
+ <pre>./mklarch -p larch/profiles/xmini</pre>
+ You can also adapt one of the example profiles to your own needs.
+ </li>
+ <li> If you chose a delivered profile, the build should just run, apart from
+ asking for confirmation a few times.
+ </li>
+ <li> For a custom build:
+ <ul>
+ <li> Copy an example profile (from larch/profiles) to your working directory, giving it
+ an appropriate name.
+ </li>
+ <li> Edit 'locale.gen' for your glibc locale needs.
+ </li>
+ <li> Edit 'rcconfx', which contains just the changes to the default
+ /etc/rc.conf. Especially the locale and console
+ keyboard setting may be interesting.</li>
+ <li> Editing the overlay (the set of files which are changed from the default
+ installation) might be a bit trickier, as permissions and ownerships must be
+ correct. Please read the relevant
+ <a href="larch_profiles.html">documentation</a>
+ before attempting this.</li>
+ <li> OPTIONAL: If you want ssh access to your live system,
+ see <a href="larch_ssh.html">'ssh access'</a></li>
+ </ul>
+ before running <em>mklarch</em>.
+ <li> Another possibility is to use <strong>larchify</strong> (run './larchify -h'
+ for a usage description) to 'livify' an existing <em>Arch Linux</em> installation, even
+ the currently running one. Certain packages must be installed, but then running
+ './larchify path/to/installation' should be
+ enough for a simple build. See <a href="larch_overview.html#existingSystem">
+ 'Making a live CD from an existing <em>Arch</em> installation'</a> for more details.</li>
+ <li> After a while, the iso for the CD should be ready for burning.</li>
+ <li> Alternatively, you can put it on a USB-stick, by passing the '-u' option
+ to 'mklarch'.</li>
+ <li> Share and Enjoy!</li>
+</ul>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_features.html">Previous: Features</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_overview.html">Next: Larch Overview</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_running.html b/build_tools/clarch/larch/docs/html/larch_running.html
new file mode 100644
index 0000000..e0d28f3
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_running.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
+ <title>running larch</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_ssh.html">Previous: ssh access</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_.html">Next: ????</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big>
+&ndash;
+a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Running a <em>larch</em> live-CD/USB system</h2>
+
+<p>Of course the details depend on what you have installed and how you have
+configured it. For example, the 'mini2' example profile builds a console-only system,
+the 'xmaxi' profile boots to xfce4.
+</p>
+
+<p>One thing worth noting is that these supplied profiles automatically login
+to the root account, which - potentially - allows all sorts of 'dangerous' actions,
+like reformatting your disks or making a mess of your file-systems in other ways.
+This is because one of the main <em>raisons d'ĂȘtre</em> for <em>larch</em> is its use
+as an <em>Arch</em>-installation-and-rescue medium. For this, you need root access.
+However, if you want to use the system in other ways, e.g. for text or image editing,
+or for internet browsing or e-mail writing, it might be safer to do this as an
+unprivileged user. Such a user is easily created with the 'adduser' command, or
+in KDE with 'kuser' (or using the 'luser.py' script in the <em>larch</em>
+'<em>luser</em>' package). If you have a writable boot medium, such changes can be
+'remembered' by saving the session when you shut the system down (the possibility
+will normally be offered automatically).
+</p>
+
+<h4><a name="bootparm"></a>Boot parameters</h4>
+
+<p>As the <em>larch</em> build system is highly configurable, the available
+boot parameters can also vary, but by default 'swap' and 'c2r' are provided.
+'swap' indicates that an existing swap partition should be used (the default
+is not to use it). 'c2r' means 'copy to RAM', i.e. the system data is copied
+to main memory before the system is initialized. This allow the system to run
+very fast and frees up the boot device (e.g. the boot CD can be ejected and the
+drive used for another CD), but it does require a lot of memory (significantly
+more than the size of the boot medium), and the boot process is rather slow
+because so much data must be copied. Because of the high memory usage, I have
+arranged it so that 'c2r' also implies 'swap'. With A USB-stick as boot medium,
+the 'c2r' parameter should generally not really be needed, performance is normally
+pretty good and it doesn't occupy the CD-drive (if an extra boot CD is needed, on
+a machine that can't boot directly from USB, that can be removed after
+booting even without 'c2r').
+</p>
+
+<h4><a name="config"></a>Configuration</h4>
+
+<p>The supplied profiles are just intended as starting points for your own
+configurations, they are fairly primitive, in fact only a little more than a newly
+installed <em>Arch</em> sytem. If you are running a profile with X11, you may find that you
+need to configure it before it will run. Since <em>Xorg</em> version 7.3, it
+is often possible to run without an <strong>/etc/X11/xorg.conf</strong>, but
+it may be necessary to create and tweak the configuration file for your system.
+You can try 'X -configure' or 'xorgconfig' to create a starting point which you can
+then tweak. Start X with <em>startx</em>.
+</p>
+
+<p>The 'xmini' and 'xmaxi' profiles use a slightly more elaborate login approach on
+the first terminal, with a simple menu as well as automatic login. There is also
+a logout gui for xfce, which together with the login script can
+trigger session saving directly, bypassing the console prompt.
+</p>
+
+<p>If you are stuck with the console, there is still hope. It's not as pretty or
+newbie friendly as an X11 desktop, but still quite capable. I always like to have
+<em>mc</em> available, it's a real godsend for non-geeks (you should also install
+<em>lynx</em> so that HTML files can be displayed on the console - at a
+pinch you can also surf with it, but it is painful).
+</p>
+
+<p>If your console keyboard map is
+wrong, try running <i>km</i> (I stole this from the
+standard Arch install CD and modified it a bit to work in <em>larch</em>).
+It also modifies '/etc/rc.conf', so the change can be retained for subsequent
+runs by performing a 'session-save'.
+</p>
+
+<p>If you have a DHCP server on your network, you might well find that
+the network interface is configured automatically (assuming your <em>rc.conf</em>
+is configured appropriately). On my prototype, I could just fire up <em>konqueror</em>
+and the world was my oyster, as they say. If not, well I'm afraid it's
+not so easy. Until someone comes up with something better, you'll have
+to edit the appropriate configuration files (primarily '/etc/rc.conf')
+- see the <em>Arch Linux</em> documentation for details - and then do
+'/etc/rc.d/network start'. If you already have a running network
+interface but want to change it, you may need to stop it running first,
+using 'stop' instead of 'start', then make the changes, then start it.
+I don't know if 'restart' would work (it stops then starts the network)
+after a change to the configuration.
+</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>
+
+<h4><a name="install"></a>Installation to hard disk</h4>
+
+<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). At the moment it is very fresh
+and rather minimal, probably rather buggy, but I hope it will improve over time.
+It is not intended as a complete solution for all aspects of <em>Arch</em> installation,
+but I have tried to concentrate on those areas that are unique to the installation
+process. In other words it does very little system configuration, because such
+requirements can also exist in an already installed system, so I think this should
+be covered by separate tools.
+<em>larchin</em> deals with partitioning and formatting of hard drives, placing
+<em>Arch Linux</em> (primarily a copy of the live system on which it is running)
+on the newly formatted partitions, and installation of the GRUB bootloader.
+It is so fresh that it hasn't yet got any documentation yet, but it's usage
+should be very straightforward - just run 'larchin.py', as root).
+</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 'larch0' in the '/.livesys' directory (copied there from the 'larch/copy'
+directory on the boot medium). This script is run at the end of the installation
+(if it exists) and allows custom installation actions to be performed.
+The possibility of doing a completely fresh installation using ftp to
+fetch the latest packages may be added at some point, but that is not yet certain.
+</p>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+
+ <td><a href="larch_ssh.html">Previous: ssh access</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_.html">Next: ????</a></td>
+
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_sessionsave.html b/build_tools/clarch/larch/docs/html/larch_sessionsave.html
new file mode 100644
index 0000000..edca50c
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_sessionsave.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
+ <title>larch session saving</title>
+ <meta content="gradgrind" name="author" />
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_fstab.html">Previous: /etc/fstab</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_ssh.html">Next: ssh access</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+
+<h1><big>larch</big> &ndash; a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>Saving a session back to the boot device (or even somewhere else)</h2>
+
+<p>An easy way to create a customized live-USB-stick is to start from an
+existing one, make whatever changes you like, and then save the result back to
+the USB-stick.
+</p>
+
+<h3><a name="overlays"></a>Overlay archives, <strong>overlay.ovl</strong> and
+<strong>mods.sqf</strong></h3>
+
+<p>In <em>larch</em> the <em>overlay</em> file-system (in the
+<em>compressed</em> file 'overlay.ovl') can be rebuilt
+from the state of the live system when it shuts down.
+This is handled primarily by the script <strong>/opt/larch-live/session-save/saveovl</strong>, which is
+called from the customized shutdown function.
+If the medium is writable and contains a file 'larch/save', the user is offered the possibility of
+rewriting the overlay archive, thus saving the current state.
+</p>
+
+<p>The main overlay archive (<strong>overlay.ovl</strong>) is unpacked into memory
+at boot and repacked when saving the session at shutdown. When this archive grows
+too large it will reduce the amount of available memory, perhaps to an unacceptable extent.
+It will also lengthen boot and shutdown times. To counter this, it is possible to merge the
+overlay archive into the middle <em>union</em> layer in <strong>mods.sqf</strong> (which is
+normally not copied to memory), thus restoring the rapid load and save times
+for <strong>overlay.ovl</strong>, and maximizing the available memory. I call this process
+'overlay merging', and it is offered as a shutdown option.
+It takes longer to execute than a normal session save, but from larch version 5.2
+a new <em>aufs</em> option allows the merging to be done quicker than it was
+previously and without significant extra memory requirements. In this version
+a separate <em>aufs</em> union of the two overlay layers is mounted in which
+the whiteouts are visible. This union can then be squashed directly, without
+requiring the new, merged overlay to be rebuilt in memory. As it is a feature
+of <em>aufs</em>, overlay merging is no longer supported for <em>unionfs</em>
+(note that <em>unionfs</em> is at present not actively supported in <em>larch</em>
+anyway).
+</p>
+
+<h3><a name="var_files"></a>Special places in /var</h3>
+
+<p>It was considered undesirable to include some things in the '/var' directory
+in the session saves, primarily because of the space they occupy. Firstly,
+the standard <em>pacman</em> package cache, '/var/cache/pacman/pkg' - if you
+do want to save your cache, you should either handle this manually or set
+up another location using 'CacheDir' in /etc/pacman.conf'. Also the log files
+(in '/var/log') and '/var/tmp' (temporary files, like '/tmp') are not saved.
+</p>
+
+<h3><a name="upd_packages"></a>Updating packages</h3>
+
+<p>It should be possible to include package addition and removal in the list
+of customizations undertaken using this method, but there are some limitations. Apart from
+size considerations (the top level overlay is unpacked into memory at boot), there is also
+a limitation connected with the kernel. Essentially, the kernel and its modules may not
+be updated. <strong>If you do this, you may well make a mess of your system</strong>.
+In other words, be very careful with 'pacman -Su' - only upgrade selected packages.
+</p>
+<p>The reason for this is that the kernel is not contained within the
+squashed file-system, but is held separately on the boot medium, while its modules
+are contained in the squashed system and also in the initramfs. Updating these is not
+impossible (if booting from a writable medium), but <em>pacman</em> cannot do it and
+it is not straightforward (e.g. using a CD to boot to a USB-stick on a computer not
+supporting USB boot would additionally need a new CD). A complete rebuild of the live
+system might be a better approach. And using 'larchify' it should even be possible to
+perform such a rebuild from within the running live system.
+</p>
+
+<h3><a name="de-Act"></a>Activating and deactivating the session-saving feature</h3>
+
+<p>As mentioned above, for this feature to be available, there must be a file with
+the name 'save' in the boot medium's 'larch' directory.
+</p>
+
+<h3><a name="custom"></a>Customizing the behaviour using scripts</h3>
+
+<p>Some aspects of the session saving can be customized by writing scripts to
+override the default behaviour. These scripts are (in general) kept on the boot
+medium, in the 'larch' directory. As these are shell scripts and their use requires
+some knowledge of the inner workings of the <em>larch</em> live system, it will
+almost certainly be necessary to read the existing <em>larch</em> scripts where the
+custom scripts are 'sourced' if you want to
+write your own scripts to change the behaviour of the <em>larch</em> live system.
+</p>
+<ul>
+ <li><strong>session-save</strong>
+ <p>Used in <strong>/opt/larch-live/session-save/saveovl</strong>. This script can be
+ used to customize the creation of the new overlay archive, e.g. by
+ specifying a new location. The default is 'overlay.ovl' on the boot medium.
+ </p>
+ </li>
+ <li><strong>save-menu</strong>
+ <p>Used in <strong>/opt/larch-live/session-save/saveovl</strong>. This script can be
+ used to further customize the creation of the new overlay archive, e.g. by
+ providing an alternative session save menu. Note that if the
+ <strong>session-save</strong> script specified an alternative device path
+ for saving the overlay, this script will be sought in the 'larch' directory
+ on that path.
+ </p>
+ </li>
+ <li><strong>merge-adjust</strong>
+ <p>Used in <strong>/opt/larch-live/session-save/merge_overlay</strong>. This script can be
+ used to further customize aspects of the overlay merging process. Note that if the
+ <strong>session-save</strong> script specified an alternative device path
+ for saving the overlay, this script will be sought in the 'larch' directory
+ on that path.
+ </p>
+ </li>
+ <li><strong>boot-init</strong>
+ <p>In initramfs hook <strong>larch3</strong>. This script allows adjustment of
+ the overlay handling during the boot process, e.g. getting them from another
+ path.
+ Note that the shell environment here is that of the initramfs and thus
+ very limited.
+ </p>
+ </li>
+</ul>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_fstab.html">Previous: /etc/fstab</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_ssh.html">Next: ssh access</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/build_tools/clarch/larch/docs/html/larch_ssh.html b/build_tools/clarch/larch/docs/html/larch_ssh.html
new file mode 100644
index 0000000..f7db018
--- /dev/null
+++ b/build_tools/clarch/larch/docs/html/larch_ssh.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+ <meta content="text/html;charset=UTF-8" http-equiv="Content-Type" />
+ <title>larch ssh access</title>
+ <meta content="gradgrind" name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_sessionsave.html">Previous: Session saving</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_running.html">Next: Running larch</a></td>
+ </tr>
+ </tbody>
+</table>
+
+<br />
+<h1><big>larch</big> &ndash; a do-it-yourself live <em>Arch Linux</em> CD</h1>
+
+<img style="border: 0px solid ; width: 320px; height: 320px;" alt="" src="larch1.jpg"
+ name="graphics1" align="right" hspace="10" vspace="10" />
+<br /><br />
+
+<h2>ssh access</h2>
+<br />
+
+<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 here it also gives my installation CD a rare
+advantage over most others - using it I can install <em>Arch Linux</em>
+to a computer which has no 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> (via <strong>rcconfx</strong>
+in the <em>profile</em> or by using the session saving feature)
+a static address is also easy to set up.
+Secondly you must provide the live system with your public key, so
+that you are allowed access (using public key authentication), or else
+set a password for the <em>larch</em> root user (probably easiest using the
+session saving feature).
+</p>
+
+<h4>id_rsa.pub & 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>):
+</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).
+</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 live-CD, copy the file to this
+position in the 'overlay' directory in the <em>profile</em>, being
+careful to get ownerships (root:root) and 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>
+</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>
+
+<h4>ssh host keys</h4>
+
+<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 live-CD 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.
+At present this is
+done during the first phase of the live-CD build (the <em>Arch Linux</em>
+installation phase). What this means is that all live-CDs generated from
+this base will have the same ssh host keys. If security is important to
+you, these should be regenerated, e.g. for the running <em>larch</em> system
+as follows:
+</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
+live system from your remote system. This is very neat! Before <em>xorg</em> reached
+version 7 there were complications due to the location of its <em>xauth</em>
+program, but since that version this is at the <em>ssh</em>
+default position, <strong>/usr/bin/xauth</strong>, so all should now be well.
+</p>
+
+<p>
+Bear in mind that this will only work if you use the -Y option to <em>ssh</em>,
+or set up its configuration file properly.
+</p>
+
+[
+<p style="margin-left: 40px;">
+If, for some reason you are not using Xorg7(+), you may need to set the <em>xauth</em>
+path in <strong>/etc/ssh/sshd_config</strong>
+and/or <strong>/etc/ssh/ssh_config</strong> (or set a <em>symlink</em> from <strong>/usr/bin/xauth</strong> to <strong>/usr/X11R6/bin/xauth</strong>):
+</p>
+
+<pre style="margin-left: 80px;">XAuthLocation /usr/X11R6/bin/xauth</pre>
+]
+
+<h4>/etc/ssh/sshd_config</h4>
+
+<p>This file is changed to allow X applications to run on the
+live 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>
+
+<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td><a href="larch_sessionsave.html">Previous: Session saving</a></td>
+
+ <td><a href="larch_docindex.html">Table of Contents</a></td>
+
+ <td><a href="larch_running.html">Next: Running larch</a></td>
+ </tr>
+ </tbody>
+</table>
+
+</body>
+</html>