3
3
1~customization-overview Customization overview
5
% FIXME: just a stub for now. In conversational style, cover the different
6
kinds of customization % and link to each section within the text.
8
This chapter gives an overview of the various ways in which your Debian live
9
systems may be customized. See sections {Customizing package
5
This chapter gives an overview of the various ways in which you may
6
customize a Debian Live system.
8
2~ Build time vs. boot time configuration
10
Live system configuration options are divided into build-time options which
11
are options that are applied at build time and boot-time options which are
12
applied at boot time. Boot-time options are further divided into those
13
occurring early in the boot, applied by the live-boot package, and those
14
that happen later in the boot, applied by live-config. Any boot-time option
15
may be modified by the user by specifying it at the boot prompt. The image
16
may also be built with default boot parameters so users can normally just
17
boot directly to the live system without specifying any options when all of
18
the defaults are suitable. In particular, the argument to #{lb
19
--bootappend-live}# consists of any default kernel command line options for
20
the Live system, such as persistence, keyboard layouts, or timezone. See
21
{Customizing locale and language}#customizing-locale-and-language, for
24
Build-time configuration options are described in the #{lb config}# man
25
page. Boot-time options are described in the man pages for live-boot and
26
live-config. Although the live-boot and live-config packages are installed
27
within the live system you are building, it is recommended that you also
28
install them on your build system for easy reference when you are working on
29
your configuration. It is safe to do so, as none of the scripts contained
30
within them are executed unless the system is configured as a live system.
32
2~stages-of-the-build Stages of the build
34
The build process is divided into stages, with various customizations
35
applied in sequence in each. The first stage to run is the *{bootstrap}*
36
stage. This is the initial phase of populating the chroot directory with
37
packages to make a barebones Debian system. This is followed by the
38
*{chroot}* stage, which completes the construction of chroot directory,
39
populating it with all of the packages listed in the configuration, along
40
with any other materials. Most customization of content occurs in this
41
stage. The final stage of preparing the live image is the *{binary}* stage,
42
which builds a bootable image, using the contents of the chroot directory to
43
construct the root filesystem for the Live system, and including the
44
installer and any other additional material on the target media outside of
45
the Live system's filesystem. After the live image is built, if enabled, the
46
source tarball is built in the *{source}* stage.
48
Within each of these stages, there is a particular sequence in which
49
commands are applied. These are arranged in such a way as to ensure
50
customizations can be layered in a reasonable fashion. For example, within
51
the *{chroot}* stage, preseeds are applied before any packages are
52
installed, packages are installed before any locally included files or
53
patches are applied, and hooks are run later, after all of the materials are
56
2~ Supplement lb config with files
58
Although #{lb config}# does create a skeletal configuration in the config/
59
directory, to accomplish your goals, you may need to provide additional
60
files in subdirectories of config/. Depending on where the files are stored
61
in the configuration, they may be copied into the live system's filesystem
62
or into the binary image filesystem, or may provide build-time
63
configurations of the system that would be cumbersome to pass as
64
command-line options. You may include things such as custom lists of
65
packages, custom artwork, or hook scripts to run either at build time or at
66
boot time, boosting the already considerable flexibility of debian-live with
69
2~ Customization tasks
71
The following chapters are organized by the kinds of customization task
72
users typically perform: {Customizing package
10
73
installation}#customizing-package-installation, {Customizing
11
74
contents}#customizing-contents and {Customizing locale and
12
language}#customizing-locale-and-language.
75
language}#customizing-locale-and-language cover just a few of the things you