Release new version 0.108
[grml-debootstrap.git] / grml-debootstrap.8.txt
index 46af45e..457d4b4 100644 (file)
@@ -14,13 +14,13 @@ image:images/screenshot.png[Screenshot]
 Introduction
 ------------
 
-grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap if you
+grml-debootstrap is a wrapper suite around debootstrap (and cdebootstrap and mmdebstrap if you
 want) for installing a plain Debian system very fast and easy.
 
 All you have to do is adjust a few variables in the configuration file
 /etc/debootstrap/config or specify some command line options and invoke
 grml-debootstrap. If invoked without any configuration modifications or command
-line options a dialog based frontend will be available to control some basic
+line options a dialog based front end will be available to control some basic
 configuration options.
 
 A plain and base Debian system will be installed on the given device, directory
@@ -40,7 +40,7 @@ Options and environment variables
 
 *--backportrepos*::
 
-    Enable Debian's Backports repository (http://backports.debian.org/) via the
+    Enable Debian's Backports repository via the
     /etc/apt/sources.list.d/backports.list configuration file. This provides the
     option to install Debian packages from Debian's backports repository.
 
@@ -85,8 +85,11 @@ Options and environment variables
 
 *--defaultinterfaces*::
 
-   Install a default /etc/network/interfaces file (enabling DHCP for eth0)
+   Install a default /etc/network/interfaces file (enabling DHCP for all local
+   Ethernet, WLAN and WWAN interfaces using predictable network interface names
+   and using eth0 as traditional interface name for backward compatibility)
    instead of taking over config from host system.
+   This option is automatically enabled when using --vm or --vmfile.
 
 *--efi* _device_::
 
@@ -155,7 +158,6 @@ Options and environment variables
 *--nointerfaces*::
 
     Do not copy /etc/network/interfaces from host system to the target.
-    This option is automatically enabled when using --vm or --vmfile.
 
 *--nokernel*::
 
@@ -166,8 +168,9 @@ Options and environment variables
 
 *--non-free*::
 
-    Enable the 'non-free' repository in COMPONENTS. By default only
-    the 'main' repository is enabled.
+    Enable the 'non-free' repository in COMPONENTS.
+    For bookworm and newer Debian releases also the 'non-free-firmware' repository gets enabled.
+    By default only the 'main' repository is enabled.
 
 *--nopackages*::
 
@@ -215,15 +218,29 @@ Options and environment variables
 
 *-r*, *--release* _releasename_::
 
-    Specify release of new Debian system. Supported releases names: lenny,
-    squeeze, wheezy, jessie, stretch and sid. Corresponding with configuration
-    variable RELEASE. Default release: stretch
+    Specify release of new Debian system. Supported releases names:
+    jessie, stretch, buster, bullseye, bookworm and sid.
+    Corresponding with configuration variable RELEASE. Default release: bookworm
 
 *--remove-configs*::
 
     Delete grml-debootstrap configuration files (/etc/debootstrap/*) from installed
     system. Useful for reproducible builds or if you don't want to leak information.
 
+*--sshcopyauth*::
+
+    Use locally available _$HOME/.ssh/authorized_keys_ to authorise root login on the target system.
+    This installs _$HOME/.ssh/authorized_keys_ as _/root/.ssh/authorized_keys_ on
+    the target system. If a different file than _$HOME/.ssh/authorized_keys_ should
+    be used, the environment variable _AUTHORIZED_KEYS_SOURCE_ can be used.
+
+*--sshcopyid*::
+
+    Use locally available public keys to authorise root login on the target system.
+    Similar to ssh-copy-id(1) (without the -i option) it checks if `ssh-add -L`
+    provides any output, and if so those keys are appended to
+    _/root/.ssh/authorized_keys_ (creating the file and directory (with mode 0700)).
+
 *-t*, *--target* _target_::
 
     Target partition (/dev/...) or directory (anything else without /dev at the
@@ -239,6 +256,7 @@ Options and environment variables
     partitioned.
     This allows deployment of a Virtual Machine. The options needs to be
     combined with the --target option.
+    This option automatically enables the --defaultinterfaces option.
     Usage example: --vm --target /dev/mapper/your-vm-disk
 
 *--vmfile*::
@@ -247,6 +265,7 @@ Options and environment variables
     partition/block device or directory. This allows deployment of a Virtual
     Machine. The options needs to be combined with the --target option
     ('qemu-img create -f raw ...' is executed on the specified target).
+    This option automatically enables the --defaultinterfaces option.
     Usage example: --vmfile --target /mnt/sda1/qemu.img
 
 *--vmsize* _size_::
@@ -256,6 +275,10 @@ Options and environment variables
    qemu-img(1) for details.
    Usage example: --vmsize 3G
 
+*--vmefi*::
+
+   Create an EFI boot partition for the VM.
+
 *-V*, *--version*::
 
     Show version of program and exit.
@@ -264,45 +287,63 @@ WARNING: the command line parsing of grml-debootstrap usually does not validate
 the provided arguments for the command line options. Please be careful and check
 docs and /etc/debootstrap/config for further information.
 
+Networking
+----------
+
+By default (that is, if none of the options *--nointerfaces*,
+*--defaultinterfaces*, *--vmfile* or *--vm* are given) /etc/network/interfaces
+will be copied from the host to the target system.
+
 Usage examples
 ---------------
 
   grml-debootstrap --target /dev/sda1 --grub /dev/sda
 
-Install default Debian release (stretch) on /dev/sda1 and install bootmanager
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
+Install default Debian release (bookworm) on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+
+  grml-debootstrap --release stretch --target /dev/sda1 --grub /dev/sda --hostname debian01 --password changeme
+
+Install Debian release stretch on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+Set hostname to 'debian01' and password for user root to 'changeme'.
 
   grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid
 
-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.
+Install Debian unstable/sid on /dev/sda6 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+
+  DEBOOTSTRAP=mmdebstrap grml-debootstrap --target /dev/sda1 --grub /dev/sda
+
+Install default Debian release (bookworm) on /dev/sda1 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+Use mmdebstrap instead of default debootstrap tool for bootstrapping.
+
+  grml-debootstrap --target /dev/mapper/vg0-rootfs --grub /dev/sda
+
+Install default Debian release (bookworm) on LVM device /dev/mapper/vg0-rootfs and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+
+  grml-debootstrap --efi /dev/sda1 --target /dev/sda2 --grub /dev/sda
+
+Install default Debian release (bookworm) on /dev/sda2 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+Use /dev/sda1 as EFI partition (requires EFI support in booted system).
 
   mount /dev/sda1 /data/chroot
   grml-debootstrap --target /data/chroot
 
-Install default Debian release (stretch) in directory /data/chroot (without
-any bootloader).
+Install default Debian release (bookworm) in directory /data/chroot (without any bootloader).
 
   grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian
 
-Install default Debian release (stretch) on /dev/sda3 and install bootmanager
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
-Use specified mirror instead of the default (http://httpredir.debian.org/debian) one.
+Install default Debian release (bookworm) on /dev/sda3 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
+Use specified mirror instead of the default (http://deb.debian.org/debian) one.
 
   mount /dev/sda1 /mnt/sda1
   grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img
 
-Install default debian release (stretch) in a Virtual Machine file with
-3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):
+Install default debian release (bookworm) in a Virtual Machine file with 3GB disk size (including GRUB as bootmanager in MBR of the virtual disk file):
 
-  mount -o loop /mnt/sda6/debian-CD-1.iso /mnt/iso
-  grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
+  mount -o loop ./debian-CD-1.iso /media/cdrom
+  grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso /media/cdrom
 
-Install Debian 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.
+Install Debian 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.
+Please notice, that the chroot system requires network access for all packages which are not part of the ISO.
 
 Files
 -----
@@ -368,13 +409,14 @@ Where do you want to install grub to? Usage example: grub=/dev/sda
 
   release=...
 
-Specify release of new Debian system. Defaults to Debian stretch. Supported
-releases: lenny, squeeze, wheezy, jessie, stretch and sid. Usage example: release=sid
+Specify release of new Debian system. Defaults to Debian bookworm.
+Supported releases: jessie, stretch, buster, bullseye, bookworm and sid.
+Usage example: release=bullseye
 
   mirror=...
 
 Specify mirror which should be used for apt-get/aptitude instead
-of the default one (http://httpredir.debian.org/debian).
+of the default one (http://deb.debian.org/debian).
 Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian
 
   password=...
@@ -403,37 +445,25 @@ Supported Releases
 include::releasetable.txt[]
 
 [NOTE]
-.lenny/squeeze release
+.jessie/stretch/buster release
 ================================================================================
-[1] Please notice that lenny and squeeze are unsupported releases within Debian nowadays.
-grml-debootstrap can handle the releases but you really should not use them
-anymore unless you really know what you are doing. Choose the current Debian
-stable version instead.
-
-Notice that you need to specify a mirror providing the lenny/squeeze releases, the
-default (http://httpredir.debian.org/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/squeeze mirror.
-
-You also need to specify a filesystem that's supported by lenny, e.g.
-'--filesystem ext3' since grml-debootstrap's current default (ext4) isn't
-supported by lenny.
-
-Also when debootstrapping lenny on a live system with a kernel version
-like "3.16-1-grml-amd64" lenny's libc will fail to install with:
-
-   [...]
-   /var/lib/dpkg/tmp.ci/preinst: line 265: [: 3.16-1-grml-amd64: integery expression expected
-   /var/lib/dpkg/tmp.ci/preinst: line 231: 3.16-1-grml-amd64: syntax error: invalid arithemtic operator (error token is ".16-1-grml-amd64")
-   dpkg: error processing /var/cache/apt/archives/libc6_2.7-18lenny7_amd64.deb (--install):
-   [....]
-
-To workaround this either debootstrap from a system with an according
-kernel version or use the "fake uname" workaround (just google for it).
-
-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.
+[1] Please notice that releases like jessie, stretch and buster are unsupported releases within Debian nowadays.
+grml-debootstrap can handle the releases but you really should not use them anymore unless you really know what you are doing.
+Even older versions are also entirely unsupported by grml-debootstrap.
+
+Choose the current Debian stable version instead.
+See https://wiki.debian.org/DebianReleases for the list of supported releases.
+
+Notice that you need to specify a specific mirror providing old releases, the default (http://deb.debian.org/debian) doesn't provide them any longer.
+Set the mirror to e.g. http://archive.debian.org/debian/ if you don't have your own Debian mirror.
+
+Older releases might also fail to install when running on top of recent kernel versions,
+throwing segfaults during debootstrap. This can be identified by the following messages inside kernel log (check with 'dmesg'):
+
+   dpkg[...] vsyscall attempted with vsyscall=none ip:[...]
+   dpkg[...]: segfault at [...]
+
+To work around this issue boot your system with the kernel boot option 'vsyscall=emulate'.
 ================================================================================
 
 [NOTE]
@@ -447,12 +477,12 @@ deploying a stable release and upgrade it after installation finished.
 Bugs
 ----
 
-Probably. Please send bugreports to Michael Prokop <mika@grml.org>.
+Please report bugs towards https://github.com/grml/grml-debootstrap/issues
 
 See also
 --------
 
-debootstrap (8), cdebootstrap (1).
+debootstrap (8), cdebootstrap (1), mmdebstrap(1).
 
 Author
 ------