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 ]
X-Git-Url: https://git.grml.org/?a=blobdiff_plain;ds=inline;f=grml-debootstrap%2Findex.html;h=6e0c8ab6855f7ddd1c45a7e7dd83623a367431da;hb=17e20c336f878ca8a40fee6b561b2b2a79d8e5ec;hp=2d7a7dc32272fa9abe5310a18c1b7a0dc2a499f7;hpb=c39f079208e4a8e8a354e19e17d34ee43699e908;p=grml.org.git diff --git a/grml-debootstrap/index.html b/grml-debootstrap/index.html index 2d7a7dc..6e0c8ab 100644 --- a/grml-debootstrap/index.html +++ b/grml-debootstrap/index.html @@ -1,16 +1,27 @@ +
- - + +grml-debootstrap - wrapper around debootstrap for installing plain Debian via grml
grml-debootstrap - wrapper around debootstrap for installing plain Debian
grml-debootstrap [ options ]
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.
All you have to do is adjust a few variables in configuration file -/etc/debootstrap/config (or specify some variables via commandline) 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.
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 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 +or virtual image file then. Customization of this process is possible as well.
- | The grml team does not take responsibility for loss of any data! | +The Grml team does not take responsibility for loss of any data! |
+ 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" +
+- Architecture you want to bootstrap. Currently only i386 is supported. - Defaults to the architecture that is currently running on your system. If - you’re running an amd64 system and want to deploy a i386 system use this option. - Note: deploying amd64 from a i386 system won’t work. + 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.
@@ -607,7 +809,7 @@ directory) then. Customization of this process is possible as well.
@@ -615,7 +817,7 @@ directory) then. Customization of this process is possible as well.
@@ -626,7 +828,16 @@ directory) then. Customization of this process is possible as well.
+ Enable the contrib repository in COMPONENTS. By default only + the main repository is enabled. +
+@@ -634,7 +845,7 @@ directory) then. Customization of this process is possible as well.
@@ -643,7 +854,7 @@ directory) then. Customization of this process is possible as well.
@@ -651,7 +862,70 @@ directory) then. Customization of this process is possible as well.
+ Execute in very verbose way. Useful for debugging possible problems + with grml-debootstrap or identify what’s actually executed. +
++ 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. +
++ 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 that should be created when installing to a partition. + If unset defaults to ext4. Valid values are all filesystems that + can be created through mkfs.filesystem. +
++ Skip user acknowledgement and do not prompt for user input. +
++ 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. +
+@@ -672,22 +946,22 @@ directory) then. Customization of this process is possible as well.
- Use specified hostname instead of the default (being grml). + Use specified hostname instead of the default (being $HOSTNAME or if unset grml).
- Specify mountpoint where you have a Debian ISO mounted loopback. + 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 + mounted the according Debian-ISO to the given /mntpoint. See section Usage examples for a demonstration.
@@ -717,6 +991,34 @@ directory) then. Customization of this process is possible as well.
+ Do not copy /etc/network/interfaces from host system to the target. +
++ 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. +
++ Enable the non-free repository in COMPONENTS. By default only + the main repository is enabled. +
+- Do not download and check signatures for retrieved Release files. + 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.
- Specify mountpoint that should be used for mounting the target system. + 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.
@@ -753,27 +1057,29 @@ directory) then. Customization of this process is possible as well.
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. + command line might be visible in the process list and the shell history. It’s meant for automatic installation only.
- Specify release of new Debian system. Supported releases names: lenny, - squeeze (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/
@@ -785,25 +1091,42 @@ directory) then. Customization of this process is possible as well.
- 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/ + 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
+ Delete grml-debootstrap configuration files (/etc/debootstrap/*) from installed + system. Useful for reproducible builds or if you don’t want to leak information. +
+
+ 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)).
+
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).
+ 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 +
++ 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 +
++ 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 +
+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.
grml-debootstrap --target /dev/sda1 --grub /dev/sda+
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.
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 default Debian release (stable/lenny) on /dev/sda1 and install bootmanager -Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
Install Debian unstable/sid on /dev/sda6 and install bootmanager GRUB in MBR (master boot record) of /dev/sda.
grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid+
DEBOOTSTRAP=mmdebstrap grml-debootstrap --target /dev/sda1 --grub /dev/sda
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 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.
mount /dev/sda1 /data/chroot -grml-debootstrap --target /data/chroot+
grml-debootstrap --target /dev/mapper/vg0-rootfs --grub /dev/sda
Install default Debian release (stable/lenny) in directory /data/chroot (without -any bootloader).
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 --target /dev/sda3 --grub /dev/sda --mirror ftp://ftp.tugraz.at/mirror/debian+
grml-debootstrap --efi /dev/sda1 --target /dev/sda2 --grub /dev/sda
Install default Debian release (stable/lenny) 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) 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 -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/+
mount /dev/sda1 /data/chroot
+grml-debootstrap --target /data/chroot
Install Debian stable/lenny 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 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 (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 (buster) in a Virtual Machine file with 3GB disk size (including GRUB as bootmanager in MBR of the virtual disk file):
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. +Please notice, that the chroot system requires network access for all packages which are not part of the ISO.
/etc/debootstrap/config+
/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+
/etc/debootstrap/chroot-script
The script executed within the new Debian system as soon as the main system has been installed via [c]debootstrap.
/etc/debootstrap/locale.gen+
/etc/debootstrap/locale.gen
Defines the default locales used for generating locales via locale-gen.
/etc/debootstrap/packages+
/etc/debootstrap/packages
Defines the software packages which should be installed in the new Debian system by default.
/etc/debootstrap/extrapackages+
/etc/debootstrap/extrapackages/
Debian Packages dropped here will be installed into the new Debian system by -default (Controlvariable: 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).
Debian Packages dropped in this directory will be installed into the new Debian +system by default (Control variable: EXTRAPACKAGES)
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. If you want to install additional packages that are not available -via the grml or debian mirror drop them into /etc/debootstrap/extrapackages and +via the Grml or Debian mirror drop them into /etc/debootstrap/extrapackages and make sure that EXTRAPACKAGES is set to "yes".
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 -mentioned above):
target=...+
target=...
The target partition/directory of the new Debian system. Usage example: target=/dev/sda1
grub=...+
grub=...
Where do you want to install grub to? Usage example: grub=/dev/sda
release=...+
release=...
Specify release of new Debian system. Defaults to Debian stable. Supported -relases: lenny, squeeze 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=...+
mirror=...
Specify mirror which should be used for apt-get/aptitude instead -of the default one (ftp://ftp.debian.de/debian). +of the default one (http://deb.debian.org/debian). Usage example: mirror=ftp://ftp.tugraz.at/mirror/debian
password=...+
password=...
Set password of user root without prompting for it but set it to the given argument. Usage example: password=AiTh5ahn
debian2hd target=/dev/sda1 grub=/dev/sda 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/sda1 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.
@@ -986,67 +1373,62 @@ system. | 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.
- Release / - | -- Tool debootstrap - | -- cdebootstrap - | -
---|---|---|
Release | +Status | +|
- Lenny - | -- works - | -- works - | -
- Squeeze - | -- works - | -- works - | -
- Sid - | -- works - | -- works - | -
lenny |
+works[1] |
+|
squeeze |
+works[1] |
+|
wheezy |
+works[1] |
+|
jessie |
+works |
+|
stretch |
+works |
+|
buster |
+works |
+|
bullseye |
+works[2] |
+|
sid |
+works[2] |
+
[1] Please notice that Etch is the current old-stable within Debian. -grml-debootstrap can handle the release but you really should not use Etch -anymore unless you really know what you are doing. Choose Lenny instead.
[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/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 +the advantage of grub-legacy actually being able to boot from it.
+ + | +
+ unstable and testing releases
+[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. |
Probably. Please send bugreports to Michael Prokop <mika@grml.org>.
Please report bugs towards https://github.com/grml/grml-debootstrap/issues
debootstrap (8), cdebootstrap (1).
debootstrap (8), cdebootstrap (1), mmdebstrap(1).
Michael Prokop <mika@grml.org>