## page was renamed from DebianInstallerConcepts ## Auto-converted by kwiki2moinmoin v2005-10-07 = Debian-Installer: Concepts = '''Warning: This document is unmaintained and out of date.''' In all there are three stages: * 1. Boot, hardware detection for network cards, get and unpack udebs. * 2. Discover remaining hardware, partitioning, base install, kernel image, boot loader, last minute fixes, reboot. * 3. base-config == 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 http://d-i.alioth.debian.org/svn/debian-installer/installer/doc/devel/modules.txt 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: * use of an SMP kernel to be able to detect it * Boot Loader automatic configurations should include other bootable partitions (done for some boot loaders) * minor: possibility to pivot_root into the system and not to reboot in last step of stage 2