This feature of the larch 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.
In order to allow more flexibility with the overlay, larch 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 xpack packing utility (supplied with larch, 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 in situ (i.e. within a running live USB system), using a utility - see 'Session saving' - to recreate the compressed overlay file-system (overlay.ovl).
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.
After editing to your heart's content, you can build the corresponding live CD system with the call:
(path/to/)mklarch -p directory
where 'directory' is your profile directory.
The important files within a profile are described below:
addedpacks - 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.
locale.gen - mklarch prefixes this profile file (if it is present) to the file '/etc/locale.gen' in the newly installed system and runs 'locale-gen' (using chroot) to deal with glibc locale generation. So just put the locales you want in here.
rcconfx - 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.
rootoverlay - 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.
overlay.xpk - 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.
mkinitcpio.conf - This file is optional. If it is present it will replace the version in the 'lib/initcpio' folder of the larch-live 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.
basepacks - This file is optional. If it is present it supplies a list of packages (one package per line, as addedpacks) to be used instead of the standard list of 'core/base' packages for the basis of the installation done by mklarch, preventing the 'packages.txt' file from the 'core' repository from being downloaded and used as source for the base package list.
baseveto - This file is optional. It provides a list of packages (one package per line) to be ignored in the base package list.
cd-root - This directory contains files to configure the bootloader. Those for isolinux are in the directory 'isolinux', which is copied to the root CD directory when the isolinux bootloader is chosen. Those for GRUB are in the directory 'boot', which is copied to the root CD directory when the GRUB 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.
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
xpath -r overlay overlay.xpk
(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
(don't miss the final '.', the unpacker needs an existing directory as parameter).