Installing Linux can be extremely simple and automated or more complex and manual.
Whatever the distro used the general process follows common steps:
- A Linux kernel is booted from the installation medium (CDROM/Floppy/Network/USB) and starts a limited Linux system (the Installer program, one or to terminals with a shell, some logging output on virtual consoles)
- The Installer program starts and guides the user to the definition of common parameters: language to be used, time and timezone, password of root user, network parameters, packages to be installed, login and password of normal users...
- A critical part of the installation process is disk space partitioning. There's usually a graphical front end which permits to create new partitions (and in some case resize current ones without deleting data). The partitions selected for installation are created, formatted and mounted in a subdirectory of the current system.
- The system is chrooted on the newly created partitions and the selected packages are installed (alternatively packages are installed using as root directory the mount point of the new system)
- Hardware devices are recognized and configured. Generally a multi-purpose modular kernel, able to recognize different hardware and sometimes optimized for the underlining processor, is installed as default
- A Linux Loader (lilo or grub) is installed on the selected device/partition, usually the Master Boot Record.
The installation can take from few minutes (a Linspire box, where almost nothing is asked to the user) to several hours (a Gentoo system, where everything can be compiled from scratch).
After the first reboot, the system is ready with plenty of installed software and the ability the update it automatically from the net.
Here is a general overview on the major distros:
RedHat: Anaconda Graphical Installer. Easy and standard procedure.
Debian: Debian Installer. Text based. Not particularly easy, can be quite verbose
Slackware: Text based. Not particularly easy. Requires user "consciousness".
Mandrake: Graphical installer. Complete, easy and versatile (allows partitions resize)
SUSE: Yast2 graphical installer. Complete, easy, and versatile (allows partitions resize)
Gentoo: User driven installation procedure. Complete documentation, completely manual.