vim modeline: set shiftwidth to a less insane value
[grml-debootstrap.git] / grml-debootstrap.8.txt
1 grml-debootstrap(8)
2 ===================
3
4 Name
5 ----
6 grml-debootstrap - wrapper around debootstrap for installing plain Debian via grml
7
8 Synopsis
9 --------
10 grml-debootstrap [ _options_ ]
11
12 image:images/screenshot.png[Screenshot]
13
14 Introduction
15 ------------
16
17 grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you
18 want) for installing a plain Debian system via grml very fast and easy.
19
20 All you have to do is adjust a few variables in configuration file
21 /etc/debootstrap/config (or specify some variables via commandline) and invoke
22 grml-debootstrap without any further options then.
23
24 A plain and base Debian system will be installed on the given device (or
25 directory) then. Customization of this process is possible as well.
26
27 CAUTION: The grml team does not take responsibility for loss of any data!
28
29 Options and environment variables
30 ---------------------------------
31
32 *--arch* <_architecture_>::
33
34     Architecture you want to bootstrap. Currently only i386 is supported.
35     Defaults to the architecture that is currently running on your system. If
36     you're running an amd64 system and want to deploy a i386 system use this option.
37     Note: deploying amd64 from a i386 system won't work.
38
39 *--bootappend* <_appendline for the kernel_>::
40
41     Specify appendline for the kernel.
42     E.g. "_pci=nomsi_"
43
44 *-c*, *--config* <_file_>::
45
46     Use specified configuration file, defaults to /etc/debootstrap/config.
47
48 *--chroot-scripts* <_directory_>::
49
50     Execute chroot scripts from specified directory. This allows customisation
51     of the chroot setup, the executable script(s) present in the given directory
52     are executed at the end of the chroot procedure.
53     Default directory: /etc/debootstrap/chroot-scripts/
54
55 *-d*, *--confdir* <_path_>::
56
57     Place of configuration files for debootstrap, defaults to /etc/debootstrap.
58
59 *--debconf* <_file_>::
60
61     Use specified file for preseeding Debian packages instead of using
62     the default <confdir>/debconf-selections.
63
64 *--debopt* <_params_>::
65
66     Extra parameters passed to the debootstrap command.
67
68 *--filesystem* <_filesystem_>::
69
70     Filesystem that should be created when installing to a partition.
71     If unset defaults to ext3. Valid values are all filesystems that
72     can be created through mkfs.<filesystem>.
73
74 *--force*::
75
76     Skip user acknowledgement and do not prompt for user input.
77
78 *--grub* <_device_>::
79
80     Device where grub should be installed to. Note that only the MBR (master
81     boot record) can be used (/dev/sda, /dev/sdb,...). Partitions (like
82     /dev/sda1, /dev/sdb2,...) are NOT supported because grub2 doesn't support
83     installation into the PBR (partition boot record) anymore.  Usage example:
84     '--grub /dev/sda'.  Note: just do not set this option to avoid installation
85     of grub.
86
87 *--help*, *-h*::
88
89     Show summary of options and exit.
90
91 *--hostname* <_hostname_>::
92
93     Use specified hostname instead of the default (being 'grml').
94
95 *-i*, *--iso* <_/mntpoint_>::
96
97     Specify mountpoint where you have a Debian ISO mounted loopback.
98     Using this option instead of the mirror option gives you the possibility
99     to install the base-system without network access. Make sure you
100     mounted the according Debian-ISO to the given <_/mntpoint_>. See section
101     'Usage examples' for a demonstration.
102
103 *--keep_src_list*::
104
105      Do not overwrite user provided /etc/apt/sources.list.
106
107 *-m*, *--mirror* <_URL_>::
108
109     Specify mirror which should be used for apt-get/aptitude.
110     Corresponding with configuration variable MIRROR.
111
112 *--nodebootstrap*::
113
114     Skip debootstrap, only do configuration to the target.
115
116 *--nopackages*::
117
118     Skip installation of packages defined in /etc/debootstrap/packages.
119
120 *--nopassword*::
121
122     Do not prompt for the root password. Note: Use the '--password' option if
123     you want to set the root password during an automatic installation but don't
124     want to use the interactive dialog.
125
126 *--insecure*::
127
128     Do not download and check signatures for retrieved Release files.
129
130 *-p*, *--mntpoint* <_/mntpoint_>::
131
132     Specify mountpoint that should be used for mounting the target system.
133     Corresponding with configuration variable MNTPOINT.
134     Note: this option has no effect if option -t is given and represents a
135     directory.
136
137 *--packages* <_file_>::
138
139     Use specified file as list for packages that should be installed instead of
140     the default package list file <confdir>/packages.
141
142 *--password* <_password_>::
143
144     Use specified password as password for user root. Use with caution, as your
145     commandline might be visible in the process list and the shell history.
146     It's meant for automatic installation only.
147
148 *-r*, *--release* <_releasename_>::
149
150     Specify release of new Debian system. Supported releases names: lenny,
151     squeeze, wheezy (note: requires current version of debootstrap) and sid.
152     Corresponding with configuration variable RELEASE.
153
154 *--pre-scripts* <_directory_>::
155
156     Execute scripts from specified directory before executing the chroot
157     script. This allows customisation of the system before the chroot has
158     been set up.  The environment variable $MNTPOINT is available inside the
159     scripts for direct access of the chroot.
160     Default directory: /etc/debootstrap/pre-scripts/
161
162 *--scripts* <_directory_>::
163
164     Execute scripts from specified directory. This allows customisation of
165     the system after the chroot has been set up. The environment variable
166     $MNTPOINT is available inside the scripts for direct access of the chroot.
167     Default directory: /etc/debootstrap/scripts/
168
169 *-t*, *--target* <_target_>::
170     Target partition (/dev/...) or directory (anything else without /dev at the
171     beginning). To install grub using *--grub* make sure to use a _device_
172     instead of a directory as _target_ (installation of grub as bootloader when
173     using directories is NOT supported).
174
175 *-v*, *--verbose*::
176     Increase verbosity.
177
178 *--vmfile*::
179     Set up a Virtual Machine instead of installing to a partition or directory.
180     This allows deployment of a Virtual Machine. The options needs to be
181     combined with the --target option.
182     Usage example: --vmfile --target /mnt/sda1/qemu.img
183
184 *--vmsize* <_size_>::
185    Use specified size for size of Virtual Machine disk file. If not specified it
186    defaults to 2G (being 2GB). Syntax as supported by qemu-img (see manpage
187    qemu-img(1) for details.
188    Usage example: --vmsize 3G
189
190 *-V*, *--version*::
191     Show version of program and exit.
192
193 WARNING: the commandline parsing of grml-debootstrap does not validate the provided
194 arguments for the commandline options. Please be careful and check docs and
195 /etc/debootstrap/config for further information.
196
197 Usage examples
198 ---------------
199
200   grml-debootstrap --target /dev/sda1 --grub /dev/sda
201
202 Install default Debian release (stable/squeeze) on /dev/sda1 and install bootmanager
203 Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
204
205   grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid
206
207 Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR
208 (master boot record) of /dev/sda and use /dev/sda6 as system partition.
209
210   mount /dev/sda1 /data/chroot
211   grml-debootstrap --target /data/chroot
212
213 Install default Debian release (stable/squeeze) in directory /data/chroot (without
214 any bootloader).
215
216   grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian
217
218 Install default debian release (stable/squeeze) in a Virtual Machine file with
219 3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):
220
221   mount /dev/sda1 /mnt/sda1
222   grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img
223
224 Install default Debian release (stable/squeeze) on /dev/sda3 and install bootmanager
225 Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
226 Use specified mirror instead of the default (ftp://ftp.debian.de/debian) one.
227
228   mount -o loop /mnt/sda6/debian-40r0-i386-CD-1.iso /mnt/iso
229   grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
230
231 Install Debian stable/squeeze on /dev/sda1 using the loopback mounted Debian-ISO
232 for the base-system and install bootmanager Grub in MBR (master boot record) of
233 /dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot
234 system requires network access for all packages which are not part of the
235 ISO.
236
237 Files
238 -----
239
240   /etc/debootstrap/config
241
242 Main configuration file. You have to adjust it according to your needs
243 if you want to execute grml-debootstrap in the non-interactive mode without
244 any special command line arguments.
245
246   /etc/debootstrap/chroot-script
247
248 The script executed within the new Debian system as soon as the main system
249 has been installed via [c]debootstrap.
250
251   /etc/debootstrap/locale.gen
252
253 Defines the default locales used for generating locales via locale-gen.
254
255   /etc/debootstrap/packages
256
257 Defines the software packages which should be installed in the new
258 Debian system by default.
259
260   /etc/debootstrap/extrapackages
261
262 Debian Packages dropped here will be installed into the new Debian system by
263 default (Controlvariable: EXTRAPACKAGES)
264
265   /etc/debootstrap/stages/
266
267 The default directory for storing information about executed stages. Every
268 single function of grml-debootstrap will write 'done' to the stages directory
269 into a file named as the function itself if it has been executed successfully.
270 You can adjust the location of the directory via configuration variable STAGES
271 via /etc/debootstrap/config.  Please notice that you have to remove the stages
272 directory on your own if you want to re-execute grml-debootstrap after running it
273 successfully once. This should avoid recurrent execution by error of
274 grml-debootstrap (which might delete present data).
275
276 Customization
277 -------------
278
279 You can control execution of grml-debootstrap via adjusting
280 /etc/debootstrap/config for some main stuff or via setting some selected
281 variables via commandline.  The packages which should be installed in the new
282 Debian system can be defined via the file /etc/debootstrap/packages.  If you
283 want to put existing files to the new Debian system you can place them into the
284 (by default non-existing) directories boot, etc, share, usr and var in
285 /etc/debootstrap/. Every existing directory will be copied to the new Debian
286 system then. If you want to install additional packages that are not available
287 via the grml or debian mirror drop them into /etc/debootstrap/extrapackages and
288 make sure that EXTRAPACKAGES is set to "yes".
289
290 Automatic installation
291 ----------------------
292
293 If environment variable AUTOINSTALL is set grml-debootstrap can be executed in a
294 full automatic mode. While this mode isn't really useful for interactive
295 execution (just configure /etc/debootstrap/configure or specify the relevant
296 variables on the commandline instead) it is meant for use via bootoption
297 debian2hd. The bootoption debian2hd (more precise: the kernelname on bootprompt)
298 supports the following bootoptions (they correspond with the commandline options
299 mentioned above):
300
301   target=...
302
303 The target partition/directory of the new Debian system. Usage example:
304 target=/dev/sda1
305
306   grub=...
307
308 Where do you want to install grub to? Usage example: grub=/dev/sda
309
310   release=...
311
312 Specify release of new Debian system. Defaults to Debian squeeze. Supported
313 relases: lenny, squeeze, wheezy and sid. Usage example: release=sid
314
315   mirror=...
316
317 Specify mirror which should be used for apt-get/aptitude instead
318 of the default one (ftp://ftp.debian.de/debian).
319 Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian
320
321   password=...
322
323 Set password of user root without prompting for it but set it to the given
324 argument. Usage example: password=AiTh5ahn
325
326 Usage example for automatic installation:
327 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
328
329   debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar
330
331 You have to enter this commandline at the bootprompt of grml. Please make sure
332 that /dev/sda1 is the partition where you really want to install your new Debian
333 system.
334
335 [NOTE]
336 Automatic installation within booting process is done in grml-autoconfig via
337 setting environment variable AUTOINSTALL and creation of
338 /usr/bin/grml-debootstrap_noninteractive with the available and relevant
339 bootoptions for grml-debootstrap.
340
341 Supported Releases
342 ------------------
343
344 include::releasetable.txt[]
345
346 [NOTE]
347 .Etch-Release
348 ================================================================================
349 [1] Please notice that Etch is the current old-stable within Debian.
350 grml-debootstrap can handle the release but you really should not use Etch
351 anymore unless you really know what you are doing. Choose Lenny or
352 Squeeze instead.
353 ================================================================================
354
355 [NOTE]
356 .Lenny-Release
357 ================================================================================
358 When installing lenny to a new mdraid, grml-debootstrap will use md metadata
359 format version 0.90. This limits the device to a maximum size of 2TB, but has
360 the advantage of grub-legacy actually being able to boot from it.
361 ================================================================================
362
363 Bugs
364 ----
365
366 Probably. Please send bugreports to Michael Prokop <mika@grml.org>.
367
368 See also
369 --------
370
371 debootstrap (8), cdebootstrap (1).
372
373 Author
374 ------
375 Michael Prokop <mika@grml.org>