Step 1: Power Good PC's power supply circuit test for proper voltage.
Step 2: The CPU wake up The CPU is brought into the boot process Activate Basic Input/Output system (BIOS).
Step 3: POST BIOS start the Power on self test (POST).
Step 4: CMOS and BIOS BIOS talk CMOS CMOS contains information on how the system should be BIOS and CMOS will communicate to ensure what should be are the same
Step 5: Loading Drivers BIOS loads very basic drivers for the devices attached to the computer into the system memory.
Step 6: System BUS The BIOS will have CPU send signal over the system bus to make sure all basic component are working
Step 7: Video POST launches video display It use very basic video settings. this is the first time in the boot process anything is display on the monitor.
Step 8: Memory The POST write and read from system memory.
Step 9: The handoff Post hands off to a process called bootstrap loader.
Step 10: Bootstrap loader will load the operating system (OS).
The GNU Binary Utilities, or binutils, are a set of programming tools for creating and managing binary programs, object files, libraries, profile data, and assembly source code.
gcc Compiler
C liberary (libc)
gdb debugger
The task of the bootloader is :
To generate a description of hardware that is size, location of RAM, flash etc
And Load Kernel into memory
most bootloaders provide a shell with various commands implementing different operations
BUSY BOX:BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
WHY NEED VIRTUAL TO PHYSICAL MAPPING ARCHITECTURE??
The single biggest benefit of this architecture is that an error in one process can't trash the memory space of another, which is a common pitfall in legacy embedded OSs and can lead to bugs that are difficult to track down.