The Boot Process

In order to achieve a successful boot sequence, all the components of the computer need to be working perfectly. The BIOS, operating system, and hardware components must all be working properly.

When the PC’s power is turned on, it runs a self-test after an electric circuit is closed. A signal will then be sent to the CPU through a 4-pin connector that will indicate that the power is on. After the self-test runs, the CPU with call upon the BIOS.

The Basic Input/Output System (BIOS) is stored on a ROM chip and is powered by a CMOS(Complementary metal–oxide–semiconductor) battery. During the boot process, the BIOS does not rely on the power supply from the wall outlet because the current and voltage is unregulated. After the CPU pulls up the BIOS, the program immediately checks for the existence of the CPU, Memory, and Video Card. Next, the BIOS multiples the memory frequency by the memory frequency multiplier to determine the speed at which the CPU will run. Telling the CPU to run at a higher multiplier than what it was designed to run can increase the running speed of the CPU.

After the CPU frequency is set, the BIOS runs the POST (Power-on self test) to check that the following:

  • The computer is working as it is supposed to
  • No errors with the processor, motherboard, RAM and other memory, as well as the video card
  • Hard drives and other devices are working
  • Keyboard and mouse are connected

The next function of the BIOS is to read boot information from devices boot the first device that gives the proper response. This is done to determine which devices are used to start the operating system. This process is called the boot sequence. These devices can include USB flash drives, Floppy disks, CD-ROMs, A network, and Hard drives. The boot sequence can be set.

Next, the bootloader loads the supporting modules and the initial Kernel into memory. The bootloader used in this boot process will be the GRUB (grand unified bootloader). GRUB involves 3 different stages:

Stage 1: a tiny application exists in the drive to load the larger part of GRUB.

Stage 1.5: drivers required to access the file system with stage 2 is contained here.

Stage 2: loads the menu options for GRUB.

The Ramdisk then enables the Kernel to load a certain amount of drivers from the filesystem to find other specific drivers. This provides support to the kernel for the boot process.

The init process is loaded next. This system is booted into the runlevel in the /etc/inittab. These run levels bring up the system in different ways. The 3 common run levels in linux are:

  1. Halt
  2. Single User mode
  3. Reboot

Levels 2-5 can vary in meanings. Runlevel 3 can be used for multiple users.

In a multiuser runlevel, the network is enabled. In contrast, the single user mode has no network which can also make it very useful for troubleshooting.

Finally the, init process loads the startup scripts based on the runlevel that was selected. These startup scripts are located in the subdirectories /etc/rc.d dictionaries. The init then finds whatever is in etc/rc.d/rc.local and runs it. After this, if the boot process was successful, you should be able to see the login screen on the monitor. At any time, if the computer starts beeping, it means that an error has occurred or that the power being supplied to the computer has too high of a voltage and will result in damage to components if not turned off. All modern computers now are protected from this by having instructions to turn off immediately in such cases.