LIVE-BUILD(7) | Debian Live Project | LIVE-BUILD(7) |
live-build - the Debian Live tool suite
lb {-h|--help|-u|--usage|-v|--version}
lb COMMAND [OPTIONS]
live-build is a set of scripts to build live system images. The idea behind live-build is a tool suite that uses a configuration directory to completely automate and customize all aspects of building a Live image.
The COMMAND is a name of a live-build command (see below).
More documentation about how to use live-build is available in the individual manpages for each helper and in the manual at <https://live-team.pages.debian.net/live-manual/>.
The following command line options are supported by all live-build programs.
The following command line options are supported by most live-build programs. See the man page of each program for a complete explanation of what each option does.
We divide live-build into high level ("porcelain") commands, secondary major build stage ("porcelain") commands, and low level ("plumbing") commands.
Here is the complete list of all available live-build commands. See their man pages for additional documentation.
We separate the porcelain commands into the main commands and some ancillary user utilities.
The following are the commands that execute each major stage of the build process, in their necessary order of execution. Normally a user might just execute the higher level lb build(1) command rather than use these individually.
The actual work of live-build is implemented in the low-level commands, called plumbing. They are not supposed to be used by end users, who should stick with porcelains as they ensure that all the different plumbing commands are executed in the right order. However, if you intend to reuse live-build commands in your own scripts, then the plumbings might be of interest for you.
Note that the interface (set of options and the semantics) to these low-level commands are meant to be a lot more stable than Porcelain level commands. The interface to Porcelain commands on the other hand are subject to change in order to improve the end user experience.
Note: The following chroot_ prefixed commands are used in building the live OS filesystem. Another set of similarly prefixed files are listed separately (see further down).
The notes above under the section regarding build-stage specific low-level plumbing commands also apply here.
The following chroot_ prefixed commands are used throughout the various primary stages of the build process to apply and remove modifications to a chroot root filesystem. Generally these are used to apply modification that setup the chroot for use (execution of programs within it) during the build process, and later to remove those modification, unmounting things that were mounted, and making the chroot suitable for use as the root filesystem of the live OS to be bundled into the live image.
Note that the lb chroot_prep(1) command can be used to run these components in bulk.
Many live-build commands make use of files in the config/ directory to control what they do. Besides the common config/common, which is used by all live-build commands, some additional files can be used to configure the behavior of specific live-build commands. These files are typically named config/stage (where "stage" of course, is replaced with the name of the stage that they belong to).
Note that live-build will respect environment variables which are present in the context of the shell it is running. If variables can be read from config files, then they override environment variables, and if command line options are used, they override values from config files. If no value for a given variable can be found and thus is unset, live-build will automatically set it to the default value.
In some rare cases, you may want to have different versions of these files for different architectures or distributions. If files named config/stage.arch and config/stage.dist exist, where "arch" is the same as the output of "dpkg --print-architecture" and "dist" is the same as the codename of the target distribution, then they will be used in preference to other, more general files.
All config files are shell scripts which are sourced by a live-build program. That means they have to follow the normal shell syntax. You can also put comments in these files; lines beginning with "#" are ignored.
This program is a part of live-build.
More information about live-build and the Debian Live project can be found on the homepage at <https://wiki.debian.org/DebianLive>.
Bugs can be reported by submitting a bug report for the live-build package in the Bug Tracking System at <http://bugs.debian.org/> or by writing a mail to the Debian Live mailing list at <debian-live@lists.debian.org>.
live-build was originally written by Daniel Baumann <mail@daniel-baumann.ch>. Since 2016 development has been continued by the Debian Live team.
2021-04-07 | 1:20210407 |