X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-debootstrap%2Findex.html;h=fcf278588d9af61e23439304a6065b5725bdaa3f;hb=57c6f4c1fcef088b7de0378e510bb2b5a74dad36;hp=2d7a7dc32272fa9abe5310a18c1b7a0dc2a499f7;hpb=c39f079208e4a8e8a354e19e17d34ee43699e908;p=grml.org.git diff --git a/grml-debootstrap/index.html b/grml-debootstrap/index.html index 2d7a7dc..fcf2785 100644 --- a/grml-debootstrap/index.html +++ b/grml-debootstrap/index.html @@ -2,15 +2,25 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - - + + grml-debootstrap(8) - +
+

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 ]

@@ -565,40 +750,56 @@ footnotes: function () { Screenshot

+
+

Introduction

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.

+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 +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.

- +
Caution The grml team does not take responsibility for loss of any data!The Grml team does not take responsibility for loss of any data!
+ +

Options and environment variables

---arch <_architecture_> +--arch architecture

- 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. + 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"

---bootappend <_appendline for the kernel_> +--backportrepos +
+
+

+ Enable Debian’s Backports repository (http://backports.debian.org/) via the + /etc/apt/sources.list.d/backports.list configuration file. This provides the + option to install Debian packages from Debian’s backports repository. +

+
+
+--bootappend appendline-for-the-kernel

@@ -607,7 +808,7 @@ directory) then. Customization of this process is possible as well.

--c, --config <_file_> +-c, --config file

@@ -615,7 +816,7 @@ directory) then. Customization of this process is possible as well.

---chroot-scripts <_directory_> +--chroot-scripts directory

@@ -626,7 +827,16 @@ directory) then. Customization of this process is possible as well.

--d, --confdir <_path_> +--contrib +
+
+

+ Enable the contrib repository in COMPONENTS. By default only + the main repository is enabled. +

+
+
+-d, --confdir path

@@ -634,7 +844,7 @@ directory) then. Customization of this process is possible as well.

---debconf <_file_> +--debconf file

@@ -643,7 +853,7 @@ directory) then. Customization of this process is possible as well.

---debopt <_params_> +--debopt params

@@ -651,7 +861,58 @@ directory) then. Customization of this process is possible as well.

---grub <_device_> +--debug +
+
+

+ Execute in very verbose way. Useful for debugging possible problems + with grml-debootstrap or identify what’s actually executed. +

+
+
+--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 ext4. Valid values are all filesystems that + can be created through mkfs.filesystem. +

+
+
+--force +
+
+

+ Skip user acknowledgement and do not prompt for user input. +

+
+
+--grmlrepos +
+
+

+ 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. +

+
+
+--grub device

@@ -672,22 +933,22 @@ directory) then. Customization of this process is possible as well.

---hostname <_hostname_> +--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_> +-i, --iso /mntpoint

- 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.

@@ -700,7 +961,7 @@ directory) then. Customization of this process is possible as well.

--m, --mirror <_URL_> +-m, --mirror URL

@@ -717,6 +978,35 @@ directory) then. Customization of this process is possible as well.

+--nointerfaces +
+
+

+ Do not copy /etc/network/interfaces from host system to the target. + This option is automatically enabled when using --vm or --vmfile. +

+
+
+--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
@@ -725,26 +1015,28 @@ directory) then. Customization of this process is possible as well.

---insecure +--nopassword

- 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.

--p, --mntpoint <_/mntpoint_> +-p, --mntpoint /mntpoint

- 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.

---packages <_file_> +--packages file

@@ -753,27 +1045,29 @@ directory) then. Customization of this process is possible as well.

---password <_password_> +--password password

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.

--r, --release <_releasename_> +--post-scripts directory

- 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/

---pre-scripts <_directory_> +--pre-scripts directory

@@ -785,25 +1079,31 @@ directory) then. Customization of this process is possible as well.

---scripts <_directory_> +-r, --release releasename

- 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 (note: requires a recent version of debootstrap) + and sid. Corresponding with configuration variable RELEASE.

--t, --target <_target_> +--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. +

+
+
+-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).

@@ -815,6 +1115,41 @@ directory) then. Customization of this process is possible as well.

+--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. + 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). + 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
@@ -828,156 +1163,160 @@ directory) then. Customization of this process is possible as well.

Warning -the commandline parsing of grml-debootstrap does not validate the provided -arguments for the commandline options. Please be careful and check docs and -/etc/debootstrap/config for further information. +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. + +

Usage examples

-
grml-debootstrap --target /dev/sda1 --grub /dev/sda
+
grml-debootstrap --target /dev/sda1 --grub /dev/sda
-

Install default Debian release (stable/lenny) on /dev/sda1 and install bootmanager +

Install default Debian release (jessie) on /dev/sda1 and install bootmanager Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.

-
grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid
+
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.

-
mount /dev/sda1 /data/chroot
-grml-debootstrap --target /data/chroot
+
mount /dev/sda1 /data/chroot
+grml-debootstrap --target /data/chroot
-

Install default Debian release (stable/lenny) in directory /data/chroot (without +

Install default Debian release (jessie) in directory /data/chroot (without any bootloader).

-
grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian
+
grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian
-

Install default Debian release (stable/lenny) on /dev/sda3 and install bootmanager +

Install default Debian release (jessie) 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.

+Use specified mirror instead of the default (http://httpredir.debian.org/debian) one.

+
+
+
mount /dev/sda1 /mnt/sda1
+grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img
+
+

Install default debian release (jessie) 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-40r0-i386-CD-1.iso /mnt/iso
-grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
+
mount -o loop /mnt/sda6/debian-CD-1.iso /mnt/iso
+grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
-

Install Debian stable/lenny on /dev/sda1 using the loopback mounted Debian-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 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.

+
+

Files

-
/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
-
-

Debian Packages dropped here will be installed into the new Debian system by -default (Controlvariable: EXTRAPACKAGES)

-
-
-
/etc/debootstrap/stages/
+
/etc/debootstrap/extrapackages/
-

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)

+
+

Customization

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".

+
+

Automatic installation

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):

+variables on the command line instead) it is meant for use via boot option +debian2hd on the Grml live system. The boot option debian2hd (more precise: the +kernelname at the bootprompt) supports the following boot options (they +correspond with the command line 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 jessie. Supported +releases: lenny, squeeze, wheezy, jessie, stretch and sid. Usage example: release=sid

-
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://httpredir.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

-

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
+
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.

+boot options for grml-debootstrap.
@@ -986,67 +1325,54 @@ 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.
+
+
+

Supported Releases

- ---+ ++ - - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
TableCurrent status Table 1. Current status
- Release / - - Tool debootstrap - - cdebootstrap -
Release Status
- Lenny - - works - - works -
- Squeeze - - works - - works -
- Sid - - works - - works -

lenny

works[1]

squeeze

works

wheezy

works

jessie

works

stretch

works

sid

works[2]

@@ -1056,31 +1382,75 @@ cellspacing="0" cellpadding="4"> Note -
Etch-Release
-

[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.

+
lenny 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 8.0 (jessie) or +something newer instead.

+

Notice that you need to specify a mirror providing the lenny release, 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 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.

+ + +
+
+ + +
+Note + +
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.

+
+

Bugs

Probably. Please send bugreports to Michael Prokop <mika@grml.org>.

+
+

See also

debootstrap (8), cdebootstrap (1).

+
+

Author

Michael Prokop <mika@grml.org>

+