X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap.8.txt;h=5f909bc3cfc2e4806908d65ee847ad9ba23b57e0;hp=24dd4ae7ae0fb4d9966b9e2646560101f28a2efb;hb=7e1e9b8dbdcf2ad71aff50ffdb032eb9df8a9e64;hpb=4f9ea9128412213f405416da7f15c3f329857f12 diff --git a/grml-debootstrap.8.txt b/grml-debootstrap.8.txt index 24dd4ae..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 -want) for installing a plain Debian system (e.g. via Grml) very fast and easy. +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. @@ -73,10 +78,33 @@ Options and environment variables Extra parameters passed to the debootstrap command. +*--debug*:: + + 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. - If unset defaults to ext3. Valid values are all filesystems that + If unset defaults to ext4. Valid values are all filesystems that can be created through mkfs._filesystem_. *--force*:: @@ -104,7 +132,7 @@ Options and environment variables *--hostname* _hostname_:: - Use specified hostname instead of the default (being 'grml'). + Use specified hostname instead of the default (being $HOSTNAME or if unset 'grml'). *-i*, *--iso* _/mntpoint_:: @@ -127,6 +155,22 @@ Options and environment variables Skip debootstrap, only do configuration to the target. +*--nointerfaces*:: + + Do not copy /etc/network/interfaces from host system to the target. + +*--nokernel*:: + + Skip installation of default kernel images. This option might be + interesting for you if you want a Debian system which doesn't + 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. @@ -155,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_:: @@ -169,89 +215,132 @@ 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*:: - 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/ + Delete grml-debootstrap configuration files (/etc/debootstrap/*) from installed + system. Useful for reproducible builds or if you don't want to leak information. + +*--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 - 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). + beginning). *-v*, *--verbose*:: + Increase verbosity. -*--vmfile*:: - Set up a Virtual Machine instead of installing to a partition or directory. +*--vm*:: + + 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_:: + 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. +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 ----- /etc/debootstrap/config -Main configuration file. You have to adjust it according to your needs -if you want to execute grml-debootstrap in the non-interactive mode without -any special command line arguments. +Main configuration file. Adjust it according to your needs if you want to +execute grml-debootstrap in the non-interactive mode without any special command +line arguments. /etc/debootstrap/chroot-script @@ -272,17 +361,6 @@ Debian system by default. 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 -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-debootstrap after running it -successfully once. This should avoid recurrent execution by error of -grml-debootstrap (which might delete present data). - Customization ------------- @@ -319,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=... @@ -333,8 +411,8 @@ Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian 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: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Usage example for automatic installation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ debian2hd target=/dev/sda1 grub=/dev/sda mirror=ftp://ftp.tugraz.at/mirror/debian password=foobar @@ -354,17 +432,42 @@ Supported Releases include::releasetable.txt[] [NOTE] -.lenny release +.lenny/squeeze/wheezy 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 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 @@ -372,22 +475,22 @@ the advantage of grub-legacy actually being able to boot from it. ================================================================================ [NOTE] -.sid release +.unstable and testing releases ================================================================================ -[2] Please notice that sid is Debian/unstable and due to its nature might not be -always installable. What _might_ work instead is deploying a stable or testing -release and upgrade it after installation finished. +[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. ================================================================================ 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 ------