Synopsis
--------
-grml-debootstrap [ options ]
+grml-debootstrap [ _options_ ]
image:images/screenshot.png[Screenshot]
Introduction
------------
-grml-debootstrap is a wrapper suite around debootstrap
-(and cdebootstrap if you want) for installing a plain Debian
-system via grml very fast and easy.
+grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you
+want) for installing a plain Debian system via grml very fast and easy.
All you have to do is adjust a few variables in configuration file
/etc/debootstrap/config (or specify some variables via commandline) and invoke
grml-debootstrap without any further options then.
-A plain and base Debian system will be installed on the given
-device (or directory) then. Customization of this process is
-possible as well.
+A plain and base Debian system will be installed on the given device (or
+directory) then. Customization of this process is possible as well.
CAUTION: The grml team does not take responsibility for loss of any data!
Options and environment variables
---------------------------------
- -h, --help
+*--arch* <_architecture_>::
-Show summary of options and exit.
+ Architecture you want to bootstrap. Currently only i386 is supported.
+ Defaults to the architecture that is currently running on your system. If
+ you're running an amd64 system and want to deploy a i386 system use this option.
+ Note: deploying amd64 from a i386 system won't work.
- -v, --version
+*--bootappend* <_appendline for the kernel_>::
-Show version of program and exit.
+ Specify appendline for the kernel.
+ E.g. "_pci=nomsi_"
- --grub <device>
+*-c*, *--config* <_file_>::
-Where do you want to install grub to? Use grub syntax for specifying.
-Do not forget to set groot as well. Leave empty to avoid installation of grub.
+ Use specified configuration file, defaults to /etc/debootstrap/config.
- --groot <device>
+*--chroot-scripts* <_directory_>::
-Specify root device for usage in grub (corresponds with $TARGET).
-Again, use grub syntax for specifying.
-Corresponding with configuration variable GROOT.
+ Execute chroot scripts from specified directory. This allows customisation
+ of the chroot setup, the executable script(s) present in the given directory
+ are executed at the end of the chroot procedure.
+ Default directory: /etc/debootstrap/chroot-scripts/
- -m, --mirror <URL>
+*-d*, *--confdir* <_path_>::
-Specify mirror which should be used for apt-get/aptitude. Notice that
-specifying the mirror also sets the chrootmirror to the given value.
-Corresponding with configuration variables MIRROR and CHROOTMIRROR.
+ Place of configuration files for debootstrap, defaults to /etc/debootstrap.
- -p, --mntpoint </mntpoint>
+*--debconf*[=<_file_>]::
-Specify mountpoint that should be used for mounting the target system.
-Corresponding with configuration variable MNTPOINT.
+ When using *--debconf* without the optional '=<_file_>' parameter, it
+ enables preseeding Debian packages using the default
+ '<confdir>/debconf-selections' file. If the optional parameter is given,
+ use the specified file for preseeding Debian packages instead.
- --password <password>
+*--debopt* <_params_>::
-Use specified password as password for user root. Use with caution, as your
-commandline might be visible in the process list and the shell history.
-It's meant for automatic installation only.
+ Extra parameters passed to the debootstrap command.
- -r, --release <releasename>
+*--grub* <_device_>::
-Specify release of new Debian system. Supported relases: sarge, etch, lenny and sid.
-Corresponding with configuration variable RELEASE.
+ Device where grub should be installed to. Note that only the MBR (master
+ boot record) can be used (/dev/sda, /dev/sdb,...). Partitions (like
+ /dev/sda1, /dev/sdb2,...) are NOT supported because grub2 doesn't support
+ installation into the PBR (partition boot record) anymore. Usage example:
+ '--grub /dev/sda'. Note: just do not set this option to avoid installation
+ of grub.
- -t, --target <target>
+*--help*, *-h*::
-Target partition (/dev/...) or directory (anything else without /dev at the
-beginning).
+ Show summary of options and exit.
-WARNING: the commandline parsing of grml-debootstrap does not validate the provided
+*--hostname* <_hostname_>::
+
+ Use specified hostname instead of the default (being 'grml').
+
+*-i*, *--iso* <_/mntpoint_>::
+
+ Specify mountpoint where you have a Debian ISO mounted loopback.
+ Using this option instead of the mirror option gives you the possibility
+ to install the base-system without network access. Make sure you
+ mounted the according Debian-ISO to the given <_/mntpoint_>. See section
+ 'Usage examples' for a demonstration.
+
+*--keep_src_list*::
+
+ Do not overwrite user provided /etc/apt/sources.list.
+
+*-m*, *--mirror* <_URL_>::
+
+ Specify mirror which should be used for apt-get/aptitude.
+ Corresponding with configuration variable MIRROR.
+
+*--nodebootstrap*::
+
+ Skip debootstrap, only do configuration to the target.
+
+*--insecure*::
+
+ Do not download and check signatures for retrieved Release files.
+
+*-p*, *--mntpoint* <_/mntpoint_>::
+
+ Specify mountpoint that should be used for mounting the target system.
+ Corresponding with configuration variable MNTPOINT.
+ Note: this option has no effect if option -t is given and represents a
+ directory.
+
+*--packages*[=<_file_>]::
+
+ When using *--packages* without the optional '=<_file_>' parameter, it
+ enables installing the packages defined in the default package list
+ '<confdir>/packages' file. If the optional parameter is given, the
+ specified list file is used as list for packages that should be
+ installed instead.
+
+*--password* <_password_>::
+
+ Use specified password as password for user root. Use with caution, as your
+ commandline might be visible in the process list and the shell history.
+ It's meant for automatic installation only.
+
+*-r*, *--release* <_releasename_>::
+
+ Specify release of new Debian system. Supported releases names: lenny,
+ squeeze (note: requires current version of debootstrap) and sid.
+ Corresponding with configuration variable RELEASE.
+
+*--pre-scripts*[=<_directory_>]::
+
+ When using *--pre-scripts* without the optional '=<_directory_>'
+ parameter, it enables executing scripts from the default
+ '<confdir>/pre-scripts/' directory before executing the chroot script.
+ If the optional parameter is given, execute scripts from the specified
+ directory instead. This allows customization of the system before the
+ chroot has been set up. The environment variable $MNTPOINT is available
+ inside the scripts for direct access of the chroot.
+
+*--scripts*[=<_directory_>]::
+
+ When using *--scripts* without the optional '=<_directory_>' parameter,
+ it enables executing scripts from the default '<confdir>/scripts/'
+ directory after the chroot has been set up. If the optional parameter is
+ given, execute scripts from the specified directory instead. This allows
+ customisation of the system after the chroot has been set up. The
+ environment variable $MNTPOINT is available inside the scripts for
+ direct access of the chroot.
+
+*-t*, *--target* <_target_>::
+ Target partition (/dev/...) or directory (anything else without /dev at the
+ beginning). To install grub using *--grub* make sure to use a _device_
+ instead of a directory as _target_ (installation of grub as bootloader when
+ using directories is NOT supported).
+
+*-v*, *--verbose*::
+ Increase verbosity.
+
+*-V*, *--version*::
+ Show version of program and exit.
+
+TIP: The long options may be abbreviated, as long as the abbreviation is not
+ambiguous. Eg. '--k' will be the same as '--keep_src_list', and '--pac' be
+'--packages'.
+
+[WARNING]
+=====================================================================
+
+- To specify the optional parameter for switches that accept them, the
+optional argument must be written directly after the long option name,
+separated by `=' (without space).
+
+- the commandline parsing of grml-debootstrap does not validate the provided
arguments for the commandline options. Please be careful and check docs and
/etc/debootstrap/config for further information.
+=====================================================================
Usage examples
---------------
- grml-debootstrap --target /dev/hda1 --grub hd0 --groot hd0,0
+ grml-debootstrap --target /dev/sda1 --grub /dev/sda
-Install default Debian release (stable/etch) on /dev/hda1 and install bootmanager
-Grub in MBR (master boot record) of /dev/hda and use /dev/hda1 as system partition.
+Install default Debian release (stable/lenny) on /dev/sda1 and install bootmanager
+Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
- grml-debootstrap --target /dev/hda6 --grub hd0 --groot hd0,5 --release sid
+ grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid
-Install Debian unstable/sid on /dev/hda6, install bootmanager
-Grub in MBR (master boot record) of /dev/hda and use /dev/hda6 as system partition.
+Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR
+(master boot record) of /dev/sda and use /dev/sda6 as system partition.
+ mount /dev/sda1 /data/chroot
grml-debootstrap --target /data/chroot
-Install default Debian release (stable/etch) in directory /data/chroot (without
+Install default Debian release (stable/lenny) in directory /data/chroot (without
any bootloader).
- grml-debootstrap --target /dev/sda3 --grub hd0 --groot hd0,2 --mirror ftp://ftp.tugraz.at/mirror/debian
+ grml-debootstrap --target /dev/sda3 --grub /dev/sda --mirror ftp://ftp.tugraz.at/mirror/debian
-Install default Debian release (stable/etch) on /dev/sda3 and install bootmanager
+Install default Debian release (stable/lenny) on /dev/sda3 and install bootmanager
Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
-Use specifed mirror instead of the default (ftp://ftp.debian.de/debian) one.
+Use specified mirror instead of the default (ftp://ftp.debian.de/debian) one.
+
+ mount -o loop /mnt/sda6/debian-40r0-i386-CD-1.iso /mnt/iso
+ grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
+
+Install Debian stable/lenny on /dev/sda1 using the loopback mounted Debian-ISO
+for the base-system and install bootmanager Grub in MBR (master boot record) of
+/dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot
+system requires network access for all packages which are not part of the
+ISO.
Files
-----
Defines the software packages which should be installed in the new
Debian system by default.
+ /etc/debootstrap/extrapackages
+
+Debian Packages dropped here will be installed into the new Debian system by
+default (Controlvariable: EXTRAPACKAGES)
+
/etc/debootstrap/stages/
The default directory for storing information about executed stages. Every
into a file named as the function itself if it has been executed successfully.
You can adjust the location of the directory via configuration variable STAGES
via /etc/debootstrap/config. Please notice that you have to remove the stages
-directory on your own if you want to re-execute grml-deboostrap after running it
+directory on your own if you want to re-execute grml-debootstrap after running it
successfully once. This should avoid recurrent execution by error of
grml-debootstrap (which might delete present data).
want to put existing files to the new Debian system you can place them into the
(by default non-existing) directories boot, etc, share, usr and var in
/etc/debootstrap/. Every existing directory will be copied to the new Debian
-system then.
+system then. If you want to install additional packages that are not available
+via the grml or debian mirror drop them into /etc/debootstrap/extrapackages and
+make sure that EXTRAPACKAGES is set to "yes".
Automatic installation
----------------------
target=...
The target partition/directory of the new Debian system. Usage example:
-target=/dev/hda1
+target=/dev/sda1
grub=...
-Where do you want to install grub to? Use grub syntax for specifying.
-Usage example: grub=hd0
-
- groot=...
-
-Specify root device for usage in grub (corresponds with $TARGET).
-Again, use grub syntax for specifying. Usage example: groot=hd0,0
+Where do you want to install grub to? Usage example: grub=/dev/sda
release=...
-Specify release of new Debian system. Defaults to Debian stable.
-Supported relases: sarge, etch, lenny and sid. Usage example: release=sid
+Specify release of new Debian system. Defaults to Debian stable. Supported
+relases: lenny, squeeze and sid. Usage example: release=sid
mirror=...
password=...
-Set passwort of user root without prompting for it but set it to the given
+Set password of user root without prompting for it but set it to the given
argument. Usage example: password=AiTh5ahn
Usage example for automatic installation:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- debian2hd target=/dev/hda1 grub=hd0 groot=hd0,0 mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar
+ debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar
You have to enter this commandline at the bootprompt of grml. Please make sure
-that /dev/hda1 is the partition where you really want to install your new Debian
+that /dev/sda1 is the partition where you really want to install your new Debian
system.
[NOTE]
include::releasetable.txt[]
[NOTE]
-.Sarge-Release
-=====================================================================
-[1] Please notice that Sarge is the current old-stable within Debian.
-grml-debootstrap can handle the release but you really should not
-use Sarge anymore unless you really know what you are doing. Choose
-Etch instead.
-=====================================================================
+.Etch-Release
+================================================================================
+[1] Please notice that Etch is the current old-stable within Debian.
+grml-debootstrap can handle the release but you really should not use Etch
+anymore unless you really know what you are doing. Choose Lenny instead.
+================================================================================
Bugs
----