SlideShare ist ein Scribd-Unternehmen logo
1 von 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/

Weitere ähnliche Inhalte

Was ist angesagt?

Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_BootingRashila Rr
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computerAnusha Babooa
 
Linux booting Process
Linux booting ProcessLinux booting Process
Linux booting ProcessGaurav Sharma
 
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 ProcessHardeep Bhurji
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingTushar B Kute
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBshimosawa
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
Booting process by Amar singh
Booting process by Amar singhBooting process by Amar singh
Booting process by Amar singhAmar Singh
 

Was ist angesagt? (20)

Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computer
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
Linux booting Process
Linux booting ProcessLinux booting Process
Linux booting 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
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Booting
BootingBooting
Booting
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
Kernel (OS)
Kernel (OS)Kernel (OS)
Kernel (OS)
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Booting process by Amar singh
Booting process by Amar singhBooting process by Amar singh
Booting process by Amar singh
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
Boot process: BIOS vs UEFI
Boot process: BIOS vs UEFIBoot process: BIOS vs UEFI
Boot process: BIOS vs UEFI
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie System Booting Process overview

Bootloader and bootloading
Bootloader and bootloadingBootloader and bootloading
Bootloader and bootloadingArpita Gupta
 
Grub2 Booting Process
Grub2 Booting ProcessGrub2 Booting Process
Grub2 Booting ProcessMike Wang
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot) Omkar Rane
 
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 bootYubrajChaudhary3
 
Basics of boot-loader
Basics of boot-loaderBasics of boot-loader
Basics of boot-loaderiamumr
 
Bios, processorand motherboard
Bios, processorand  motherboardBios, processorand  motherboard
Bios, processorand motherboardImranulHasan6
 
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)Macpaul Lin
 
Linux booting process!!
Linux booting process!!Linux booting process!!
Linux booting process!!sourav verma
 
Linux boot process
Linux boot processLinux boot process
Linux boot processbrusnigin
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedureDhaval Kaneria
 
3996234.ppt
3996234.ppt3996234.ppt
3996234.pptKdpKumar
 

Ähnlich wie 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
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
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
 
101 1.2 boot the system
101 1.2 boot the system101 1.2 boot the system
101 1.2 boot the system
 
Basics of boot-loader
Basics of boot-loaderBasics of boot-loader
Basics of boot-loader
 
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
 
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)
 
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
 
File000124
File000124File000124
File000124
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedure
 
3996234.ppt
3996234.ppt3996234.ppt
3996234.ppt
 
Linux booting sequence
Linux booting sequenceLinux booting sequence
Linux booting sequence
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 

Kürzlich hochgeladen (20)

INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 

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/

Hinweis der Redaktion

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