SlideShare une entreprise Scribd logo
1  sur  11
Booting Process
By
Raj Kumar Rampelli
What is Booting Process ?
 Sequence of operations for initialization of
hardware blocks including the memory controller,
the processor and I/O peripherals etc.
Booting process in x86 based
devicePower on device
Start executing code in BIOS (H/W initialization),
stored in EEPROM flash memory (Boot Flash) and
Load Boot Vector
Machine start to execute at fixed location
0xFFFFFFF0 (Boot Vector)  Loading Boot Vector
BIOS loads Bootloader (ex: GRUB) to select &
load OS from multiple OSes installed on hard
disks
Bootloader loads OS image (boot.img) into RAM by
using Boot sector (of size 512MB) on disk (Master Boot
Record in windows terminology)
Booting process in ARM based
devicePower on Device
BootROM start execution, do H/W
Initialization and Load Boot Vector
Machine start to execute at fixed
location 0x0 (RESET)
BootROM reads bootable device info from
fuse register to load Bootloader.
BootROM loads Bootloader
Bootloader loads Kernel
Booting Stages….!!
 BIOS/BootROM stored in flash memory on mother-board
 BIOS/BootROM Tasks:
 Power-On Self Test (POST)
 H/W Initialization
 Initialization of
 SDRAM: Read BCT (Board Configuration Table) file, initialize and configure SDRAM
 Cache memory
 Memory controller
 Clocks
 Loading Boot Vector
 Loading Bootloader
 BootROM/BIOS reads BCT file and loads Bootloader into SDRAM
 Perform all these operations in AVP (Audio Video Processor)
mode only
 Bootloader Tasks
 1st stage Bootloader
 2nd stage Bootloader
Bootloader Tasks
(1st stage Bootloader)
 Runs in AVP (Audio Video Processor)
 Read BCT file and Initializes SDRAM
 Check Battery level
 If its value is meeting the target battery level then continue booting
process
 Else charge the device
 Read BCT for 2nd stage Bootloader location
 Load 2nd stage Bootloader into SDRAM
 Initialize clock sources and enable clocks to required peripherals
 Enable UART
 Initialize CPU and transfer control to 2nd stage Bootloader
 Power up CPU
 Enable CPU clock
 Take CPU out of the reset
Bootloader Tasks
(2nd stage Bootloader)
 Run in CPU mode
 CPU tasks
 Initialize & enable Cache memory
 Configure General Interrupt Controller
 Enable Timer & enable MMU
 Initialize Page tables
 Power on display
 Provide booting options to select
 Fastboot
 Continue booting
 Read GPT (General Partition Table) for kernel location
 Load initrd (initial RAM Disk) into RAM and mounted
 Serves as temporary root file system in RAM and allows kernel to boot without
having to mount any phisical disks.
 After kernel is booted, this file system in unmounted and real root file system is
mounted.
 Load compressed Kernel image (zImage) into memory
 Prepare Kernel command line data to pass it to kernel
 Disable MMU and cache, now jump to kernel
The Kernel
 Bootloader loads compressed kernel image (zImage) into memory
 A Routine (at Head of Kernel Image) uncompresses the Kernel and
places into high memory
start ()
•When zImage is invoked, the control begins at start() function located at
arch/<arm/i386>/boot/head.S and do basic h/w setup
Startup_32()
•Located in arch/<arm/i386>/boot/compressed/head.S
•Startup_32() setup environment ex: stack
decompress
_kernel()
•Located in arch/<arm/i386>/boot/compressed/misc.c
•Kernel is decompressed through this call
startup_32()
•Located in arch/<arm/i386>/kernel/head.S
•Page tables are initialized, memory paging in enabled
start_kernel
()
•Located in init/main.c, which takes us to the non-architecture specific linux
kernel
•Setup Interrupts, Memory configuration, load initial RAM disk
Kernel_thread
()
•Start the init() process, which is the first user space process. Idle task is started
and scheduler takes the control when cpu_idle() called.
Start init process
 Kernel starts 1st user application /sbin/init
 1st program which compiled with std. C library
 Creates init process (id=1) (parent of all process)
 Start system services
 Init process reads /etc/inittab and creates startup
processes.
 /etc/inittab contains the settings for change the process behavior
and their run-levels
 Run level: S/W configuration of the system that allows only selected
group of processes to exist
 Init runs the system in any of the below run level at a
time
 0 – Halt, 1 – Single user mode
 2 – Multi user mode, without NFS
 3 – Full multi user mode, 4 – unused, 5 – x11, 6 – Reboot
 inittab instructs the init process which run level system
should run at and describes the processes to be run ar
each run level
References
 Inside the Linux boot process:
https://www.ibm.com/developerworks/lib
rary/l-linuxboot/
 Basic Boot Terminology
http://stackoverflow.com/questions/1200
2089/basic-boot-terms?rq=1
THANK YOU 
Have a look at
My PPTs:
http://www.slideshare.net/rampalliraj/
My Tech Blog:
http://practicepeople.blogspot.in/

Contenu connexe

Tendances (20)

Linux Kernel Module - For NLKB
Linux Kernel Module - For NLKBLinux Kernel Module - For NLKB
Linux Kernel Module - For NLKB
 
Introduction to char device driver
Introduction to char device driverIntroduction to char device driver
Introduction to char device driver
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Linux scheduler
Linux schedulerLinux scheduler
Linux scheduler
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
 
System call
System callSystem call
System call
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
Pthread
PthreadPthread
Pthread
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
 
Chapter 3 - Processes
Chapter 3 - ProcessesChapter 3 - Processes
Chapter 3 - Processes
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Linux Directory Structure
Linux Directory StructureLinux Directory Structure
Linux Directory Structure
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
Linux Programming
Linux ProgrammingLinux Programming
Linux Programming
 
Booting of Computer System
Booting of Computer SystemBooting of Computer System
Booting of Computer System
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 

En vedette

Learn python - for beginners - part-2
Learn python - for beginners - part-2Learn python - for beginners - part-2
Learn python - for beginners - part-2RajKumar Rampelli
 
Network security and cryptography
Network security and cryptographyNetwork security and cryptography
Network security and cryptographyRajKumar Rampelli
 
Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)RajKumar Rampelli
 
Introduction to Kernel and Device Drivers
Introduction to Kernel and Device DriversIntroduction to Kernel and Device Drivers
Introduction to Kernel and Device DriversRajKumar Rampelli
 
Learn python – for beginners
Learn python – for beginnersLearn python – for beginners
Learn python – for beginnersRajKumar Rampelli
 

En vedette (8)

Linux watchdog timer
Linux watchdog timerLinux watchdog timer
Linux watchdog timer
 
Learn python - for beginners - part-2
Learn python - for beginners - part-2Learn python - for beginners - part-2
Learn python - for beginners - part-2
 
Network security and cryptography
Network security and cryptographyNetwork security and cryptography
Network security and cryptography
 
Linux Kernel I/O Schedulers
Linux Kernel I/O SchedulersLinux Kernel I/O Schedulers
Linux Kernel I/O Schedulers
 
Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)Tasklet vs work queues (Deferrable functions in linux)
Tasklet vs work queues (Deferrable functions in linux)
 
Linux GIT commands
Linux GIT commandsLinux GIT commands
Linux GIT commands
 
Introduction to Kernel and Device Drivers
Introduction to Kernel and Device DriversIntroduction to Kernel and Device Drivers
Introduction to Kernel and Device Drivers
 
Learn python – for beginners
Learn python – for beginnersLearn python – for beginners
Learn python – for beginners
 

Similaire à System Booting Process overview

Similaire à System Booting Process overview (20)

Linux Booting Steps
Linux Booting StepsLinux Booting Steps
Linux Booting Steps
 
Bootloader and bootloading
Bootloader and bootloadingBootloader and bootloading
Bootloader and bootloading
 
Grub2 Booting Process
Grub2 Booting ProcessGrub2 Booting Process
Grub2 Booting Process
 
Booting a computer, cold boot, warm boot
Booting a computer, cold boot, warm bootBooting a computer, cold boot, warm boot
Booting a computer, cold boot, warm boot
 
How to build and load linux to embedded system
How to build and load linux to embedded systemHow to build and load linux to embedded system
How to build and load linux to embedded system
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
An Insight into the Linux Booting Process
An Insight into the Linux Booting ProcessAn Insight into the Linux Booting Process
An Insight into the Linux Booting Process
 
101 1.2 boot the system
101 1.2 boot the system101 1.2 boot the system
101 1.2 boot the system
 
Bios, processorand motherboard
Bios, processorand  motherboardBios, processorand  motherboard
Bios, processorand motherboard
 
Ch04 system administration
Ch04 system administration Ch04 system administration
Ch04 system administration
 
Ch04
Ch04Ch04
Ch04
 
Linux booting process!!
Linux booting process!!Linux booting process!!
Linux booting process!!
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
BOOTING.ppt
BOOTING.pptBOOTING.ppt
BOOTING.ppt
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedure
 
File000124
File000124File000124
File000124
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedure
 
3996234.ppt
3996234.ppt3996234.ppt
3996234.ppt
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computer
 
Linux booting sequence
Linux booting sequenceLinux booting sequence
Linux booting sequence
 

Plus de RajKumar Rampelli

Writing Character driver (loadable module) in linux
Writing Character driver (loadable module) in linuxWriting Character driver (loadable module) in linux
Writing Character driver (loadable module) in linuxRajKumar Rampelli
 
Introduction to Python - Running Notes
Introduction to Python - Running NotesIntroduction to Python - Running Notes
Introduction to Python - Running NotesRajKumar Rampelli
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewRajKumar Rampelli
 

Plus de RajKumar Rampelli (7)

Writing Character driver (loadable module) in linux
Writing Character driver (loadable module) in linuxWriting Character driver (loadable module) in linux
Writing Character driver (loadable module) in linux
 
Introduction to Python - Running Notes
Introduction to Python - Running NotesIntroduction to Python - Running Notes
Introduction to Python - Running Notes
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
 
Sql injection attack
Sql injection attackSql injection attack
Sql injection attack
 
Turing awards seminar
Turing awards seminarTuring awards seminar
Turing awards seminar
 
Higher education importance
Higher education importanceHigher education importance
Higher education importance
 
C compilation process
C compilation processC compilation process
C compilation process
 

Dernier

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 

Dernier (20)

ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 

System Booting Process overview

  • 2. What is Booting Process ?  Sequence of operations for initialization of hardware blocks including the memory controller, the processor and I/O peripherals etc.
  • 3. Booting process in x86 based devicePower on device Start executing code in BIOS (H/W initialization), stored in EEPROM flash memory (Boot Flash) and Load Boot Vector Machine start to execute at fixed location 0xFFFFFFF0 (Boot Vector)  Loading Boot Vector BIOS loads Bootloader (ex: GRUB) to select & load OS from multiple OSes installed on hard disks Bootloader loads OS image (boot.img) into RAM by using Boot sector (of size 512MB) on disk (Master Boot Record in windows terminology)
  • 4. Booting process in ARM based devicePower on Device BootROM start execution, do H/W Initialization and Load Boot Vector Machine start to execute at fixed location 0x0 (RESET) BootROM reads bootable device info from fuse register to load Bootloader. BootROM loads Bootloader Bootloader loads Kernel
  • 5. Booting Stages….!!  BIOS/BootROM stored in flash memory on mother-board  BIOS/BootROM Tasks:  Power-On Self Test (POST)  H/W Initialization  Initialization of  SDRAM: Read BCT (Board Configuration Table) file, initialize and configure SDRAM  Cache memory  Memory controller  Clocks  Loading Boot Vector  Loading Bootloader  BootROM/BIOS reads BCT file and loads Bootloader into SDRAM  Perform all these operations in AVP (Audio Video Processor) mode only  Bootloader Tasks  1st stage Bootloader  2nd stage Bootloader
  • 6. Bootloader Tasks (1st stage Bootloader)  Runs in AVP (Audio Video Processor)  Read BCT file and Initializes SDRAM  Check Battery level  If its value is meeting the target battery level then continue booting process  Else charge the device  Read BCT for 2nd stage Bootloader location  Load 2nd stage Bootloader into SDRAM  Initialize clock sources and enable clocks to required peripherals  Enable UART  Initialize CPU and transfer control to 2nd stage Bootloader  Power up CPU  Enable CPU clock  Take CPU out of the reset
  • 7. Bootloader Tasks (2nd stage Bootloader)  Run in CPU mode  CPU tasks  Initialize & enable Cache memory  Configure General Interrupt Controller  Enable Timer & enable MMU  Initialize Page tables  Power on display  Provide booting options to select  Fastboot  Continue booting  Read GPT (General Partition Table) for kernel location  Load initrd (initial RAM Disk) into RAM and mounted  Serves as temporary root file system in RAM and allows kernel to boot without having to mount any phisical disks.  After kernel is booted, this file system in unmounted and real root file system is mounted.  Load compressed Kernel image (zImage) into memory  Prepare Kernel command line data to pass it to kernel  Disable MMU and cache, now jump to kernel
  • 8. The Kernel  Bootloader loads compressed kernel image (zImage) into memory  A Routine (at Head of Kernel Image) uncompresses the Kernel and places into high memory start () •When zImage is invoked, the control begins at start() function located at arch/<arm/i386>/boot/head.S and do basic h/w setup Startup_32() •Located in arch/<arm/i386>/boot/compressed/head.S •Startup_32() setup environment ex: stack decompress _kernel() •Located in arch/<arm/i386>/boot/compressed/misc.c •Kernel is decompressed through this call startup_32() •Located in arch/<arm/i386>/kernel/head.S •Page tables are initialized, memory paging in enabled start_kernel () •Located in init/main.c, which takes us to the non-architecture specific linux kernel •Setup Interrupts, Memory configuration, load initial RAM disk Kernel_thread () •Start the init() process, which is the first user space process. Idle task is started and scheduler takes the control when cpu_idle() called.
  • 9. Start init process  Kernel starts 1st user application /sbin/init  1st program which compiled with std. C library  Creates init process (id=1) (parent of all process)  Start system services  Init process reads /etc/inittab and creates startup processes.  /etc/inittab contains the settings for change the process behavior and their run-levels  Run level: S/W configuration of the system that allows only selected group of processes to exist  Init runs the system in any of the below run level at a time  0 – Halt, 1 – Single user mode  2 – Multi user mode, without NFS  3 – Full multi user mode, 4 – unused, 5 – x11, 6 – Reboot  inittab instructs the init process which run level system should run at and describes the processes to be run ar each run level
  • 10. References  Inside the Linux boot process: https://www.ibm.com/developerworks/lib rary/l-linuxboot/  Basic Boot Terminology http://stackoverflow.com/questions/1200 2089/basic-boot-terms?rq=1
  • 11. THANK YOU  Have a look at My PPTs: http://www.slideshare.net/rampalliraj/ My Tech Blog: http://practicepeople.blogspot.in/

Notes de l'éditeur

  1. http://stackoverflow.com/questions/12002089/basic-boot-terms?rq=1Note: BIOS is for x86 and BootROM is for ARM