larch
–
a do-it-yourself live Arch Linux CD
Profiles
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.
xpack and non-root owned overlay files
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
./overlay.xpk .
(don't miss the final '.', the unpacker needs an existing
directory as parameter).