SlideShare a Scribd company logo
1 of 16
Board Bringup



© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>
               All Rights Reserved.
What to Expect?
Board specific Details
Understanding the target board
How to play with the target board?
Peeking into Vendor supplied Utilities, if
any




         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   2
                        All Rights Reserved.
Startup Doubts
Typical doubts you may have, be it your
desktop or board
  What happens when you switch on the power?
  Where does the processor starts executing on
  “Power on Reset”?
  What code is there? Do you have access to that
  code?
  How does the Operating System boot up?
  How does the login prompt come?
  Any many more
         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   3
                        All Rights Reserved.
Startup Sequence
To Decode all these, let's understand the
Startup Sequence
  Processor / Controller Startup
  Bootloader or the Software Startup
  Operating System Startup
  Application Startup
Though they may vary from board to board,
we can have a generic overview
And then, we shall get into your board
specifics
          © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   4
                         All Rights Reserved.
Processor / Controller Startup
Controller Internal Code
  Mostly exists in Controllers (Embedded Systems)
System Startup / Setup Code
  Mostly exists for Processors in Desktops
  Processors jump to a pre-designated address, typically Zero,
  to run these pre-programmed code
  Referred as BIOS in the Desktop parlance
  Needs to be programmed once, on virgin boards
In both the cases, the Code looks for the Stage1
Bootloader at the designated places
    Embedded: EEPROM, Flash, Serial Download, …
    Desktops: Floppy, CDROM, Hard Disk, Network, ...
             © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   5
                            All Rights Reserved.
Software Startup
Stage 1 Bootloader
 Initial Program Loader (IPL) in Embedded World
 Master Boot Record (MBR) in Desktops
 Constrained to limited Space. Can't do much
 So, loads
Stage 2 Bootloader
 Have enough space to do luxurious stuff
 Provides configurability and management features
 Loads the Operating System
 Passes arguments to the Operating System
 Jumps to start executing the Operating System
 For Desktops: LILO, GRUB, SYSLINUX, ...
 In Embedded Systems: u-boot and others
   Also called Secondary Program Loader (SPL)
               © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   6
                              All Rights Reserved.
Operating System Startup
Uncompresses the kernel, if compressed
Configures itself based on the arguments
from the Stage 2 Bootloader
Setup the Kernel Space
Jump execution to the first application
  “init”
Common to both Desktop & Embedded


           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   7
                          All Rights Reserved.
Application Startup
init
  This could be the application binary itself. Or,
  Could be a link to it
  It typically starts the various daemons
  And then does things as per the system's
  requirement
  In Desktop, starts the login process to provide login
  prompts
  In Embedded Systems, does the same at least
  during Development Cycle
  Later, may do specific to customer requirement
           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   8
                          All Rights Reserved.
Startup Sequence
Power Up / Reset                                        BIOS
                         System Startup                 Controller Code

                                                        Master Boot Record
                       Stage 1 Bootloader               Initial Program Loader

                                                        LILO, GRUB, …
                       Stage 2 Bootloader               u-boot, ...


                        Operating System                Linux Kernel



Operational                 Application                 init → busbox, ...



                   © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>             9
                                  All Rights Reserved.
Let's Startup the Board




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   10
               All Rights Reserved.
Anatomy of Development Board
 Being a Embedded Developer, you should
 know your board in more detail
 Both
  Hardware
    Major components
    Types of memories
  Software
    Manufactured State
    Factory Restoration

         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   11
                        All Rights Reserved.
Let's Browse the Board




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   12
               All Rights Reserved.
Manufactured State
State at which, it was when manufactured
Also called the Virgin State
Achieved by erasing all the memories
  EEPROM
  Flash – NOR, NAND, ...
This, in principle erases
  Bootloaders – Stage 1 & Stage 2
  Kernel
  File Systems
           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   13
                          All Rights Reserved.
Factory Restoration
So, this is to get the Board back to boot up
In principle, populating back the memories erased with
  Stage 1 & Stage 2 Bootloaders
  Kernel
  Root File System
  Optionally, the Other File Systems
Would need some special utilities
  Provided by the board vendor (the factory guy)
  Examples: RAM Monitor, Boot Monitor, ...
  At times of nothing, these are good debug utilities, as well



             © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   14
                            All Rights Reserved.
What all have we done?
Understood the target board
  Switching it on
  Accessing the stuff on it
  Configuring it
How to play with the target board?
  Decoding the Hardware
  Taking it to a virgin state
  Restoring it to factory defaults

         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   15
                        All Rights Reserved.
Any Queries?




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   16
               All Rights Reserved.

More Related Content

What's hot (20)

The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 
Block Drivers
Block DriversBlock Drivers
Block Drivers
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
 
Video Drivers
Video DriversVideo Drivers
Video Drivers
 
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
 
I2C Drivers
I2C DriversI2C Drivers
I2C Drivers
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Interrupts
InterruptsInterrupts
Interrupts
 
Memory model
Memory modelMemory model
Memory model
 
What is Bootloader???
What is Bootloader???What is Bootloader???
What is Bootloader???
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Network Drivers
Network DriversNetwork Drivers
Network Drivers
 
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)
 

Similar to Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults

Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBootICS
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605benavrhm
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogicAleem Shariff
 
Ex 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenEx 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenĐô GiẢn
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseEric Koeppen
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computerAnusha Babooa
 
Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2charlyalize
 
Analyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionAnalyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionDroidConTLV
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI securityDenis Gundarev
 
The operating system (os),
The operating system (os),The operating system (os),
The operating system (os),emesce
 
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalCpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalRam Paliwal
 

Similar to Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults (20)

Processes
ProcessesProcesses
Processes
 
BeagleBone Black Booting Process
BeagleBone Black Booting ProcessBeagleBone Black Booting Process
BeagleBone Black Booting Process
 
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting ProcessBeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
 
Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBoot
 
Architecture Porting
Architecture PortingArchitecture Porting
Architecture Porting
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
 
Ex 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenEx 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chen
 
Embedded I/O Management
Embedded I/O ManagementEmbedded I/O Management
Embedded I/O Management
 
bios.docx
bios.docxbios.docx
bios.docx
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-release
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computer
 
Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2
 
Booting & shut down,
Booting & shut down,Booting & shut down,
Booting & shut down,
 
Analyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionAnalyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumption
 
5003361.ppt
5003361.ppt5003361.ppt
5003361.ppt
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
 
The operating system (os),
The operating system (os),The operating system (os),
The operating system (os),
 
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalCpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
 

More from Anil Kumar Pugalia (20)

File System Modules
File System ModulesFile System Modules
File System Modules
 
Kernel Debugging & Profiling
Kernel Debugging & ProfilingKernel Debugging & Profiling
Kernel Debugging & Profiling
 
Processes
ProcessesProcesses
Processes
 
System Calls
System CallsSystem Calls
System Calls
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Embedded C
Embedded CEmbedded C
Embedded C
 
Embedded Software Design
Embedded Software DesignEmbedded Software Design
Embedded Software Design
 
Playing with R L C Circuits
Playing with R L C CircuitsPlaying with R L C Circuits
Playing with R L C Circuits
 
Audio Drivers
Audio DriversAudio Drivers
Audio Drivers
 
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux DriversMobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
References
ReferencesReferences
References
 
Functional Programming with LISP
Functional Programming with LISPFunctional Programming with LISP
Functional Programming with LISP
 
Power of vi
Power of viPower of vi
Power of vi
 
gcc and friends
gcc and friendsgcc and friends
gcc and friends
 
"make" system
"make" system"make" system
"make" system
 
Hardware Design for Software Hackers
Hardware Design for Software HackersHardware Design for Software Hackers
Hardware Design for Software Hackers
 
RPM Building
RPM BuildingRPM Building
RPM Building
 
Linux User Space Debugging & Profiling
Linux User Space Debugging & ProfilingLinux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
 
Linux Network Management
Linux Network ManagementLinux Network Management
Linux Network Management
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults

  • 1. Board Bringup © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> All Rights Reserved.
  • 2. What to Expect? Board specific Details Understanding the target board How to play with the target board? Peeking into Vendor supplied Utilities, if any © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 2 All Rights Reserved.
  • 3. Startup Doubts Typical doubts you may have, be it your desktop or board What happens when you switch on the power? Where does the processor starts executing on “Power on Reset”? What code is there? Do you have access to that code? How does the Operating System boot up? How does the login prompt come? Any many more © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 3 All Rights Reserved.
  • 4. Startup Sequence To Decode all these, let's understand the Startup Sequence Processor / Controller Startup Bootloader or the Software Startup Operating System Startup Application Startup Though they may vary from board to board, we can have a generic overview And then, we shall get into your board specifics © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 4 All Rights Reserved.
  • 5. Processor / Controller Startup Controller Internal Code Mostly exists in Controllers (Embedded Systems) System Startup / Setup Code Mostly exists for Processors in Desktops Processors jump to a pre-designated address, typically Zero, to run these pre-programmed code Referred as BIOS in the Desktop parlance Needs to be programmed once, on virgin boards In both the cases, the Code looks for the Stage1 Bootloader at the designated places Embedded: EEPROM, Flash, Serial Download, … Desktops: Floppy, CDROM, Hard Disk, Network, ... © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 5 All Rights Reserved.
  • 6. Software Startup Stage 1 Bootloader Initial Program Loader (IPL) in Embedded World Master Boot Record (MBR) in Desktops Constrained to limited Space. Can't do much So, loads Stage 2 Bootloader Have enough space to do luxurious stuff Provides configurability and management features Loads the Operating System Passes arguments to the Operating System Jumps to start executing the Operating System For Desktops: LILO, GRUB, SYSLINUX, ... In Embedded Systems: u-boot and others Also called Secondary Program Loader (SPL) © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 6 All Rights Reserved.
  • 7. Operating System Startup Uncompresses the kernel, if compressed Configures itself based on the arguments from the Stage 2 Bootloader Setup the Kernel Space Jump execution to the first application “init” Common to both Desktop & Embedded © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 7 All Rights Reserved.
  • 8. Application Startup init This could be the application binary itself. Or, Could be a link to it It typically starts the various daemons And then does things as per the system's requirement In Desktop, starts the login process to provide login prompts In Embedded Systems, does the same at least during Development Cycle Later, may do specific to customer requirement © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 8 All Rights Reserved.
  • 9. Startup Sequence Power Up / Reset BIOS System Startup Controller Code Master Boot Record Stage 1 Bootloader Initial Program Loader LILO, GRUB, … Stage 2 Bootloader u-boot, ... Operating System Linux Kernel Operational Application init → busbox, ... © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 9 All Rights Reserved.
  • 10. Let's Startup the Board © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 10 All Rights Reserved.
  • 11. Anatomy of Development Board Being a Embedded Developer, you should know your board in more detail Both Hardware Major components Types of memories Software Manufactured State Factory Restoration © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 11 All Rights Reserved.
  • 12. Let's Browse the Board © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 12 All Rights Reserved.
  • 13. Manufactured State State at which, it was when manufactured Also called the Virgin State Achieved by erasing all the memories EEPROM Flash – NOR, NAND, ... This, in principle erases Bootloaders – Stage 1 & Stage 2 Kernel File Systems © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 13 All Rights Reserved.
  • 14. Factory Restoration So, this is to get the Board back to boot up In principle, populating back the memories erased with Stage 1 & Stage 2 Bootloaders Kernel Root File System Optionally, the Other File Systems Would need some special utilities Provided by the board vendor (the factory guy) Examples: RAM Monitor, Boot Monitor, ... At times of nothing, these are good debug utilities, as well © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 14 All Rights Reserved.
  • 15. What all have we done? Understood the target board Switching it on Accessing the stuff on it Configuring it How to play with the target board? Decoding the Hardware Taking it to a virgin state Restoring it to factory defaults © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 15 All Rights Reserved.
  • 16. Any Queries? © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 16 All Rights Reserved.