SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBshimosawa
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module ProgrammingSaurabh Bangad
 
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
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal BootloaderSatpal Parmar
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 

Tendances (20)

Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
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 Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
 
Introduction to Modern U-Boot
Introduction to Modern U-BootIntroduction to Modern U-Boot
Introduction to Modern U-Boot
 
Linux basics
Linux basicsLinux basics
Linux basics
 
linux device driver
linux device driverlinux device driver
linux device driver
 

En vedette

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoSherif 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
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)Jaime Barragan
 
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
 

En vedette (20)

Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
 
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 system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)
 
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
 

Similaire à Building Embedded Linux Systems Introduction

Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systemsVandana Salve
 
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
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsNational Cheng Kung University
 

Similaire à Building Embedded Linux Systems Introduction (20)

Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
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
 
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
 
The Linux System
The Linux SystemThe Linux System
The Linux System
 
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
 
Linux
LinuxLinux
Linux
 
Develop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM BoardsDevelop Your Own Operating Systems using Cheap ARM Boards
Develop Your Own Operating Systems using Cheap ARM Boards
 

Dernier

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Dernier (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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)
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

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