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.
  • rootoverlay/etc/inittab.larch - If this file is present it will cause the original /etc/inittab to be saved with a '.larchsave' suffix, and this new version will be used for the live 'inittab'. This allows a special version of this file to be used just for the live system, an installer can replace it by the original during the installation process.
  • 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.