From Fedora Project Wiki
< Anaconda
How Anaconda Works
Boot Process
A different boot process is needed when booting from a CD-ROM because linux does not really know how to do it. When booting from a CD-ROM an initrd (initial ramdisk) is used as the root filesystem. This initrd is loaded by the *bootloader*, not the kernel, making it possible to boot from any device the bootloader can access. ISOLINUX is the boot loader commonly used for booting from a CD-ROM.
Linux boot process from hard drive:
- PC initialization phase - BIOS, POST.
- PC starts boot loader - usually grub or lilo.
- The bootloader locates kernel image on the hard drive.
- The kernel decompresses and loads itself. Once finished it tries to mount the root filesystem.
- When the root filesystem is mounted, /sbin/init is executed and continues booting the system using inittab and /etc/rc*.d scripts
Linux boot process from CD-ROM:
- PC initialization phase - BIOS, POST.
- ISOLINUX is invoked from bootable CD in CD-ROM device (=isolinux.bin=)
- ISOLINUX loads the kernel from the CD-ROM device (the =/isolinux= directory on the CD)
- ISOLINUX loads the the initrd image (=initrd.img=)
- The kernel then takes over, and attempts to decompress the initrd.img into memory (=/dev/ram0=), and mounts this new filesystem as root (=/=).
- The kernel attempts to run =/linuxrc= in the newly created root filesystem.
- The linuxrc program then mounts the CD-ROM (by trial and error), and decompresses a 'true' root filesystem from CD-ROM to =/dev/ram1=.
- The kernel takes over and mounts the newly configured root filesystem. The new filesystem is mounted so that a softlink for the CD-ROM can be added in its =/dev= directory, so the system can access the CD-ROM.
- Finally, the kernel runs the /sbin/loader binary which then invokes the anaconda installer.
- actual anaconda process
- /sbin/init
- /sbin/loader
- ...
- probing for hardware (what is happening behind the scenes/what programs are doing what)
- Probe for video card
- Probe for monitor
- Probe for mouse
- Welcome to Fedora
- Choose language for the installation
- Choose the keyboard
- Choose the mouse
- Choose the monitor
- Searching for Fedora Core/Red Hat Linux installations (/etc/redhat-release)
- Upgrade and existing installation or Install Fedora Core
- Choose class [Personal Desktop (default), Workstation, Server, Custom]
- Partition setup
- Boot Loader configuration
- Change bootloader (no bootloader instead of grub)
- Choose the default OS to boot, and add/remove other OS's from grub
- Setup a bootloader (grub) password
- Configure advanced boot loader options
- Install grub on the MBR (hda) or on the first sector of the boot partition (hda1)
- Change drive order
- Force LBA32
- Other kernel parameters
- Network configuration
- Firewall configuration
- WWW
- FTP
- SSH
- Telnet
- Mail (SMTP)
- Other ports
- Allow all traffic from a device
- Select default language on the system and any other additional languages
- Time zone selection
- Root password (at least 6 characters long)
- Package Selection (custom install)
- About to install POINT OF NO RETURN!!
- ...