From Fedora Project Wiki
< Anaconda
(Fix bullet list layout. Seems it was damaged somewhere along the line.) |
(review doc) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<!-- page was renamed from AnacondaHowItWorks | <!-- page was renamed from AnacondaHowItWorks | ||
--> | --> | ||
= | = How Anaconda Works = | ||
[[Anaconda/Boot| Boot process]] | |||
== | == Boot Process == | ||
A different boot | 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: === | === 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: === | === Linux boot process from CD-ROM: === | ||
# PC | # PC initialization phase - BIOS, POST. | ||
# ISOLINUX is invoked from bootable CD in CD-ROM device (=isolinux.bin=) | # 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 kernel from the CD-ROM device (the =/isolinux= directory on the CD) | ||
# ISOLINUX loads the the initrd image (=initrd.img=) | # ISOLINUX loads the the initrd image (=initrd.img=) | ||
# The kernel then takes over, and attempts to | # 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 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 linuxrc program then mounts the CD-ROM (by trial and error), and decompresses a 'true' root filesystem from CD-ROM to =/dev/ram1=. |
Latest revision as of 08:28, 8 August 2018
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!!
- ...