larch – a do-it-yourself live Arch Linux system
Profiles
This feature of the larch build system 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.
A profile is a directory, the name of the profile is the directory's
name. The simplest feature is perhaps the 'rootoverlay' subdirectory:
everything in this directory is copied directly to the live
system's overlay, so that the a file 'a/b/c' within this directory will
appear at '/a/b/c' in the live system, regardless of whether this
file previously existed. Note however that all ownerships are changed to
'root:root'.
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.
If you want to make your own profile, it is probably easiest to start with
one of the examples. The larch gui allows you to copy one of these
into your working directory, and rename it.
The main 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.
- baseveto - This file is optional. It provides a list of
packages (one package per line) to be ignored in the base package list.
- bootlines - This file contains bootloader independent
boot lines, so that the same file can be used for grub and isolinux/syslinux.
The gui provides a button to edit this file.
To get an idea of what should be in here look at the default version (in
the 'larch' package, 'cd-root' directory), or just click on the button.
- rootoverlay (directory) - 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.
This directory is optional, but editing any of the files mentioned below
via the gui will create it automatically.
- rootoverlay/etc/rc.conf - As a major point of
configuration in an Arch system this is important enough
to get a button in the larch gui to edit it.
- rootoverlay/etc/locale.gen - For convenience, the
larch gui provides a button to edit this file, which determines
which glibc locales are supported in the live system.
- rootoverlay/etc/mkinitcpio.conf.larch0 - Again for
convenience, the larch gui provides a button to edit this file,
which allows you to tweak the initramfs. This is a special version of
'/etc/mkinitcpio.conf' which is used to generate the initramfs for the
larch live system. The default version is supplied as
'/etc/mkinitcpio.conf.larch0' in the 'larch-live' package. Whatever else
you change, don't change the larch hooks.
- cd-root (directory) - This directory contains files
that will be (more or less) directly copied to the larch medium,
partly dependent on the chosen bootloader.
- cd-root/isolinux0 (directory) - The contents of this
directory will be copied to the isolinux (syslinux) directory of the medium
if the isolinux (syslinux) bootloader is chosen. If this directory doesn't
exist, the default version from the 'larch' package, 'cd-root' directory,
will be taken.
- cd-root/isolinux (directory) - The contents of this
directory will be copied to the isolinux (syslinux) directory of the medium
if the isolinux (syslinux) bootloader is chosen. It can be used to overwrite
or add to the files in the previously copied 'isolinux0' directory.
- cd-root/grub0 (directory) - The contents of this
directory will be copied to the boot directory of the medium
if the grub bootloader is chosen. If this directory doesn't
exist, the default version from the 'larch' package, 'cd-root' directory,
will be taken.
- cd-root/grub (directory) - The contents of this
directory will be copied to the boot directory of the medium
if the grub bootloader is chosen. It can be used to overwrite
or add to the files in the previously copied 'grub0' directory.
- cd-root/boot0 (directory) - The contents of this
directory will be copied to the isolinux/syslinux/boot directory of the
medium after the bootloader specific stuff is copied. If this directory
doesn't exist, the default version from the 'larch' package, 'cd-root'
directory, will be taken.
- cd-root/boot (directory) - The contents of this
directory will be copied to the isolinux/syslinux/boot directory of the
medium after the bootloader specific stuff is copied. It can be used to
overwrite or add to the files in the previously copied
'grub0'/'isolinux0'/'boot' directory.
- cd-root/larch/copy (directory) - The contents of this
directory will appear in '/larch/copy' on the medium and during booting
the larch live system will copy the contents of this directory
to the tmpfs base directory ('/.livesys').
- cd-root/larch/extra (directory) - The contents of this
directory will appear in '/larch/extra' on the medium but are otherwise
unconnected with any larch functionality.