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
*--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_::
*--nointerfaces*::
Do not copy /etc/network/interfaces from host system to the target.
- This option is automatically enabled when using --vm or --vmfile.
*--nokernel*::
*-r*, *--release* _releasename_::
Specify release of new Debian system. Supported releases names: lenny,
- squeeze, wheezy, jessie, stretch, buster and sid. Corresponding with configuration
- variable RELEASE. Default release: buster
+ squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Corresponding with configuration
+ variable RELEASE. Default release: bullseye
*--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
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*::
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_::
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 (buster) 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 (bullseye) 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 foobar --password changeme
+ 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 and use /dev/sda1 as system partition.
-Set hostname to 'foobar' and password for user root to '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 (bullseye) 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 (bullseye) 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 (bullseye) 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 (buster) in directory /data/chroot (without
-any bootloader).
+Install default Debian release (bullseye) 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 (buster) on /dev/sda3 and install bootmanager
-GRUB in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
+Install default Debian release (bullseye) 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 (buster) in a Virtual Machine file with
-3GB disk size (including GRUB as bootmanager in MBR of the virtual disk file):
+Install default debian release (bullseye) 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
-----
release=...
-Specify release of new Debian system. Defaults to Debian buster. Supported
-releases: lenny, squeeze, wheezy, jessie, stretch, buster and sid. Usage example: release=stretch
+Specify release of new Debian system. Defaults to Debian bullseye. Supported
+releases: lenny, squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Usage example: release=stretch
mirror=...
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
------