Update documentation regarding /etc/debootstrap/config.
[grml-debootstrap.git] / grml-debootstrap.8.txt
index e04624e..bcc43dd 100644 (file)
@@ -7,75 +7,160 @@ grml-debootstrap - wrapper around debootstrap for installing plain Debian via gr
 
 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.
+    Use specified file for preseeding Debian packages instead of using
+    the default <confdir>/debconf-selections.
 
-  --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.
+
+*--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.
+
+*--nopackages*::
+
+    Skip installation of packages defined in /etc/debootstrap/packages.
+
+*--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_>::
+
+    Use specified file as list for packages that should be installed instead of
+    the default package list file <confdir>/packages.
+
+*--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_>::
+
+    Execute scripts from specified directory before executing the chroot
+    script. This allows customisation 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.
+    Default directory: /etc/debootstrap/pre-scripts/
+
+*--scripts* <_directory_>::
+
+    Execute scripts from specified directory. 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.
+    Default directory: /etc/debootstrap/scripts/
+
+*-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.
 
 WARNING: the commandline parsing of grml-debootstrap does not validate the provided
 arguments for the commandline options. Please be careful and check docs and
@@ -84,26 +169,36 @@ arguments for the commandline options. Please be careful and check docs and
 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
 -----
@@ -111,7 +206,8 @@ Files
   /etc/debootstrap/config
 
 Main configuration file. You have to adjust it according to your needs
-before you are able to run grml-debootstrap.
+if you want to execute grml-debootstrap in the non-interactive mode without
+any special command line arguments.
 
   /etc/debootstrap/chroot-script
 
@@ -127,6 +223,11 @@ Defines the default locales used for generating locales via locale-gen.
 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
@@ -134,7 +235,7 @@ single function of grml-debootstrap will write 'done' to the stages directory
 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).
 
@@ -148,7 +249,9 @@ Debian system can be defined via the file /etc/debootstrap/packages.  If you
 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
 ----------------------
@@ -164,22 +267,16 @@ mentioned above):
   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=...
 
@@ -189,16 +286,16 @@ Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian
 
   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]
@@ -213,13 +310,12 @@ Supported Releases
 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
 ----