Debian-Installer: Concepts

Warning: This document is unmaintained and out of date.

In all there are three stages:

1. Stage

1.1 Boot

The boot is completely different on certain architectures. Somehow the kernel and an initial ramdisk needs to be loaded.

1.2 Pre-install

cdrom-detect calls hw-detect from the ddetect package. That one loads modules, which are on the initrd (mostly for nics) and stores the method to access the udebs and the architecture in debconf.

1.3 anna loads udebs

Each debian-installer set has different udebs, which are needed to perform the following steps.

An udeb is a Debian package, which has no policy dependencies so you can remove documentation, licenses and unused options. They also should be as small as possible. See for details.

2. Stage 2

2.1 discover detects rest of the hardware

As now all kernel modules should be available so discover can detect the hardware.

2.2 Partitioning

With autopartkit, partconf, partitioner, partman or similar tools the user can partition the harddisk.

This also differs on certain architectures. /target should after this step be mounted with one or more hard disk partitions.

2.3 base-install

Now a base system installation will take place, which is an easy debootstrap, which might be replaced with cdebootstrap as this also takes care of dependencies. (see tasks)

2.4 kernel-image

The user can select certain kernel images. They are found by apt-get search kernel-image. They will be installed by chrooting into the target system and installing it.

2.5 Boot Loader

This is also a very architecture dependent step. Lilo/Grub for x86 is installed in the chroot, configured. Then the boot loader is installed.

2.6 Last Minute Fixes

Prebaseconfig on system is run, the cdrom is unmounted and finally the installer reboots.

3. Stage 3

base-config gets executed.

Tasks that came up in discussion were: