II. How Anaconda Works
II. 1. Boot Process
A different boot processes 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 *boot loader*, 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:
1. PC initializion phase - BIOS, POST.
2. PC starts boot loader - usually grub or lilo.
3. The bootloader locates kernel image on the hard drive.
4. The kernel decompresses and loads itself. Once finished it tries to mount the root filesystem.
5. 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:
2. PC initializion phase - BIOS, POST. 2. ISOLINUX is invoked from bootable CD in CD-ROM device (=isolinux.bin=) 2. ISOLINUX loads the kernel from the CD-ROM device (the =/isolinux= directory on the CD) 2. ISOLINUX loads the the initrd image (=initrd.img=) 2. The kernel then takes over, and attempts to decompresses the initrd.img into memory (=/dev/ram0=), and mounts this new filesystem as root (=/=). 2. The kernel attempts to run =/linuxrc= in the newly created root filesystem. 2. The linuxrc program then mounts the CD-ROM (by trial and error), and decompresses a 'true' root filesystem from CD-ROM to =/dev/ram1=. 2. 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. 2. Finally, the kernel runs the /sbin/loader binary which then invokes the anaconda installer.
1 actual anaconda process
2 /sbin/init 2 /sbin/loader 2 ... 2 probing for hardware (what is happening behind the scenes/what programs are doing what) 3 Probe for video card 3 Probe for monitor 3 Probe for mouse 2 Welcome to Fedora 2 Choose language for the installation 2 Choose the keyboard 2 Choose the mouse 2 Choose the monitor 2 Searching for Fedora Core/Red Hat Linux installations (/etc/redhat-release) 2 Upgrade and existing installation or Install Fedora Core 2 Choose class [Personal Desktop (default), Workstation, Server, Custom] 2 Partition setup 2 Boot Loader configuration 3 Change bootloader (no bootloader instead of grub) 3 Choose the default OS to boot, and add/remove other OS's from grub 3 Setup a bootloader (grub) password 3 Configure advanced boot loader options 4 Install grub on the MBR (hda) or on the first sector of the boot partition (hda1) 4 Change drive order 4 Force LBA32 4 Other kernel parameters 3 Network configuration 3 Firewall configuration 4 WWW 4 FTP 4 SSH 4 Telnet 4 Mail (SMTP) 4 Other ports 4 Allow all traffic from a device 3 Select default language on the system and any other additional languages 3 Time zone selection 3 Root password (at least 6 characters long) 3 Package Selection (custom install) 3 About to install POINT OF NO RETURN!! 2 ...