In this section we will describe each installer component in detail. The components have been grouped into stages that should be recognisable for users. They are presented in the order they appear during the install. Note that not all modules will be used for every installation; which modules are actually used depends on the installation method you use and on your hardware.
Let's assume the Debian Installer has booted and you are facing its first screen. At this time, the capabilities of debian-installer are still quite limited. It doesn't know much about your hardware, preferred language, or even the task it should perform. Don't worry. Because debian-installer is quite clever, it can automatically probe your hardware, locate the rest of its components and upgrade itself to a capable installation system. However, you still need to help debian-installer with some information it can't determine automatically (like selecting your preferred language, keyboard layout or desired network mirror).
You will notice that debian-installer performs hardware detection several times during this stage. The first time is targeted specifically at the hardware needed to load installer components (e.g. your CD-ROM or network card). As not all drivers may be available during this first run, hardware detection needs to be repeated later in the process.
One of the first things debian-installer does, is to check available memory. If the available memory is limited, this component will make some changes in the installation process which hopefully will allow you to install Debian GNU/Linux on your system.
During a low memory install, not all components will be available. One of the limitations is that you won't be able to choose a language for the installation.
As the first step of the installation, select the language in which you want the installation process to proceed. The language names are listed in both English (left side) and in the language itself (right side); the names on the right side are also shown in the proper script for the language. The list is sorted on the English names.
The language you choose will be used for the rest of the installation process, provided a translation of the different dialogs is available. If no valid translation is available for the selected language, the installer will default to English. The selected language will also be used to help select a suitable keyboard layout.
If you a selected language in Section 6.3.1.2, “Language Chooser” which has more than one country associated with it (true for Chinese, English, French, and many other languages), you can specify the country here. If you choose at the bottom of the list, you will be presented with a list of all countries, grouped by continent.
This selection will be used later in the installation process to pick the default timezone and a Debian mirror appriopriate for your geographic location. If the defaults proposed by the installer are not suitable, you can make a different choice. The selected country, together with the selected language, may also affect locale settings for your new Debian system.
Keyboards are often tailored to the characters used in a language. Select a layout that conforms to the keyboard you are using, or select something close if the keyboard layout you want isn't represented. Once the system installation is complete, you'll be able to select a keyboard layout from a wider range of choices (run kbdconfig as root after you have completed the installation).
Move the highlight to the keyboard selection you desire and press Enter. Use the arrow keys to move the highlight — they are in the same place in all national language keyboard layouts, so they are independent of the keyboard configuration. An 'extended' keyboard is one with F1 through F10 keys along the top row.
When installing via the hd-media method, there will be a moment where you need to find and mount the Debian Installer iso image in order to get the rest of the installation files. The component iso-scan does exactly this.
At first, iso-scan automatically mounts all block devices (e.g. partitions) which have some known filesystem on them and sequentially searches for filenames ending with .iso (or .ISO for that matter). Beware that the first attempt scans only files in the root directory and in the first level of subdirectories (i.e. it finds /whatever.iso, /data/whatever.iso, but not /data/tmp/whatever.iso). After an iso image has been found, iso-scan checks its content to determine if the image is valid Debian iso image or not. In the former case we are done, in the latter iso-scan seeks for another image.
In case the previous attempt to find an installer iso image fails, iso-scan will ask you whether you would like to perform more throughly search. This pass doesn't look only into the topmost directories, but really traverses whole filesystem.
If iso-scan does not discover your installer iso image, reboot back to your original operating system and check if the image has correct name (ending in .iso), if it is placed on a filesystem recognizable by debian-installer, and if it is not corrupted (verify the checksum). Experienced unix users could do this without rebooting on the second console.
As you enter this step, if the system detects that you have more than one network device, you'll be asked to choose which device will be your primary network interface, i.e. the one which you want to use for installation. The other interfaces won't be configured at this time. You may configure additional interfaces after installation is complete; see the interfaces(5) man page.
By default, debian-installer tries to configure your computer's network automatically via DHCP. If DHCP probe succeeds, you are done. If the probe fails, it may be caused by many factors ranging from unplugged network cable, to a misconfigured DHCP setup. Or maybe you don't have DHCP server in your local network at all. For further explanation check the error messages on the third console. In any case, you will be asked, if you want to retry, or if you want to perform manual setup. DHCP servers are sometimes really slow in their responses, so if you are sure everything is in place, try again.
The manual network setup in turn asks you number of questions about your network, notably IP address, Netmask, Gateway, Name server addresses, and a Hostname. Moreover, if you have a wireless network interface, you will be asked to provide your Wireless ESSID and a WEP key. Fill in the answers from Section 3.3, “Information You Will Need”.
Some technical details you might, or might not, find handy: the program assumes the network IP address is the bitwise-AND of your system's IP address and your netmask. It will guess the broadcast address is the bitwise OR of your system's IP address with the bitwise negation of the netmask. It will also guess your gateway. If you can't find any of these answers, use the system's guesses — you can change them once the system has been installed, if necessary, by editing /etc/network/interfaces. Alternatively, you can install etherconf, which will step you through your network setup.
At this time, after hardware detection has been executed a final time, debian-installer should be at its full strength, customized for the user's needs and ready to do some real work. As the title of this section indicates, the main task of the next few components lies in partitioning your disks, creating filesystems, assigning mountpoints and optionally configuring closely related issues like LVM or RAID devices.
Now it is time to partition your disks. If you are uncomfortable with partitioning, or just want to know more details, see Appendix A, Partitioning for Debian.
First you will be given the opportunity to automatically partition either an entire drive, or free space on a drive. This is also called “guided” partitioning. If you do not want to autopartition, choose from the menu and skip to the next paragraph. Otherwise you will be asked if you want , , or if you rather plan to have a . All schemes have their pros and cons, some of which are discussed in Appendix A, Partitioning for Debian. If you are unsure, choose the first one. Bear in mind, that guided partitioning needs certain minimal amount of free space to operate with. If you don't give it at least about 1GB of space (depends on chosen scheme), guided partitioning will fail.
Partitioning scheme | Minimum space | Created partitions |
---|---|---|
All files in one partition | 600MB | /, swap |
Separate partition for home directories | 500MB | /, /home, swap |
Multi-user system | 1GB | /, /home, /usr, /var, /tmp, swap |
On the next screen you will see your partition table, how the partitions will be formatted, and where they will be mounted. If you did automatic partitioning, you should just be able to choose
from the menu to use what it set up.Select partitions from the list to modify or delete them. If you have free space it will also show up under a drive, and you can select it to create new partitions. When modifying a partition you will have the opportunity to choose how to use the partition, the file system to use, and where to mount it. The partitioning menu also has a choice at the top that can be used to automatically partition a drive or existing free space on a drive, if you'd rather go that route. Be sure to create at least two partitions, one for swap and one for the root filesystem (which must be mounted as /). If you forget to mount the root filesystem, partman won't let you continue until you correct this issue. However, this situation should not happen, because partman by default offers reasonable defaults.
Capabilities of partman can be extended with installer modules, so if you can't see all promised goodies, check if you have loaded all required modules (e.g. partman-ext3, partman-xfs, or partman-lvm).
After you are satisfied with partitioning, select
from the partitioning menu. You will be presented with a summary of changes made to the disks and asked to confirm that the filesystems should be created as requested.If you have more than one harddrive[3] in your computer, you can use mdcfg to setup your drives for increased performance and/or better reliability of your data. The result is called Multidisk Device (or after its most famous variant software RAID).
MD is basically a bunch of partitions located on different disks and combined together to form a logical device. This device can then be used like an ordinary partition (i.e. in partman you can format it, assign a mountpoint, etc.).
The benefit you gain depends on a type of a MD device you are creating. Currently supported are:
Is mainly aimed at performance. RAID0 splits all incomming data into stripes and distributes them equally over each disk in the array. This can increase the speed of read/write operations, but when one of the disks fails, you will loose everything (part of the information is still on the healthy disk(s), the other part was on the failed disk).
The typical use for RAID0 is a partition for video editing.
Is suitable for setups where reliability is on the first place. It consists of several (usualy two) equaly sized partitions where every partition contains exactly the same data. This essentialy means two things. First, if one of your disks fails, you still have the data mirrored on the remaining disks. Second, you can use only a fraction of the available capacity. (Exactly it is the size of the smallest partition in the RAID).
Optionally you can have a spare disk in the array which will take the place of the failed disk in the case of failure.
To sum it up:
Type | Minimum Devices | Spare Device | Survives disk failure? | Available Space |
---|---|---|---|---|
RAID0 | 2 | no | no | Size of the smallest device multiplied by number of devices in RAID |
RAID1 | 2 | optional | yes | Size of the smallest device in RAID |
If you want to know the whole truth about Software RAID, have a look at Software RAID HOWTO.
To create a MD device, you need to have the desired partitions it should consist of marked for use in a RAID. (This is done in partman in the menu where you should select -> .)
Currently you can't use MD for root (/) partition.
On the first screen of mdcfg simply select . You will be presented a list of supported types of MD devices, from which you should choose one (e.g. RAID1). What will follow depends on a type of selected MD. Generally speaking, you will have to provide some parameters and choose the partitions from which the MD shoud consist.
RAID0 is simple — you will be issued with the list of available RAID partitions and your only task is to select the partitions which will form the MD.
RAID1 is a bit more tricky. First, you will be asked to enter the number of active devices and the number of spare devices which will form the MD. Next, you need to select from the list of available RAID partitions those that will be active and then those that will be spare. The count of selected partitions must be equal to the number provided few seconds ago. Don't worry. If you make a mistake and select different number of partitions, the debian-installer won't let you continue until you correct the issue.
It is perfectly possible to have several types of MD at once. For example if you have three 200 GB hard drives dedicated to MD, each containing two 100 GB partitions, you can combine first partitions on all three disk into the RAID0 (fast 300 GB video editing partition) and use the other three partitions (2 active and 1 spare) for RAID1 (quite reliable 100 GB partition for /home).
After you setup MD devices to your liking, you can mdcfg to return back to the partman to create filesystems on your new MD devices and assign them the usual attributes like mountpoints.
Although this stage is the least problematic, it consumes most time of the install because it downloads, verifies and unpacks the whole base system. If you have a slow computer or network connection, this could take some time.
During the Base installation, package unpacking and setup messages are redirected to tty3. You can access this terminal by pressing Left Alt-F3; get back to the main installer process with Left Alt-F1.
The unpack/setup messages generated by the base installation are saved in /var/log/messages when the installation is performed over a serial console.
As part of the installation, a linux kernel will be installed. At the default priority, the installer will choose one for you that best matches your hardware. In lower priority modes, you will be able to choose from a list of available kernels.
If you are installing a diskless workstation, obviously, booting off the local disk isn't a meaningful option, and this step will be skipped.
Note that multiple operating systems booting on a single machine is still something of a black art. This document does not even attempt to document the various boot managers, which vary by architecture and even by subarchitecture. You should see your boot manager's documentation for more information.
Before a boot loader is installed, the installer will attempt to probe for other operating systems which are installed on the machine. If it finds a supported operating system, you will be informed of this during the boot loader installation step, and the computer will be configured to boot this other operating system in addition to Debian.
Note that multiple operating systems booting on a single machine is still something of a black art. The automatic support for detecting and setting up boot loaders to boot other operating systems varys by architecture and even by subarchitecture. If it does not work you should consult your boot manager's documentation for more information.
The boot loader on S/390 is “zipl”. ZIPL is similar in configuration and usage to LILO, with a few exceptions. Please take a look at “LINUX for S/390 Device Drivers and Installation Commands” from IBM's developerWorks web site if you want to know more about ZIPL.
These are the last bits to do before rebooting to your new Debian. It mostly consists of tidying up after the debian-installer.
This is the last step in the initial Debian installation process. You will be prompted to remove the boot media (CD, floppy, etc) that you used to boot the installer. The installer will do any last minute tasks, and then reboot into your new Debian system.
The components listed in this section are usually not involved in the installation process, but are waiting in the background to help the user in case something goes wrong.
If the installation is successful, the logfiles created during the installation process will be automatically saved to /var/log/debian-installer/ on your new Debian system.
Choosing
from the main menu allows you to save the log files to a floppy disk. This can be useful if you encounter fatal problems during the installation and wish to study the logs on another system or attach them to an installation report.There is an Execute a Shell item on the menu. If the menu is not available when you need to use the shell, press Left Alt-F2 (on a Mac keyboard, Option-F2) to get to the second virtual console. That's the Alt key on the left-hand side of the space bar, and the F2 function key, at the same time. This is a separate window running a Bourne shell clone called ash.
At this point you are booted from the RAM disk, and there is a limited set of Unix utilities available for your use. You can see what programs are available with the command ls /bin /sbin /usr/bin /usr/sbin. The text editor is nano. The shell has some nice features like autocompletion and history.
Use the menus to perform any task that they are able to do — the shell and commands are only there in case something goes wrong. In particular, you should always use the menus, not the shell, to activate your swap partition, because the menu software can't detect that you've done this from the shell. Press Left Alt-F1 to get back to menus, or type exit if you used a menu item to open the shell.
It is possible to configure the base system within the first stage installer (before rebooting from the hard drive), by running it in a chroot environment. This is mainly useful for testing the installer and a vast majority of people should avoid it.
[3] To be honest, you can construct MD device even from partitions residing on single physical drive, but that won't bring you anything useful.