6.3. Using Individual Components

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.

6.3.1. Setting up Ubuntu Installer and Hardware Configuration

Let's assume the Ubuntu 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.

6.3.1.1. Check available memory

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

6.3.1.2. Language Chooser

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.

6.3.1.3. Country Chooser

If you selected a 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 Other 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 an Ubuntu mirror appropriate 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 Ubuntu system.

6.3.1.4. Choosing a Keyboard

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.

6.3.1.5. Configuring Network

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 the 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 a 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 a 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”.

Note

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.

6.3.2. Partitioning and Mount Point Selection

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.

6.3.2.1. Partitioning Your Disks

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

First you will be given the opportunity to automatically partition an entire drive. This is also called “guided” partitioning. If you do not want to autopartition, choose Manually edit partition table from the menu.

If you choose guided partitioning, you will be able to choose from the schemes listed in the table below. All schemes have their pros and cons, some of which are discussed in Appendix A, Partitioning for Ubuntu. 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
Desktop machine 500MB /, /home, swap
Multi-user workstation 1GB /, /home, /usr, /var, /tmp, swap

After selecting a scheme, the next screen will show your new partition table, including information on whether and how partitions will be formatted and where they will be mounted.

The list of partitions might look like this:

  IDE1 master (hda) - 6.4 GB WDC AC36400L
        #1 primary   16.4 MB     ext2       /boot
        #2 primary  551.0 MB     swap       swap
        #3 primary    5.8 GB     ntfs
           pri/log    8.2 MB     FREE SPACE

  IDE1 slave (hdb) - 80.0 GB ST380021A
        #1 primary   15.9 MB     ext3
        #2 primary  996.0 MB     fat16
        #3 primary    3.9 GB     xfs        /home
        #5 logical    6.0 GB     ext3       /
        #6 logical    1.0 GB     ext3       /var
        #7 logical  498.8 GB     ext3
        #8 logical  551.5 GB     swap       swap
        #9 logical   65.8 GB     ext2

This example shows two IDE harddrives divided into several partitions; the first disk has some free space. Each partition line consists of the partition number, its type, size, optional flags, file system, and mountpoint (if any).

This concludes the guided partitioning. If you are satisfied with the generated partition table, you can choose Finish partitioning and write changes to disk from the menu to implement the new partition table (as described at the end of this section). If you are not happy, you can choose to Undo changes to partitions, to run guided partitioning again or modify the proposed changes as described below for manual partitioning.

A similar screen to the one shown just above will be displayed if you choose manual partioning except that your existing partition table will be shown and without the mount points. How to manually setup your partition table and the usage of partitions by your new Ubuntu system will be covered in the remainder of this section.

If you select a pristine disk which doesn't have neither partitions nor free space on it, you will be offered to create a new partition table (this is needed so you can create new partitions). After this a new line entitled “FREE SPACE” should appear under the selected disk.

If you select some free space, you will be offered to create new partition. You will have to answer a quick series of questions about its size, type (primary or logical), and location (begining or end of the free space). After this, you will be presented with detailed overview of your new partition. There are options like mountpoint, mount options, bootable flag, or way of usage. If you don't like the preselected defaults, feel free to change them to your liking. E.g. by selecting the option Use as:, you can choose different filesystem for this partition including the possibility to use the partition for swap, software RAID, LVM, or not use it at all. Other nice feature is the possibility to copy data from existing partition onto this one. When you are satisfied with your new partition, select Finished with partition and you will be thrown back to the partman's main screen.

If you decide you want to change something about your partition, simply select the partition, which will bring you to the partition configuration menu. Because this is the same screen like when creating a new partition, you can change the same set of options. One thing which might not be very obvious at a first glance is that you can resize the partition by selecting the item displaying the size of the partition. Filesystems known to work are at least fat16, fat32, ext2, ext3 and swap. This menu also allows you to delete a partition.

Be sure to create at least two partitions: one for the root filesystem (which must be mounted as /) and one for swap. If you forget to mount the root filesystem, partman won't let you continue until you correct this issue.

Capabilities of partman can be extended with installer modules, but are dependent on your system's architecture. 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 Finish partitioning and write changes to disk 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.

6.3.2.2. Configuring Multidisk Device (Software RAID)

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:

RAID0

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.

RAID1

Is suitable for setups where reliability is the first concern. 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. (More precisely, 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 partition multiplied by number of devices in RAID
RAID1 2 optional yes Size of the smallest partition 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 Partition settings menu where you should select Use as:->Use the partition as a RAID device.)

Warning

Currently you can't use MD for root (/) partition.

Next, you should choose Configure software RAID from the main partman menu. On the first screen of mdcfg simply select Create MD device. You will be presented with a list of supported types of MD devices, from which you should choose one (e.g. RAID1). What follows depends on the type of MD you selected.

  • 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 Finish mdcfg to return back to the partman to create filesystems on your new MD devices and assign them the usual attributes like mountpoints.

6.3.3. Installing the Base System

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.

6.3.3.1. Base System Installation

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.

6.3.3.2. Copying Remaining Packages to the Hard Disk

When installing from CD, after the base system has been installed, the packages needed to install an Ubuntu desktop system are copied to the hard disk. This allows the second stage of installation, after your computer has rebooted, to proceed without you needing to insert the CD again.

On slower computers, this may take a long time. It can be disabled by adding the boot parameter archive-copier/copy=false, or by using expert mode, in which case archive-copier will ask you if you want to copy the remaining packages to the hard disk. If you disable the copying step, you will need to insert the CD again after rebooting in order to install a full Ubuntu desktop.

6.3.4. Making Your System Bootable

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.

6.3.4.1. Booting other operating systems

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

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 varies by architecture and even by subarchitecture. If it does not work you should consult your boot manager's documentation for more information.

6.3.4.2. Continue Without Boot Loader

This option can be used to complete the installation even when no boot loader is to be installed, either because the arch/subarch doesn't provide one, or because none is desired (e.g. you will use existing boot loader).

6.3.5. Finishing the First Stage

These are the last bits to do before rebooting to your new Ubuntu. It mostly consists of tidying up after the debian-installer.

6.3.5.1. Finish the Installation and Reboot

This is the last step in the initial Ubuntu 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 Ubuntu system.

6.3.6. Miscellaneous

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.

6.3.6.1. Saving the installation logs

If the installation is successful, the logfiles created during the installation process will be automatically saved to /var/log/debian-installer/ on your new Ubuntu system.

Choosing Save debug logs 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.

6.3.6.2. Using the Shell and Viewing the Logs

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 switch 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 and by typing help. 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.

6.3.6.3. Running base-config From Within debian-installer

It is possible to configure the base system within the first stage installer (before rebooting from the hard drive), by running base-config 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.