Linux Boot Process – BIOS

Home / Linux Boot Process – BIOS

Linux Boot Process – BIOS

December 9, 2015 | Article | 1 Comment

In order for a computer to successfully boot into device we know, a computer should pass some process which we refer as boot process. The BIOS, operating system, and harware components must all be working properly. Failure of any of these three elemens will likely result in a failed boot sequence.

BIOS is a abbreviation of Basic Input Output. It is a firmware, software written into special chip on motherboard.

Whenever a machine is powered on , the 1st program to run is BIOS. Primary jobs of BIOS are:

  • POST : Performs the Power On Self Test, or POST , to test the peripherals if they are functioning properly at hardware level.
  • CPU Initialization : BIOS checks the clock speed of CPU and will put the CPU on realmode. At the time of power on , cpu will be in real mode. In real mode cpu works on direct physical addresses only.
  • Memory Probing : BIOS checks for machine’s available primary memory(RAM).
  • Basic Devices Initialization : BIOS initializes only those devices which are required to carry out the boot process. For example boot process requires basic I/O devices . So BIOS initializes standard input device and standard output device. Apart from basic I/O it also initializessome controllers like PCI controller, IDE controller. IDE controller are needed because without IDE controllers floppy disks / hard disks cant be read or written.
  • Creating Memory Map – BIOS creates real mode memory map or real mode address space. This memory map is always architecture specific. It expects the kernel image to be loaded directly at those addresses. That is why we build the kernel image ( bzImage ) according to the machine’s architecture. The bzImage carries real mode , architecture specific addresses so that it can find those direct addresses and can be loaded there.
  • Loading MBR – The last job of BIOS is to find the boot device and to jump to its sector ‘0’ ( boot sector ). BIOS has got access to only sector ’0′ of a boot device. Whatever BIOS finds in sector ‘0’ , it loads that in real mode address space.

The BIOS job has finished and the control goes to whatever code written on the disk boot sector.

About Author

about author


A man who is obsessed to low level technology.

1 Comment
  1. Linux Boot Process - Boot Loader - Xathrya.ID

    […] BIOS finished initialized the system, it will jump to Master Boot Record and loads the boot loader from […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Social Share Buttons and Icons powered by Ultimatelysocial