Introduction To Embedded Linux
Introduction To Embedded Linux
Linux
1
Prepared by kms
Agenda
• Main concepts on Embedded
systems
• Difference between SW_ES & Digital Design
• HISTORICAL BACKGROUND
• Introduction to Embedded Linux
• Why embedded Linux?
• The core of embedded Linux
• The android
• Yocto project
• Embedded Linux materials
2
Main concepts on Embedded
systems
3
What’s Embedded Systems ?
What’s Embedded Systems ?
What’s Embedded Systems ?
ES VS General Purpose Systems
Baremetal application & OS
APP APP
OS
HW Drivers
• Microcontroller Family
• High performance (System on Chip) SOC platforms Family
https://www.altera.com/products/fpga/arria-series/arria-v/overview.html
17
field-programmable gate array (FPGA)
GNU
GNU Not Unix
• Personal routers
A few examples of embedded systems
running Linux
29
1. Re-using components
57
Inside the Linux kernel
58
Kernel version numbers
3.x stable branch
60
Levels of board support
Kernel modules
Kernel configuration
Building the kernel
Kernel command line
Fourth element: user space
The root file system
Other options for a root file system
Busybox
Busybox init
Summary
What is Android?
Linux kernel – with patches
Java application framework
set of Java apps (calendar, clock, etc
Plus many more free and non-free app
Google Market
Android internals
Proposition
Challenges when porting Android
Downloads from Google
Quick start: the Android SDK
OpenEmbedded / Yocto Project
78
The Yocto Project
79
embedded-linux-materials
80
embedded-linux-conference
• http://events.linuxfoundation.org/events/e
mbedded-linux-conference
81
The Embedded Linux Quick
Start Guide
• by Chris Simmons at Embedded Linux
Conference Europe, Cambridge,
82
Part 1: Toolchain and Boot loader
• First Element: Toolchain
• Minimal elements of toolchain
• Types of toolchain
• Types of C libraries for toolchain
• Criteria for selecting toolchain
• Toolchain examples
• Installing a toolchain
• Adding libraries to toolchain
• Support for debugging
• Other goodies along with toolchain
• Second Element: Boot loader
• What is boot loader
• Pre-boot loader
• Loading the kernel
• Boot loader-kernel ABI – ATAGS and
FDT
• Examples of boot loaders https://youtu.be/6_pugJ0H50U
• U-Boot command line
• U-Boot environment
Slides
• Automating boot – bootcmd
83
Part 2: Kernel and User space
• Third Element: Kernel
• Kernel vs User space
• Kernel version numbers
• Bug fix releases
• Board support packages
• Levels of board support
• Board support
• Kernel modules
• Kernel configuration
• Building the kernel
• Kernel command line
• Fourth Element: User space
• What is user space
• The root file system (rootfs)
• Other options for a rootfs
• Busybox and examples Slides
• init: Busybox init and System V init
• System V inittab
• Initialization scripts https://www.youtube.com/watch?t=1000&v=sPraL_k1ZNA
• Device nodes: /dev
• The rootfs during development
• The rootfs in production 84
• Flash file systems
Part 3: Advanced topics
https://www.youtube.com/watch?v=UjXGg2UkQRE
Slides
85
What else can you do with
Android? – Part 1
Slides
Video
86
What else can you do with
Android? – Part 2
Slides
Video
87
What else can you do with
Android? – Part 3
Slides
Video
88
embedded linux for arab
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelar...
89