File: available-hooks.xml

package info (click to toggle)
debian-installer 20150422
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 5,008 kB
  • sloc: xml: 10,107; sh: 1,960; makefile: 948; perl: 613; awk: 100
file content (292 lines) | stat: -rw-r--r-- 7,691 bytes parent folder | download | duplicates (5)
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
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<appendix id="ap-hooks">
<title>Available hooks</title>

<para>

This appendix given an overview of hooks available for debian-installer
modules and extensions. See also <xref linkend="hooks"/>.

</para><para>

This overview may not be fully complete.

</para>

 <sect1>
 <title>run-parts type hooks</title>

<para>

This type of hook consists of a directory in which any component can drop
a script that's to be executed at a specific point of the installation
procedure. The component responsible for the hook will simply execute any
scripts that are present at that time. Scripts are executed in sequence
and since the order of execution is often important, they are usually
prefixed with a sequence number.

</para><para>

Note that currently in most cases the component executing run-parts scripts
do not fail or show an error if a called script returns an error.

</para>

  <sect2 id="ap-hooks-boot">
  <title>System boot</title>

<para>

Scripts that are executed as part of the boot process of Debian Installer.
Various scripts in these directories are architecture-specific.
See also <xref linkend="di-boot"/>.

</para>

<variablelist>
<varlistentry>

<term>/lib/debian-installer-startup.d/* [rootskel]</term>
<listitem><para>
   Early boot scripts. Special feature is that scripts get called if they
   are executable, and get sourced if they are not.
</para></listitem>

</varlistentry><varlistentry>

<term>/etc/rcS.d/S[0-9][0-9]* [rootskel]</term>
<listitem><para>
    Additional early boot scripts; executed or sourced just after the scripts
    in <filename>/lib/debian-installer-startup.d</filename>.
</para></listitem>

</varlistentry><varlistentry>

<term>/lib/debian-installer.d/* [rootskel]</term>
<listitem><para>
   Initialization and startup of the D-I user interface. These scripts always
   get sourced.
</para><para>
   These scripts will be run again if the main installer process dies for
   some reason.
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>

  <sect2 id="ap-hooks-general">
  <title>General purpose run-parts hooks</title>

<para>

This section lists general purpose run-parts directories where other
components commonly drop scripts in order to have actions executed at
that stage of the installation. They are listed roughly in the order
in which they are executed during a standard installation.

</para>

<variablelist>
<varlistentry>

<term>/usr/lib/base-installer.d/* [base-installer]</term>
<listitem><para>
    The files in this directory are executed after the system has been
    bootstrapped (generally by debootstrap), but before the system is used
    in any way. It is intended to be used for very basic configuration of
    the target system. APT has not yet been configured at this point.
</para></listitem>

</varlistentry><varlistentry>

<term>/usr/lib/post-base-installer.d/* [base-installer]</term>
<listitem><para>
    The files in this directory are executed after basic configuration of
    APT and just before kernel selection and installation.
</para></listitem>

</varlistentry><varlistentry>

<term>/usr/lib/pre-pkgsel.d/* [pkgsel]</term>
<listitem><para>
    The files in this directory are executed before tasksel is called in
    the <filename>/target</filename> environment. Example usage: install
    custom tasks (<classname>tasksel-data</classname>) from a source added
    during <classname>apt-setup</classname>.
</para><para>
    Directly accessing the installation CD and thus installing udebs is not
    possible in these scripts (but should also not be needed).
</para></listitem>

</varlistentry><varlistentry>

<term>/usr/lib/finish-install.d/* [finish-install]</term>
<listitem><para>
    The files in this directory are executed at the end of the installation.
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>

  <sect2 id="ap-hooks-special">
  <title>Special purpose run-parts hooks</title>

<para>

This section lists run-parts directories that are less likely to be used
by other components or for customization, although it is still possible
to do so.

</para>

<variablelist>
<varlistentry>

<term>/lib/main-menu.d/* [main-menu]</term>
<!--
<listitem><para>
   FIXME
</para></listitem>
-->

</varlistentry><varlistentry>

<term>/lib/rescue.d/* [rescue]</term>
<!--
<listitem><para>
   FIXME
</para></listitem>
-->

</varlistentry><varlistentry>

<term>/usr/lib/apt-setup/generators/* [apt-setup]</term>
<listitem><para>
   Contains scripts responsible for generating entries in the
   <filename>/etc/apt/sources.list</filename> on the target system.
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>

  <sect2>
  <title>Partitioning &mdash; deprecated components</title>

<para>

The hooks listed in this section are from udebs that are only still
being used for the mips architecture. All other architectures use
<classname>partman</classname> instead.

</para>

<variablelist>
<varlistentry>

<term>/var/lib/partconf/fstab.d/* [partconf?]</term>
<listitem><para>
    partconf and mkfstab read all files in this directory and append
    the lines (with or without modification) to the generated
    /target/etc/fstab.
</para></listitem>

</varlistentry><varlistentry>

<term>/var/lib/partconf/block.d/* [partconf?]</term>
<listitem><para>
    partconf executes for each partition every script in this
    directory, so some udebs can place scripts here, and then block
    the output of some partitions; very useful for raid/lvm support.
    (planned to be included by Thorsten Sauter)
</para></listitem>

</varlistentry><varlistentry>

<term>/usr/share/partitioner/${ARCH}.sh</term>
<term>/usr/share/partitioner/common.sh [partitioner?]</term>
<listitem><para>
    partitioner first tries to call the shell script for the current
    architecture, and if this script doesn't exist it runs common.sh
    with the selection harddisk as argument. The script can then do
    whatever is needed to partition a harddisk on this arch (e.g.
    running fdisk (text) or cfdisk (slang)).
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>
 </sect1>

 <sect1>
 <title>Other hooks</title>

<para>

The hooks in this section do not contain scripts, but are single files or
a directory containing files that are read by a certain component or utility.
Some of these hooks can be used for customization, but others should only be
modified by using the correct utilities.

</para>

  <sect2>
  <title>Hooks available for customization</title>

<variablelist>
<varlistentry>

<term>/cdrom/.disk/udeb_include</term>
<term>/cdrom/.disk/udeb_exclude [anna]</term>
<listitem><para>
    List of packages (udebs) to install into or exclude from the d-i
    ramdisk.
</para></listitem>

</varlistentry><varlistentry>

<term>/cdrom/.disk/base_include</term>
<term>/cdrom/.disk/base_exclude [base-installer]</term>
<listitem><para>
    The contents of these files are taken as lists of packages to
    install into or exclude from the target area.
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>

  <sect2>
  <title>Hooks reserved for internal use</title>

<variablelist>
<varlistentry>

<term>/var/lib/anna-install/queue</term>
<term>/var/lib/apt-install/queue [di-utils]</term>
<listitem><para>
    Used by <classname>anna-install</classname> and
    <classname>apt-install</classname> respectively to queue udebs or
    packages for later installation.
</para></listitem>

</varlistentry><varlistentry>

<term>/run/udev/firmware-missing [udev,hw-detect]</term>
<listitem><para>
    Used to register for which kernel modules udev was unable to load
    firmware.
</para></listitem>

</varlistentry>
</variablelist>

  </sect2>
 </sect1>
</appendix>