SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Embedded Linux
Information Technology Institute (ITI)
Sherif Mousa
Embedded Linux @ Information Technology Institute 1
2– Introduction To Embedded Linux
2
Definition
Embedded Linux @ Information Technology Institute
Definition
• Embedded Linux is the use of Linux in embedded
computer systems.
• Adapting the Linux kernel and customizing the
user-space libraries and utilities to embedded
applications such as those in use in consumer
electronics, military, medical, industrial, and auto
industries.
• Creating an Embedded Linux based system is like
a puzzle. Putting the right pieces together will
create the final image.
Embedded Linux @ Information Technology Institute 3
4
Some Whys ???
Embedded Linux @ Information Technology Institute
Why Embedded ?
?
5Embedded Linux @ Information Technology Institute
Why OS for Embedded ?
• Make use of micro-processor capabilities
(Multi-Tasking …).
• Easy to program.
• System scalability.
6Embedded Linux @ Information Technology Institute
Why Embedded not Normal OS ?
• Systems with small and limited resources.
• Special-Purpose systems.
• Real-Time systems.
7Embedded Linux @ Information Technology Institute
Why Linux ?
• Inexpensive, Robust, Easy to program.
• Source code is available.
• Ported to a variety of CPU architectures.
• Large device drivers coverage.
• Hosting huge number of languages & libraries.
• Software is highly modularized, making it easy
to build something new.
8Embedded Linux @ Information Technology Institute
Why build from scratch ?
• “When you bake it at the factory that’s what it
does forever. “ Tim Bird, Sony Entertainment
• You can use ready-made distributions as well,
but you will face some restrictions if you need
to modify something.
9Embedded Linux @ Information Technology Institute
10
Some Facts
Embedded Linux @ Information Technology Institute
Is it easy ?
• NO, IT’S NOT EASY.
• To finish a complete OS, it’s not just Linux
kernel to compile, you need to build and
integrate the other OS components
(BootLoader, Libraries, Commands, …….)
• And you will do all of this without getting a
PhD degree in OS building 
11Embedded Linux @ Information Technology Institute
Do I need more knowledge ?
• If you are a Linux super user, and you think
that you need to learn more things to enter
the Embedded Linux field, THAT’S WRONG.
• Linux - Somethings = EmbeddedLinux
12Embedded Linux @ Information Technology Institute
Android is embedded Linux?
• “Of course not” Karim Yaghmour
• Google custom-built Android as a mobile
operating system that comes with its own
ecosystem, separate from the classic Linux
ecosystem. Its user interface is optimized for
touch screen devices. It comes with a set of
APIs. But most classic embedded devices
don’t need Google maps, for example.
13Embedded Linux @ Information Technology Institute
14
Embedded Linux Development
Embedded Linux @ Information Technology Institute
Cross Compiler
• A cross compiler is a compiler capable of
creating executable code for a platform other
than the one on which the compiler is
running.
15Embedded Linux @ Information Technology Institute
ToolChain
• Set of programming tools that are used to
create a product (typically another computer
program), used in chain.
• A simple software development ToolChain
consists of a compiler and linker to transform
the source code into an executable program,
libraries to provide interfaces to the operating
system, and a debugger.
16Embedded Linux @ Information Technology Institute
Cross-ToolChain
• The usual development tools available on a
GNU/Linux workstation is a native ToolChain.
• For embedded systems, it is usually impossible or
not interesting to use a ToolChain installed on it
– The target is restricted in terms of storage and memory
– The target is very slow compared to your workstation
• Therefore, Cross-ToolChain is used. They run on
your workstation but generate code for your
target.
17Embedded Linux @ Information Technology Institute
Cross-ToolChain
18Embedded Linux @ Information Technology Institute
X86 Binary Target Binary
X86
X86 Target CPU
Source Code
Native ToolChain Cross ToolChain
Cross-ToolChain Components
• Binutils is a set of tools to generate and
manipulate binaries for a given CPU architecture
– as, ld, ar, …….
• Kernel headers
– Available system calls and their numbers, Constant
definitions, Data structures.
• C/C++ libraries
– Interface between the applications and the kernel
– glibc (or) uClibc
• GCC compiler
• GDB debugger
19Embedded Linux @ Information Technology Institute
20
Embedded Linux Components
Embedded Linux @ Information Technology Institute
Embedded Linux Components
• Boot Loader (grub, Lilo, Uboot)
• Kernel (Normal or Real-Time)
• FileSystem (FHS)
• Configuration files
• C Library
• Common system commands
• User application(s)
21Embedded Linux @ Information Technology Institute
Embedded Linux Components
• 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.
• System libraries (C library)
– The interface between the kernel and the userspace
applications.
• Filesystem
– Contains Linux commands, libraries and other needed
scripts.
22Embedded Linux @ Information Technology Institute
System Integration & Installation
• Integrate all the components, bootloader,
kernel, system libraries and applications and
our applications into a full working system.
• Install the OS into the device (?!!??!?!!!?!?!)
23Embedded Linux @ Information Technology Institute
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 and execute.
• 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 and user interface (if found).
24Embedded Linux @ Information Technology Institute
Linux System Running
25Embedded Linux @ Information Technology Institute
Hardware
Linux Kernel
User
SpaceC Library
app A app B
Call
a service
Manage
Hardware
Event
Handler
Event
notification
Then What ???
• Once you have the system installed with no
problems on your development device, you
are free to write applications as you need with
the any programming language (supported by
your embedded OS).
26Embedded Linux @ Information Technology Institute
27Embedded Linux @ Information Technology Institute
eng.sherif.mosa@gmail.com
http://about.me/shatrix
28Embedded Linux @ Information Technology Institute

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Introduction to char device driver
Introduction to char device driverIntroduction to char device driver
Introduction to char device driverVandana Salve
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modulesEddy Reyes
 
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
 
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 driversHoucheng Lin
 
Debugging programs with Keil uVision
Debugging programs with Keil uVisionDebugging programs with Keil uVision
Debugging programs with Keil uVisionSaravananVijayakumar4
 
Getting Started with Buildroot
Getting Started with BuildrootGetting Started with Buildroot
Getting Started with BuildrootTrevor Woerner
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)Jaime Barragan
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systemsVandana Salve
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
 
Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Neeraj Shrimali
 

Was ist angesagt? (20)

Kernel module in linux os.
Kernel module in linux os.Kernel module in linux os.
Kernel module in linux os.
 
Linux PV on HVM
Linux PV on HVMLinux PV on HVM
Linux PV on HVM
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
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
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Introduction to char device driver
Introduction to char device driverIntroduction to char device driver
Introduction to char device driver
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modules
 
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
 
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
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Device tree
Device treeDevice tree
Device tree
 
Debugging programs with Keil uVision
Debugging programs with Keil uVisionDebugging programs with Keil uVision
Debugging programs with Keil uVision
 
Getting Started with Buildroot
Getting Started with BuildrootGetting Started with Buildroot
Getting Started with Buildroot
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
 
Board Support Package Fact Sheet | Manual Guide
Board Support Package Fact Sheet | Manual GuideBoard Support Package Fact Sheet | Manual Guide
Board Support Package Fact Sheet | Manual Guide
 
Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup.
 

Andere mochten auch

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded LinuxSherif Mousa
 
Operating systems Basics
Operating systems BasicsOperating systems Basics
Operating systems BasicsSherif Mousa
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixSherif Mousa
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchSherif Mousa
 
001 linux revision
001 linux revision001 linux revision
001 linux revisionSherif Mousa
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linuxWingston
 
The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...Marc Leeman
 
sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resumeSasi Kumar
 
Ensoft dvb 1
Ensoft dvb 1Ensoft dvb 1
Ensoft dvb 1sarge
 
Embedded linux barco-20121001
Embedded linux barco-20121001Embedded linux barco-20121001
Embedded linux barco-20121001Marc Leeman
 
OTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefOTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefFarhad Shahrivar
 

Andere mochten auch (20)

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 
003 scripting
003 scripting003 scripting
003 scripting
 
Operating systems Basics
Operating systems BasicsOperating systems Basics
Operating systems Basics
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrix
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
001 linux revision
001 linux revision001 linux revision
001 linux revision
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Smile
SmileSmile
Smile
 
005 skyeye
005 skyeye005 skyeye
005 skyeye
 
كيف تفشل
كيف تفشلكيف تفشل
كيف تفشل
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...
 
sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resume
 
Linux Workshop , Day 3
Linux Workshop , Day 3Linux Workshop , Day 3
Linux Workshop , Day 3
 
Ensoft dvb 1
Ensoft dvb 1Ensoft dvb 1
Ensoft dvb 1
 
How To Handle An IRD Audit - Atainz
How To Handle An IRD Audit - AtainzHow To Handle An IRD Audit - Atainz
How To Handle An IRD Audit - Atainz
 
Embedded linux barco-20121001
Embedded linux barco-20121001Embedded linux barco-20121001
Embedded linux barco-20121001
 
OTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefOTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project Brief
 

Ähnlich wie Building Embedded Linux Systems Introduction

Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionMohamed Abdallah
 
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
 
Introduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmwareIntroduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmwaredefinecareer
 
Computer architecture overview
Computer architecture overviewComputer architecture overview
Computer architecture overviewMuhammad Ishaq
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionDocker, Inc.
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywheressuser06ea42
 
operating system ondesktop computer ( laptop)
operating system ondesktop  computer ( laptop)operating system ondesktop  computer ( laptop)
operating system ondesktop computer ( laptop)BandaruGowtham1
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareRai University
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker, Inc.
 
Lecture 1 Introduction.pptx
Lecture 1 Introduction.pptxLecture 1 Introduction.pptx
Lecture 1 Introduction.pptxOrchestra2
 
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxChapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxgowthamiv26
 

Ähnlich wie Building Embedded Linux Systems Introduction (20)

Raspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 IntroductionRaspberry Pi - Lecture 1 Introduction
Raspberry Pi - Lecture 1 Introduction
 
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
 
Introduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmwareIntroduction to embedded linux device driver and firmware
Introduction to embedded linux device driver and firmware
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
Computer architecture overview
Computer architecture overviewComputer architecture overview
Computer architecture overview
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/SDedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
 
The Linux System
The Linux SystemThe Linux System
The Linux System
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
 
RT linux
RT linuxRT linux
RT linux
 
operating system ondesktop computer ( laptop)
operating system ondesktop  computer ( laptop)operating system ondesktop  computer ( laptop)
operating system ondesktop computer ( laptop)
 
Mba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer softwareMba i-ifm-u-2-computer software
Mba i-ifm-u-2-computer software
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 
Platform-Technology.pdf
Platform-Technology.pdfPlatform-Technology.pdf
Platform-Technology.pdf
 
Lecture 1 Introduction.pptx
Lecture 1 Introduction.pptxLecture 1 Introduction.pptx
Lecture 1 Introduction.pptx
 
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptxChapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptx
 

Kürzlich hochgeladen

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Kürzlich hochgeladen (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Building Embedded Linux Systems Introduction

  • 1. Embedded Linux Information Technology Institute (ITI) Sherif Mousa Embedded Linux @ Information Technology Institute 1 2– Introduction To Embedded Linux
  • 2. 2 Definition Embedded Linux @ Information Technology Institute
  • 3. Definition • Embedded Linux is the use of Linux in embedded computer systems. • Adapting the Linux kernel and customizing the user-space libraries and utilities to embedded applications such as those in use in consumer electronics, military, medical, industrial, and auto industries. • Creating an Embedded Linux based system is like a puzzle. Putting the right pieces together will create the final image. Embedded Linux @ Information Technology Institute 3
  • 4. 4 Some Whys ??? Embedded Linux @ Information Technology Institute
  • 5. Why Embedded ? ? 5Embedded Linux @ Information Technology Institute
  • 6. Why OS for Embedded ? • Make use of micro-processor capabilities (Multi-Tasking …). • Easy to program. • System scalability. 6Embedded Linux @ Information Technology Institute
  • 7. Why Embedded not Normal OS ? • Systems with small and limited resources. • Special-Purpose systems. • Real-Time systems. 7Embedded Linux @ Information Technology Institute
  • 8. Why Linux ? • Inexpensive, Robust, Easy to program. • Source code is available. • Ported to a variety of CPU architectures. • Large device drivers coverage. • Hosting huge number of languages & libraries. • Software is highly modularized, making it easy to build something new. 8Embedded Linux @ Information Technology Institute
  • 9. Why build from scratch ? • “When you bake it at the factory that’s what it does forever. “ Tim Bird, Sony Entertainment • You can use ready-made distributions as well, but you will face some restrictions if you need to modify something. 9Embedded Linux @ Information Technology Institute
  • 10. 10 Some Facts Embedded Linux @ Information Technology Institute
  • 11. Is it easy ? • NO, IT’S NOT EASY. • To finish a complete OS, it’s not just Linux kernel to compile, you need to build and integrate the other OS components (BootLoader, Libraries, Commands, …….) • And you will do all of this without getting a PhD degree in OS building  11Embedded Linux @ Information Technology Institute
  • 12. Do I need more knowledge ? • If you are a Linux super user, and you think that you need to learn more things to enter the Embedded Linux field, THAT’S WRONG. • Linux - Somethings = EmbeddedLinux 12Embedded Linux @ Information Technology Institute
  • 13. Android is embedded Linux? • “Of course not” Karim Yaghmour • Google custom-built Android as a mobile operating system that comes with its own ecosystem, separate from the classic Linux ecosystem. Its user interface is optimized for touch screen devices. It comes with a set of APIs. But most classic embedded devices don’t need Google maps, for example. 13Embedded Linux @ Information Technology Institute
  • 14. 14 Embedded Linux Development Embedded Linux @ Information Technology Institute
  • 15. Cross Compiler • A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. 15Embedded Linux @ Information Technology Institute
  • 16. ToolChain • Set of programming tools that are used to create a product (typically another computer program), used in chain. • A simple software development ToolChain consists of a compiler and linker to transform the source code into an executable program, libraries to provide interfaces to the operating system, and a debugger. 16Embedded Linux @ Information Technology Institute
  • 17. Cross-ToolChain • The usual development tools available on a GNU/Linux workstation is a native ToolChain. • For embedded systems, it is usually impossible or not interesting to use a ToolChain installed on it – The target is restricted in terms of storage and memory – The target is very slow compared to your workstation • Therefore, Cross-ToolChain is used. They run on your workstation but generate code for your target. 17Embedded Linux @ Information Technology Institute
  • 18. Cross-ToolChain 18Embedded Linux @ Information Technology Institute X86 Binary Target Binary X86 X86 Target CPU Source Code Native ToolChain Cross ToolChain
  • 19. Cross-ToolChain Components • Binutils is a set of tools to generate and manipulate binaries for a given CPU architecture – as, ld, ar, ……. • Kernel headers – Available system calls and their numbers, Constant definitions, Data structures. • C/C++ libraries – Interface between the applications and the kernel – glibc (or) uClibc • GCC compiler • GDB debugger 19Embedded Linux @ Information Technology Institute
  • 20. 20 Embedded Linux Components Embedded Linux @ Information Technology Institute
  • 21. Embedded Linux Components • Boot Loader (grub, Lilo, Uboot) • Kernel (Normal or Real-Time) • FileSystem (FHS) • Configuration files • C Library • Common system commands • User application(s) 21Embedded Linux @ Information Technology Institute
  • 22. Embedded Linux Components • 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. • System libraries (C library) – The interface between the kernel and the userspace applications. • Filesystem – Contains Linux commands, libraries and other needed scripts. 22Embedded Linux @ Information Technology Institute
  • 23. System Integration & Installation • Integrate all the components, bootloader, kernel, system libraries and applications and our applications into a full working system. • Install the OS into the device (?!!??!?!!!?!?!) 23Embedded Linux @ Information Technology Institute
  • 24. 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 and execute. • 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 and user interface (if found). 24Embedded Linux @ Information Technology Institute
  • 25. Linux System Running 25Embedded Linux @ Information Technology Institute Hardware Linux Kernel User SpaceC Library app A app B Call a service Manage Hardware Event Handler Event notification
  • 26. Then What ??? • Once you have the system installed with no problems on your development device, you are free to write applications as you need with the any programming language (supported by your embedded OS). 26Embedded Linux @ Information Technology Institute
  • 27. 27Embedded Linux @ Information Technology Institute