SlideShare uma empresa Scribd logo
1 de 14
Embedded Linux Training
   Facebook group: Learn To Be
   Official website: www.L2b-egypt.org

   Prepared By: SHATRIX
   E-Mail: eng.shatrix@gmail.com




Learn To Be                              Embedded Linux Training
2




Overview
  • Embedded Linux is the use of Linux in embedded
    computer systems such as mobile phones, personal
    digital assistants, media players, set-top boxes,
    networking equipment, machine control, industrial
    automation, navigation equipment and medical
    instruments.
  • Creating an Embedded Linux based system is like a
    puzzle. Putting the right pieces together will create the
    final image.


Learn To Be                                     Embedded Linux Training
3




Basic embedded Linux arch.
  •   Boot Loader (grub, Lilo, Uboot)
  •   Kernel (Normal or Real-Time)
  •   FileSystem
  •   C Library
  •   User application(s)




Learn To Be                             Embedded Linux Training
4




Host & Target


              Host       Target

      Croos-Platform   BootLoader
        Toolchain          Kernel
                        Filesystem
              GCC        Libraries
                       Applications


Learn To Be               Embedded Linux Training
5




To Do List
  • Cross-compilation toolchain
      ▫ Compiler that runs on the development machine, but generates
        binary files for the target machine
  • Bootloader
      ▫ Started by the hardware, responsible for basic initialization, loading
        and executing the kernel
  • Linux Kernel
      ▫ Contains the process and memory management, network stack,
        device drivers and provides services to userspace applications
  • C library
      ▫ The interface between the kernel and the userspace applications
  • Filesystem
      ▫ Contains Linux commands, libraries and other needed scripts
  • Other libraries and applications
Learn To Be                                                   Embedded Linux Training
6




What's next?
  • System integration
      ▫ Integrate all the components, bootloader, kernel, third-
        party libraries and applications and our applications into
        a working system
  • Development of applications
      ▫ Normal Linux applications, but using specifically chosen
        libraries




Learn To Be                                          Embedded Linux Training
7




Root filesystem
  • The root filesystem, is mounted as /
                                             System Contents
  • On embedded systems, this root
    filesystem contains all the libraries,
    applications and data of the system       BootLoader
  • Therefore, building the root
                                                 Kernel
    filesystem is one of the main tasks
    of integrating embedded Linux
                                                  Root
    components into a device
                                              Filesystem
  • The kernel is usually kept separate


Learn To Be                                    Embedded Linux Training
8




Cross-compiling Toolchain
 • The usual development tools available on a GNU/Linux
   workstation is a native toolchain
 • This toolchain runs on your workstation and generates
   code for your workstation, usually x86
 • For embedded system development, it is usually
   impossible or not interesting to use a native toolchain
    ▫ The target is too restricted in terms of storage and/or
      memory
    ▫ The target is very slow compared to your workstation
    ▫ You may not want to install all development tools on your
      target.
  • Therefore, cross-compiling toolchains are generally used.
      They run on your workstation but generate code for your
Learn target.
      To Be                                       Embedded Linux Training
9




Cross-compiling Toolchain
                                 Source Code                     X86


              Native Toolchain                 Cross Toolchain




                 X86 Binary                     Target Binary

                              X86                      Target CPU

Learn To Be                                             Embedded Linux Training
10




Cross Toolchain components
  • Binutils is a set of tools to generate and manipulate
    binaries for a given CPU architecture
      ▫ as, ld, ar, ranlib, strip
      ▫ http://www.gnu.org/software/binutils/
  • Kernel headers
      ▫ Available system calls and their numbers, Constant
        definitions, Data structures.
  • C/C++ libraries
      ▫ Interface between the applications and the kernel
      ▫ glibc, uClibc
  • GCC compiler
  • GDB debugger

Learn To Be                                            Embedded Linux Training
11




Booting sequence
  • Bootloader
      ▫ Executed by the hardware at a fixed location in ROM / Flash
      ▫ Initializes support for the device where the kernel image is found
        (local storage, network, removable media)
      ▫ Loads the kernel image in RAM
      ▫ Executes the kernel image (with a specified command line)
  • Kernel
      ▫ Uncompresses itself
      ▫ Initializes the kernel core and statically compiled drivers (needed to
        access the root filesystem)
      ▫ Mounts the root filesystem (specified by the root kernel parameter)
      ▫ Executes the first userspace program (specified by the init kernel
        parameter)
  • First userspace program Configures userspace and starts up
    system services

Learn To Be                                                  Embedded Linux Training
12




Linux Kernel
                     app A                  app B
                                                                User
                              C Library                        Space

            Call                                     Event
         a service                                  Handler

                             Linux Kernel

        Manage                                        Event
       Hardware                                     notification
                             Hardware
Learn To Be                                     Embedded Linux Training
13




Linux Kernel
  • The official version of the Linux kernel, as released by
    Linus Torvalds is available at http://www.kernel.org
  • Incremental patches between versions
      ▫ It assumes you already have a base version and you
        apply the correct patches in the right order
      ▫ Quick to download and apply
  • The patch command applies changes to files in the
    current directory:
      ▫ Making changes to existing files
      ▫ Creating or deleting files and directories

Learn To Be                                          Embedded Linux Training
Thank You
   Facebook group: Learn To Be
   Official website: www.L2b-egy.org

   Prepared By: SHATRIX
   E-Mail: eng.shatrix@gmail.com



Learn To Be                            Embedded Linux Training

Mais conteúdo relacionado

Mais procurados

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysisxulioc
 
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootKernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootAnne Nicolas
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
 
Linux device driver
Linux device driverLinux device driver
Linux device driverchatsiri
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteTushar B Kute
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in LinuxShreyas MM
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernelguest547d74
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel DevelopmentPriyank Kapadia
 
brief intro to Linux device drivers
brief intro to Linux device driversbrief intro to Linux device drivers
brief intro to Linux device driversAlexandre Moreno
 
Module 3 Using Linux Softwares.
Module 3 Using Linux Softwares.Module 3 Using Linux Softwares.
Module 3 Using Linux Softwares.Tushar B Kute
 
Device drivers Introduction
Device drivers IntroductionDevice drivers Introduction
Device drivers Introductionvijay selva
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 

Mais procurados (20)

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
U-Boot community analysis
U-Boot community analysisU-Boot community analysis
U-Boot community analysis
 
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using BuildrootKernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using Buildroot
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
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
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...
 
Linux device driver
Linux device driverLinux device driver
Linux device driver
 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
 
brief intro to Linux device drivers
brief intro to Linux device driversbrief intro to Linux device drivers
brief intro to Linux device drivers
 
Module 3 Using Linux Softwares.
Module 3 Using Linux Softwares.Module 3 Using Linux Softwares.
Module 3 Using Linux Softwares.
 
Device drivers Introduction
Device drivers IntroductionDevice drivers Introduction
Device drivers Introduction
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 

Destaque

Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoSherif Mousa
 
Tutorial membangun linux from scratch dari awal
Tutorial membangun linux from scratch dari awalTutorial membangun linux from scratch dari awal
Tutorial membangun linux from scratch dari awalMuhammad Dzulfikri
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Operating systems Basics
Operating systems BasicsOperating systems Basics
Operating systems BasicsSherif Mousa
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linuxWingston
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMSfawzmasood
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingfarhan amjad
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing SoftwareSteven Smith
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ AdvancedVivek Das
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Complement Verb
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL乐群 陈
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)Jaime Barragan
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
 

Destaque (20)

Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
 
Tutorial membangun linux from scratch dari awal
Tutorial membangun linux from scratch dari awalTutorial membangun linux from scratch dari awal
Tutorial membangun linux from scratch dari awal
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
003 scripting
003 scripting003 scripting
003 scripting
 
Operating systems Basics
Operating systems BasicsOperating systems Basics
Operating systems Basics
 
005 skyeye
005 skyeye005 skyeye
005 skyeye
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
The Style of C++ 11
The Style of C++ 11The Style of C++ 11
The Style of C++ 11
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMS
 
Distributed Systems Design
Distributed Systems DesignDistributed Systems Design
Distributed Systems Design
 
Idiomatic C++
Idiomatic C++Idiomatic C++
Idiomatic C++
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ Advanced
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
 

Semelhante a Building Embedded Linux

Semelhante a Building Embedded Linux (20)

Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Linux forensics
Linux forensicsLinux forensics
Linux forensics
 
The Linux System
The Linux SystemThe Linux System
The Linux System
 
L lpic2201-pdf
L lpic2201-pdfL lpic2201-pdf
L lpic2201-pdf
 
Linux concept workshop
Linux concept workshopLinux concept workshop
Linux concept workshop
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z Technology
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
 
Advance linux presentation_0702011
Advance linux presentation_0702011Advance linux presentation_0702011
Advance linux presentation_0702011
 
introduction.pdf
introduction.pdfintroduction.pdf
introduction.pdf
 
Linux
LinuxLinux
Linux
 
Docker Dojo
Docker DojoDocker Dojo
Docker Dojo
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-review
 
Ibm system programming training module 2 - linux basics
Ibm system programming training   module 2 - linux basicsIbm system programming training   module 2 - linux basics
Ibm system programming training module 2 - linux basics
 
Linux
Linux Linux
Linux
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdf
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR Campus
 
Walking around linux kernel
Walking around linux kernelWalking around linux kernel
Walking around linux kernel
 

Último

FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
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.
 
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
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
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
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 

Último (20)

FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
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
 
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...
 
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
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
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
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 

Building Embedded Linux

  • 1. Embedded Linux Training Facebook group: Learn To Be Official website: www.L2b-egypt.org Prepared By: SHATRIX E-Mail: eng.shatrix@gmail.com Learn To Be Embedded Linux Training
  • 2. 2 Overview • Embedded Linux is the use of Linux in embedded computer systems such as mobile phones, personal digital assistants, media players, set-top boxes, networking equipment, machine control, industrial automation, navigation equipment and medical instruments. • Creating an Embedded Linux based system is like a puzzle. Putting the right pieces together will create the final image. Learn To Be Embedded Linux Training
  • 3. 3 Basic embedded Linux arch. • Boot Loader (grub, Lilo, Uboot) • Kernel (Normal or Real-Time) • FileSystem • C Library • User application(s) Learn To Be Embedded Linux Training
  • 4. 4 Host & Target Host Target Croos-Platform BootLoader Toolchain Kernel Filesystem GCC Libraries Applications Learn To Be Embedded Linux Training
  • 5. 5 To Do List • Cross-compilation toolchain ▫ Compiler that runs on the development machine, but generates binary files for the target machine • Bootloader ▫ Started by the hardware, responsible for basic initialization, loading and executing the kernel • Linux Kernel ▫ Contains the process and memory management, network stack, device drivers and provides services to userspace applications • C library ▫ The interface between the kernel and the userspace applications • Filesystem ▫ Contains Linux commands, libraries and other needed scripts • Other libraries and applications Learn To Be Embedded Linux Training
  • 6. 6 What's next? • System integration ▫ Integrate all the components, bootloader, kernel, third- party libraries and applications and our applications into a working system • Development of applications ▫ Normal Linux applications, but using specifically chosen libraries Learn To Be Embedded Linux Training
  • 7. 7 Root filesystem • The root filesystem, is mounted as / System Contents • On embedded systems, this root filesystem contains all the libraries, applications and data of the system BootLoader • Therefore, building the root Kernel filesystem is one of the main tasks of integrating embedded Linux Root components into a device Filesystem • The kernel is usually kept separate Learn To Be Embedded Linux Training
  • 8. 8 Cross-compiling Toolchain • The usual development tools available on a GNU/Linux workstation is a native toolchain • This toolchain runs on your workstation and generates code for your workstation, usually x86 • For embedded system development, it is usually impossible or not interesting to use a native toolchain ▫ The target is too restricted in terms of storage and/or memory ▫ The target is very slow compared to your workstation ▫ You may not want to install all development tools on your target. • Therefore, cross-compiling toolchains are generally used. They run on your workstation but generate code for your Learn target. To Be Embedded Linux Training
  • 9. 9 Cross-compiling Toolchain Source Code X86 Native Toolchain Cross Toolchain X86 Binary Target Binary X86 Target CPU Learn To Be Embedded Linux Training
  • 10. 10 Cross Toolchain components • Binutils is a set of tools to generate and manipulate binaries for a given CPU architecture ▫ as, ld, ar, ranlib, strip ▫ http://www.gnu.org/software/binutils/ • Kernel headers ▫ Available system calls and their numbers, Constant definitions, Data structures. • C/C++ libraries ▫ Interface between the applications and the kernel ▫ glibc, uClibc • GCC compiler • GDB debugger Learn To Be Embedded Linux Training
  • 11. 11 Booting sequence • Bootloader ▫ Executed by the hardware at a fixed location in ROM / Flash ▫ Initializes support for the device where the kernel image is found (local storage, network, removable media) ▫ Loads the kernel image in RAM ▫ Executes the kernel image (with a specified command line) • Kernel ▫ Uncompresses itself ▫ Initializes the kernel core and statically compiled drivers (needed to access the root filesystem) ▫ Mounts the root filesystem (specified by the root kernel parameter) ▫ Executes the first userspace program (specified by the init kernel parameter) • First userspace program Configures userspace and starts up system services Learn To Be Embedded Linux Training
  • 12. 12 Linux Kernel app A app B User C Library Space Call Event a service Handler Linux Kernel Manage Event Hardware notification Hardware Learn To Be Embedded Linux Training
  • 13. 13 Linux Kernel • The official version of the Linux kernel, as released by Linus Torvalds is available at http://www.kernel.org • Incremental patches between versions ▫ It assumes you already have a base version and you apply the correct patches in the right order ▫ Quick to download and apply • The patch command applies changes to files in the current directory: ▫ Making changes to existing files ▫ Creating or deleting files and directories Learn To Be Embedded Linux Training
  • 14. Thank You Facebook group: Learn To Be Official website: www.L2b-egy.org Prepared By: SHATRIX E-Mail: eng.shatrix@gmail.com Learn To Be Embedded Linux Training