1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
.TH LIVE\-HELPER 7 2010\-08\-14 2.0~a23 "Debian Live Project"
.SH NAME
\fBlive\-helper\fR \- the Debian Live tool suite
.SH SYNOPSIS
.\" FIXME
\fBlh \fR\fICOMMAND\fR [\fB\-h|\-\-help\fR] [\fB\-u|\-\-usage\fR] [\fB\-v|\-\-version\fR] [\fB\-\-breakpoints\fR] [\fB\-\-conffile\fR] [\fB\-\-debug\fR] [\fB\-\-force\fR] [\fB\-\-quiet\fR] [\fB\-\-verbose\fR]
.\" FIXME
.SH DESCRIPTION
.\" FIXME
live\-helper is a set of scripts to build Debian Live system images. The idea behind live\-helper is a tool suite that uses a configuration directory to completely automate and customize all aspects of building a Live image.
.PP
The \fICOMMAND\fR is a name of a live\-helper command (see below).
.PP
More documentation about how to use live\-helper is available in the individual manpages for each helper and in the manual at <\fIhttp://live.debian.net/manual/\fR>.
.\" FIXME
.SH OPTIONS
.\" FIXME
.SS Shared live\-helper options
The following command line options are supported by all live\-helper programs.
.IP "\fB-h, \-\-help\fR" 4
display help and exit.
.IP "\fB-u, \-\-usage\fR" 4
show usage and exit.
.IP "\fB-v, \-\-version\fR" 4
output version information and exit.
.SS Common live\-helper options
The following command line options are supported by most live\-helper programs. See the man page of each program for a complete explanation of what each option does.
.IP "\fB\-\-breakpoints\fR" 4
run with breakpoints.
.IP "\fB\-\-conffile\fR" 4
use custom configuration file.
.IP "\fB\-\-debug\fR" 4
show debug information.
.IP "\fB\-\-force\fR" 4
force helper execution, even if stage file exists.
.IP "\fB\-\-quiet\fR" 4
be quiet.
.IP "\fB\-\-verbose\fR" 4
be verbose.
.\" FIXME
.SH LIVE\-HELPER COMMANDS
.\" FIXME
We divide live\-helper into high level ("porcelain") commands and low level ("plumbing") commands.
.PP
Here is the complete list of all available live\-helper commands. See their man
pages for additional documentation.
.\" FIXME
.SH HIGH\-LEVEL COMMANDS (PORCELAIN)
.\" FIXME
We separate the porcelain commands into the main commands and some ancillary user utilities.
.SS Main porcelain commands
.IP "\fBlh_config\fR(1)" 4
create configuration for live\-helper
.IP "\fBlh_bootstrap\fR(1)" 4
create the first stage by bootstrapping a basic debian system
.IP "\fBlh_chroot\fR(1)" 4
create the second stage by customizing the chroot
.IP "\fBlh_binary\fR(1)" 4
create the third stage by generating a binary image
.IP "\fBlh_source\fR(1)" 4
create the optional fourth stage by generating a source image
.IP "\fBlh_clean\fR(1)" 4
clean up system build directories
.SS Ancillary Commands
.IP "\fBlh\fR(1)" 4
generic live\-helper wrapper
.IP "\fBlh_build\fR(1)" 4
alias for all stages
.IP "\fBlh_local\fR(1)" 4
helper for using a local live\-helper
.IP "\fBlh_testroot\fR(1)" 4
ensure that a system is built as root
.\" FIXME
.SH LOW\-LEVEL COMMANDS (PLUMBING)
.\" FIXME
The actual work of live\-helper is implemented in the low-level commands, called plumbing. They are not supposed to be used by end users, they 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\-helper commands in your own scripts, then the plumbings might be of interest for you.
.PP
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.
.SS Bootstrap commands
.IP "\fBlh_bootstrap_cache\fR(1)" 4
cache bootstrap stage
.IP "\fBlh_bootstrap_cdebootstrap\fR(1)" 4
bootstrap a Debian system with cdebootstrap(1)
.IP "\fBlh_bootstrap_copy\fR(1)" 4
bootstrap by copying the host system
.IP "\fBlh_bootstrap_debootstrap\fR(1)" 4
bootstrap a Debian system with debootstrap(8)
.SS Chroot commands
.IP "\fBlh_chroot_apt\fR(1)" 4
manage /etc/apt/apt.conf
.IP "\fBlh_chroot_cache\fR(1)" 4
cache chroot stage
.IP "\fBlh_chroot_debianchroot\fR(1)" 4
manage /etc/debian_chroot
.IP "\fBlh_chroot_devpts\fR(1)" 4
mount /dev/pts
.IP "\fBlh_chroot_dpkg\fR(1)" 4
manage /sbin/dpkg
.IP "\fBlh_chroot_hacks\fR(1)" 4
execute hacks in chroot
.IP "\fBlh_chroot_hooks\fR(1)" 4
execute hooks in chroot
.IP "\fBlh_chroot_hostname\fR(1)" 4
manage /bin/hostname
.IP "\fBlh_chroot_hosts\fR(1)" 4
manage /etc/hosts
.IP "\fBlh_chroot_install\-packages\fR(1)" 4
install queued packages into chroot
.IP "\fBlh_chroot_interactive\fR(1)" 4
make build interactive
.IP "\fBlh_chroot_linux\-image\fR(1)" 4
manage /etc/kernel\-img.conf
.IP "\fBlh_chroot_local\-hooks\fR(1)" 4
execute local hooks in chroot
.IP "\fBlh_chroot_local\-includes\fR(1)" 4
copy local files into chroot
.IP "\fBlh_chroot_localization\fR(1)" 4
install localization packages into chroot
.IP "\fBlh_chroot_local\-packages\fR(1)" 4
queue install of local packages into chroot
.IP "\fBlh_chroot_local\-patches\fR(1)" 4
apply local patches against chroot
.IP "\fBlh_chroot_local\-preseed\fR(1)" 4
use debconf local preseeding file
.IP "\fBlh_chroot_packages\fR(1)" 4
queue install of packages into chroot
.IP "\fBlh_chroot_packageslists\fR(1)" 4
queue install of packages lists into chroot
.IP "\fBlh_chroot_preseed\fR(1)" 4
use debconf preseeding file
.IP "\fBlh_chroot_proc\fR(1)" 4
mount /proc
.IP "\fBlh_chroot_resolv\fR(1)" 4
manage /etc/resolv.conf
.IP "\fBlh_chroot_selinuxfs\fR(1)" 4
mount /selinux
.IP "\fBlh_chroot_sources\fR(1)" 4
manage /etc/apt/sources.list
.IP "\fBlh_chroot_symlinks\fR(1)" 4
convert symlinks
.IP "\fBlh_chroot_sysfs\fR(1)" 4
mount /sys
.IP "\fBlh_chroot_sysvinit\fR(1)" 4
configure sysvinit
.IP "\fBlh_chroot_sysv\-rc\fR(1)" 4
manage /usr/sbin/policy\-rc.d
.IP "\fBlh_chroot_tasks\fR(1)" 4
install tasks into chroot
.SS Binary commands
.IP "\fBlh_binary_chroot\fR(1)" 4
copy chroot into chroot
.IP "\fBlh_binary_debian\-installer\fR(1)" 4
install debian\-installer into binary
.IP "\fBlh_binary_disk\fR(1)" 4
install disk information into binary
.IP "\fBlh_binary_encryption\fR(1)" 4
encrypts rootfs
.IP "\fBlh_binary_grub\fR(1)" 4
installs grub into binary
.IP "\fBlh_binary_grub2\fR(1)" 4
installs grub2 into binary
.IP "\fBlh_binary_includes\fR(1)" 4
copy files into binary
.IP "\fBlh_binary_iso\fR(1)" 4
build iso binary image
.IP "\fBlh_binary_linux\-image\fR(1)" 4
install linux\-image into binary
.IP "\fBlh_binary_local\-hooks\fR(1)" 4
execute local hooks in binary
.IP "\fBlh_binary_local\-includes\fR(1)" 4
copy files into binary
.IP "\fBlh_binary_local\-packageslists\fR(1)" 4
install local packages lists into binary
.IP "\fBlh_binary_manifest\fR(1)" 4
create manifest
.IP "\fBlh_binary_checksums\fR(1)" 4
create binary checksums (md5, sha1, and/or sha256)
.IP "\fBlh_binary_memtest\fR(1)" 4
installs a memtest into binary
.IP "\fBlh_binary_net\fR(1)" 4
build netboot binary image
.IP "\fBlh_binary_rootfs\fR(1)" 4
build rootfs image
.IP "\fBlh_binary_silo\fR(1)" 4
installs silo into binary
.IP "\fBlh_binary_syslinux\fR(1)" 4
installs syslinux into binary
.IP "\fBlh_binary_tar\fR(1)" 4
build harddisk binary image
.IP "\fBlh_binary_usb\fR(1)" 4
build binary usb\-hdd image
.IP "\fBlh_binary_virtual\-hdd\fR(1)" 4
build binary virtual\-hdd image
.IP "\fBlh_binary_win32\-loader\fR(1)" 4
installs win32\-loader into binary
.IP "\fBlh_binary_yaboot\fR(1)" 4
installs yaboot into binary
.SS Source commands
.IP "\fBlh_source_debian\fR(1)" 4
download sources
.IP "\fBlh_source_debian\-live\fR(1)" 4
copy debian\-live config into source
.IP "\fBlh_source_disk\fR(1)" 4
install disk information into source
.IP "\fBlh_source_iso\fR(1)" 4
build iso source image
.IP "\fBlh_source_checksums\fR(1)" 4
create source checksums (md5, sha1, and/or sha256)
.IP "\fBlh_source_net\fR(1)" 4
build source net image
.IP "\fBlh_source_tar\fR(1)" 4
build source tarball
.IP "\fBlh_source_usb\fR(1)" 4
build source usb\-hdd image
.IP "\fBlh_source_virtual\-hdd\fR(1)" 4
build source virtual\-hdd image
.\" FIXME
.SH CONFIG FILES
.\" FIXME
Many live\-helper commands make use of files in the \fIconfig/\fR directory to control what they do. Besides the common \fIconfig/common\fR, which is used by all live\-helper commands, some additional files can be used to configure the behavior of specific live\-helper commands. These files are typically named config/stage or config/stage_helper (where "stage" of course, is replaced with the name of the stage that they belong to, and "helper" with the name of the helper).
.PP
For example, lh_bootstrap_debootstrap uses files named config/bootstrap and config/bootstrap_debootstrap to read the options it will use. See the man pages of individual commands for details about the names and formats of the files they use. Generally, these files contain variables with values assigned, one variable per line. Some programs in live\-helper use pairs of values or slightly more complicated variable assignments.
.PP
Note that live\-helper 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\-helper will automatically set it to the default value.
.PP
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 or config/stage_helper.arch, and config/stage.dist or config/stage_helper.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.
.PP
All config files are shell scripts which are sourced by a live\-helper program. That means they have to follow the normal shell syntax. You can also put comments in these files; lines beginning with "#" are ignored.
.\" FIXME
.SH FILES
.\" FIXME
.IP "\fBn/a\fR" 4
.\" FIXME
.SH SEE ALSO
\fIlive\-initramfs\fR(7)
.PP
This program is a part of live\-helper.
.SH HOMEPAGE
More information about live\-helper and the Debian Live project can be found on the homepage at <\fIhttp://live.debian.net/\fR> and in the manual at <\fIhttp://live.debian.net/manual/\fR>.
.SH BUGS
Bugs can be reported by submitting a bugreport for the live\-helper package in the Debian Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Debian Live mailing list at <\fIdebian-live@lists.debian.org\fR>.
.SH AUTHOR
live\-helper was written by Daniel Baumann <\fIdaniel@debian.org\fR> for the Debian project.
|