detect architecture before checkconfiguration
[grml-debootstrap.git] / grml-debootstrap.8.txt
index e04624e..d45a3d0 100644 (file)
@@ -3,107 +3,238 @@ grml-debootstrap(8)
 
 Name
 ----
-grml-debootstrap - wrapper around debootstrap for installing plain Debian via grml
+grml-debootstrap - wrapper around debootstrap for installing plain Debian
 
 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 (e.g. 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
+/etc/debootstrap/config (or specify some variables via command line) 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!
+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.
+    Set target architecture you want to install. Defaults to the architecture
+    you are currently running. If you're running an amd64 kernel and want to
+    deploy an i386 system use this option. Note: deploying amd64 from an i386
+    kernel does *not* work. Example: "_--arch i386_"
 
-  -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>
+*--filesystem* _filesystem_::
 
-Specify release of new Debian system. Supported relases: sarge, etch, lenny and sid.
-Corresponding with configuration variable RELEASE.
+    Filesystem that should be created when installing to a partition.
+    If unset defaults to ext3. Valid values are all filesystems that
+    can be created through mkfs._filesystem_.
 
-  -t, --target <target>
+*--force*::
 
-Target partition (/dev/...) or directory (anything else without /dev at the
-beginning).
+    Skip user acknowledgement and do not prompt for user input.
 
-WARNING: the commandline parsing of grml-debootstrap does not validate the provided
-arguments for the commandline options. Please be careful and check docs and
+*--grmlrepos*::
+
+    Enable Grml.org's Debian repository (http://deb.grml.org/) via the
+    /etc/apt/sources.list.d/grml.list configuration file. This provides the
+    option to install Debian packages from Grml's repository.
+
+*--grub* _device_::
+
+    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.
+
+*--help*, *-h*::
+
+    Show summary of options and exit.
+
+*--hostname* _hostname_::
+
+    Use specified hostname instead of the default (being 'grml').
+
+*-i*, *--iso* _/mntpoint_::
+
+    Specify mount point 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.
+
+*--nopassword*::
+
+    Do not prompt for the root password. Note: Use the '--password' option if
+    you want to set the root password during an automatic installation but don't
+    want to use the interactive dialog.
+
+*-p*, *--mntpoint* _/mntpoint_::
+
+    Specify mount point 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
+    command line 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, wheezy (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.
+
+*--vmfile*::
+    Set up a Virtual Machine instead of installing to a partition or directory.
+    This allows deployment of a Virtual Machine. The options needs to be
+    combined with the --target option.
+    Usage example: --vmfile --target /mnt/sda1/qemu.img
+
+*--vmsize* _size_::
+   Use specified size for size of Virtual Machine disk file. If not specified it
+   defaults to 2G (being 2GB). Syntax as supported by qemu-img (see manpage
+   qemu-img(1) for details.
+   Usage example: --vmsize 3G
+
+*-V*, *--version*::
+    Show version of program and exit.
+
+WARNING: the command line parsing of grml-debootstrap does not validate the provided
+arguments for the command line 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/squeeze) 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/squeeze) 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/squeeze) in a Virtual Machine file with
+3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):
+
+  mount /dev/sda1 /mnt/sda1
+  grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img
 
-Install default Debian release (stable/etch) on /dev/sda3 and install bootmanager
+Install default Debian release (stable/squeeze) 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/squeeze 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 +242,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 +259,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 in this directory will be installed into the new Debian
+system by default (Control variable: EXTRAPACKAGES)
+
   /etc/debootstrap/stages/
 
 The default directory for storing information about executed stages. Every
@@ -134,7 +271,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).
 
@@ -143,12 +280,14 @@ Customization
 
 You can control execution of grml-debootstrap via adjusting
 /etc/debootstrap/config for some main stuff or via setting some selected
-variables via commandline.  The packages which should be installed in the new
+variables via command line.  The packages which should be installed in the new
 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
 ----------------------
@@ -156,30 +295,24 @@ Automatic installation
 If environment variable AUTOINSTALL is set grml-debootstrap can be executed in a
 full automatic mode. While this mode isn't really useful for interactive
 execution (just configure /etc/debootstrap/configure or specify the relevant
-variables on the commandline instead) it is meant for use via bootoption
-debian2hd. The bootoption debian2hd (more precise: the kernelname on bootprompt)
-supports the following bootoptions (they correspond with the commandline options
+variables on the command line instead) it is meant for use via boot option
+debian2hd. The boot option debian2hd (more precise: the kernelname on bootprompt)
+supports the following boot options (they correspond with the command line options
 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 squeeze. Supported
+relases: lenny, squeeze, wheezy and sid. Usage example: release=sid
 
   mirror=...
 
@@ -189,23 +322,23 @@ 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
-system.
+You have to enter this command line at the bootprompt of the Grml live system.
+Please make sure that /dev/sda1 is the partition where you really want to
+install your new Debian system.
 
 [NOTE]
 Automatic installation within booting process is done in grml-autoconfig via
 setting environment variable AUTOINSTALL and creation of
 /usr/bin/grml-debootstrap_noninteractive with the available and relevant
-bootoptions for grml-debootstrap.
+boot options for grml-debootstrap.
 
 Supported Releases
 ------------------
@@ -213,13 +346,30 @@ 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.
-=====================================================================
+.lenny release
+================================================================================
+[1] Please notice that lenny is the current old-stable release within Debian.
+grml-debootstrap can handle the release but you really should not use lenny
+anymore unless you really know what you are doing. Choose stable (squeeze)
+instead.
+
+Notice that you need to specify a mirror providing the lenny release, the
+default (http://cdn.debian.net/debian) doesn't provide it any longer nowadays.
+Set the mirror to e.g. http://archive.debian.org/debian/ if you don't have
+your own lenny mirror.
+
+When installing lenny to a new mdraid, grml-debootstrap will use md metadata
+format version 0.90. This limits the device to a maximum size of 2TB, but has
+the advantage of grub-legacy actually being able to boot from it.
+================================================================================
+
+[NOTE]
+.sid release
+================================================================================
+[2] Please notice that sid is Debian/unstable and due to its nature might not be
+always installable. What _might_ work instead is deploying stable (squeeze) or
+testing (wheezy) and upgrade it after installation finished.
+================================================================================
 
 Bugs
 ----