X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap.8.txt;h=5f909bc3cfc2e4806908d65ee847ad9ba23b57e0;hp=334843dc60eab498bfce8370212e2ea3da6939d6;hb=eb7cb8d30510ae0b672d5b1c3cdb1bd5733822fe;hpb=6c597252744ccc9ba7608188a41a3006e97b20b1 diff --git a/grml-debootstrap.8.txt b/grml-debootstrap.8.txt index 334843d..5f909bc 100644 --- a/grml-debootstrap.8.txt +++ b/grml-debootstrap.8.txt @@ -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. @@ -60,6 +60,11 @@ Options and environment variables are executed at the end of the chroot procedure. Default directory: /etc/debootstrap/chroot-scripts/ +*--contrib*:: + + Enable the 'contrib' repository in COMPONENTS. By default only + the 'main' repository is enabled. + *-d*, *--confdir* _path_:: Place of configuration files for debootstrap, defaults to /etc/debootstrap. @@ -78,6 +83,24 @@ Options and environment variables Execute in very verbose way. Useful for debugging possible problems with grml-debootstrap or identify what's actually executed. +*--defaultinterfaces*:: + + 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_:: + + Partition where EFI boot manager should be installed to. If the + specified device doesn't use a FAT filesystem yet grml-debootstrap + automatically creates the filesystem. If a FAT filesystem is already + present the filesystem creation is skipped. Please ensure that it's + a valid FAT32 filesystem and the partition has the 'boot' and 'esp' + flags enabled. This option requires EFI support on the running system + and the option is NOT supported for Virtual Machine deployments. + *--filesystem* _filesystem_:: Filesystem that should be created when installing to a partition. @@ -135,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 --vmfile. *--nokernel*:: @@ -144,6 +166,11 @@ Options and environment variables need to provide regular boot, e.g. a system which provides ISOs for booting via GRUB using grml-rescueboot. +*--non-free*:: + + Enable the 'non-free' repository in COMPONENTS. By default only + the 'main' repository is enabled. + *--nopackages*:: Skip installation of packages defined in /etc/debootstrap/packages. @@ -172,11 +199,13 @@ Options and environment variables command line might be visible in the process list and the shell history. It's meant for automatic installation only. -*-r*, *--release* _releasename_:: +*--post-scripts* _directory_:: - 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. + Execute scripts from specified directory after executing the chroot script. + 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/post-scripts/ *--pre-scripts* _directory_:: @@ -186,12 +215,23 @@ Options and environment variables scripts for direct access of the chroot. Default directory: /etc/debootstrap/pre-scripts/ -*--scripts* _directory_:: +*-r*, *--release* _releasename_:: + + Specify release of new Debian system. Supported releases names: lenny, + squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Corresponding with configuration + variable RELEASE. Default release: buster + +*--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. - 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/ +*--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_:: @@ -202,11 +242,22 @@ Options and environment variables Increase verbosity. -*--vmfile*:: +*--vm*:: - Set up a Virtual Machine instead of installing to a partition or directory. + Set up a Virtual Machine on an existing block device, which will be + 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*:: + + Set up a Virtual Machine using a regular file instead of installing to a + 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_:: @@ -224,45 +275,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 (wheezy) 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 (buster) 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 (buster) 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 (buster) 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 --efi + +Install default Debian release (buster) 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 (wheezy) in directory /data/chroot (without -any bootloader). +Install default Debian release (buster) 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 (wheezy) in a Virtual Machine file with -3GB disk size (including Grub as bootmanager in MBR of the virtual disk file): +Install default Debian release (buster) 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 (wheezy) 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 (ftp://ftp.debian.de/debian) one. +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): - 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 ----- @@ -328,13 +397,13 @@ Where do you want to install grub to? Usage example: grub=/dev/sda release=... -Specify release of new Debian system. Defaults to Debian wheezy. Supported -relases: lenny, squeeze, wheezy and sid. Usage example: release=sid +Specify release of new Debian system. Defaults to Debian buster. Supported +releases: lenny, squeeze, wheezy, jessie, stretch, buster, bullseye and sid. Usage example: release=stretch mirror=... Specify mirror which should be used for apt-get/aptitude instead -of the default one (http://http.debian.net/debian). +of the default one (http://deb.debian.org/debian). Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian password=... @@ -363,17 +432,42 @@ Supported Releases include::releasetable.txt[] [NOTE] -.lenny release +.lenny/squeeze/wheezy release ================================================================================ -[1] Please notice that lenny is an unsupported release within Debian nowadays. -grml-debootstrap can handle the release but you really should not use lenny -anymore unless you really know what you are doing. Choose Debian 6.0 (squeeze) -or Debian 7.0 (wheezy) instead. - -Notice that you need to specify a mirror providing the lenny release, the -default (http://http.debian.net/debian) doesn't provide it any longer nowadays. +[1] Please notice that releases like lenny, squeeze and wheezy 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. +See https://wiki.debian.org/DebianReleases for the list of supported releases. + +Notice that you need to specify a mirror providing the lenny and squeeze releases, the +default (http://deb.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 mirror. +your own lenny/squeeze 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'. + +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 @@ -383,7 +477,7 @@ the advantage of grub-legacy actually being able to boot from it. [NOTE] .unstable and testing releases ================================================================================ -[2] Please notice that jessie (Debian/testing) and sid (Debian/unstable) might +[2] Please notice that Debian/testing and Debian/unstable (sid) might not be always installable due to their nature. What _might_ work instead is deploying a stable release and upgrade it after installation finished. ================================================================================ @@ -391,12 +485,12 @@ deploying a stable release and upgrade it after installation finished. Bugs ---- -Probably. Please send bugreports to Michael Prokop . +Please report bugs towards https://github.com/grml/grml-debootstrap/issues See also -------- -debootstrap (8), cdebootstrap (1). +debootstrap (8), cdebootstrap (1), mmdebstrap(1). Author ------