SlideShare a Scribd company logo
© Integrated Computer Solutions, Inc. All Rights Reserved
An Introduction to the
Yocto Embedded
Framework
Jeff Tranter <jtranter@ics.com>
Integrated Computer Solutions, Inc.
© Integrated Computer Solutions, Inc. All Rights Reserved
Agenda
• What is Yocto?
• Why is it Needed?
• What Yocto Provides
• Benefits/Advantages
• Limitations/Disadvantages
• Yocto Versions
• Other Framework Options
• Yocto Architecture
• Major Components
• Using Yocto - Basic Steps
• OpenEmbeddedBuild System
• Bitbake Metadata
• Example - Emulator
• Example - Beaglebone Black
• Building an SDK
• Packaging
• Toaster GUI
• Qt Yocto Support
• Doing More
• Tips For Getting Started
• References
• Summary
• Q&A
© Integrated Computer Solutions, Inc. All Rights Reserved
What is Yocto?
• Project to provide templates, tools and methods to create custom
Linux-based embedded systems
• Founded in 2010
• Open Source, managed by The Linux Foundation
• Vendor and platform neutral
• Collaborative effort among participants
• Members/participants/sponsors include Intel, AMD, Broadcom, TI,
Freescale, LG Electronics, Huawei, Mentor Graphics, Dell, The Qt
Company
© Integrated Computer Solutions, Inc. All Rights Reserved
Why Is It Needed?
• Embedded development is significantly harder than
native/desktop development
• Cross-compilation
• Wide scope: boot loader, kernel, BSP/device drivers, packaging
format, utilities, applications, SDK
• Large, time consuming to build
• Desire for repeatability, automation
• Licensing issues
• Regular need for security and other updates
© Integrated Computer Solutions, Inc. All Rights Reserved
What Yocto Provides
• Framework for creating embedded Linux systems
• Targets supported: ARM, PPC, MIPS, x86, x86-64
• Hosted on common Linux x86 desktop platforms (CentOS, Fedora,
openSUSE, Ubuntu)
• OpenEmbedded build system with bitbake build engine
• IDE
• Graphical interface to build system
© Integrated Computer Solutions, Inc. All Rights Reserved
Benefits/Advantages
• Reduced development effort/time
• Improved quality
• Automation
• Stability
• Repeatability
© Integrated Computer Solutions, Inc. All Rights Reserved
Limitations/Disadvantages
• Embedded Linux targets only
• Development tools run on desktop Linux only (or in a Linux vm
hosted on e.g. Windows or MacOS)
• Doesn't dictate a specific Linux distribution (but offers Poky as a
reference distribution)
• Large, complex, can have steep learning curve
© Integrated Computer Solutions, Inc. All Rights Reserved
Yocto Versions/Code Names
© Integrated Computer Solutions, Inc. All Rights Reserved
Other Embedded Frameworks
• Baserock
• Buildroot
• Crosstool/CrosstoolNG
• Embedded Debian/Fedora/Gentoo/SUSE/Ubuntu
© Integrated Computer Solutions, Inc. All Rights Reserved
Yocto Architecture
© Integrated Computer Solutions, Inc. All Rights Reserved
Major Components
• bitbake
• Poky Linux distribution
• Emulator
• Toaster GUI
• SDK
• Eclipse IDE plugin
• Build Appliance
© Integrated Computer Solutions, Inc. All Rights Reserved
Using Yocto - Basic Steps
1. Set up tools on a Linux host machine.
2. Configure bitbake for embedded hardware.
3. Build software components, bootloader, root fs, image.
4. Write boot image and file system.
5. Set up SDK.
6. Develop and iterate.
© Integrated Computer Solutions, Inc. All Rights Reserved
bitbake Build System
Steps:
• fetch
• extract
• patch
• configure
• build
• install
• package
© Integrated Computer Solutions, Inc. All Rights Reserved
Bitbake Metadata
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building For Emulator
$ sudo apt-get install gawk wget git-core diffstat unzip
texinfo gcc-multilib build-essential chrpath socat libsdl1.2-
dev xterm
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building For Emulator
$ mkdir yocto
$ cd yocto
$ wget
http://downloads.yoctoproject.org/releases/yocto/yocto-
2.2/poky-morty-16.0.0.tar.bz2
$ tar xjvf poky-morty-16.0.0.tar.bz2
$ cd poky-morty-16.0.0
$ source oe-init-build-env
$ edit conf/local.conf
$ bitbake core-image-sato
$ runqemu qemuarm
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building for Beaglebone
Black
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building for Beaglebone
Black
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 2048 146570 72261+ c W95 FAT32(LBA)
/dev/mmcblk0p2 146571 8535178 4194304 83 Linux
$ sudo mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1
$ sudo mke2fs -j -L "root" /dev/mmcblk0p2
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building for Beaglebone
Black
$ cp tmp/deploy/images/beaglebone/MLO-beaglebone /media/
$LOGNAME/boot/MLO
$ cp tmp/deploy/images/beaglebone/u-boot-beaglebone.img /media/
$LOGNAME/boot/u-boot.img
$ sudo tar x -C /media/$LOGNAME/root -f
tmp/deploy/images/beaglebone/core-image-sato-beaglebone.tar.bz2
© Integrated Computer Solutions, Inc. All Rights Reserved
Building an SDK
$ bitbake core-image-sato -c populate_sdk
Output is:
tmp/deploy/sdk/poky-glibc-x86_64-core-image-sato-armv5e-
toolchain-2.2.sh
© Integrated Computer Solutions, Inc. All Rights Reserved
Building an SDK
$ ~/yocto/poky-morty-16.0.0/build/tmp/deploy/sdk/poky-glibc-x86_64-
core-image-sato-armv5e-toolchain-2.2.sh
Poky (Yocto Project Reference Distro) SDK installer version 2.2
===============================================================
Enter target directory for SDK (default: /opt/poky/2.2): ~/sdk
You are about to install the SDK to "/home/tranter/sdk". Proceed[Y/n]? Y
Extracting
SDK......................................................................do
ne
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to
source the environment setup script e.g.
$ . /home/tranter/sdk/environment-setup-armv5e-poky-linux-gnueabi
© Integrated Computer Solutions, Inc. All Rights Reserved
Building an SDK
$ . /home/tranter/sdk/environment-setup-armv5e-poky-linux-gnueabi
$ echo $CXX
arm-poky-linux-gnueabi-g++ -march=armv5e -marm
--sysroot=/home/tranter/sdk/sysroots/armv5e-poky-linux-gnueabi
$ $CXX helloworld.cpp
$ file a.out
a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux
3.2.0
© Integrated Computer Solutions, Inc. All Rights Reserved
Packaging
• Not required, but often useful even for embedded systems.
• Yocto doesn't impose a packaging format.
• Common package formats include:
• rpm
• deb/dpkg
• ipkg
• opkg
© Integrated Computer Solutions, Inc. All Rights Reserved
Toaster GUI
© Integrated Computer Solutions, Inc. All Rights Reserved
Yocto Qt Support
Yocto Qt 5 recipes:
• https://github.com/meta-qt5/meta-qt5
Qt for Device Creation (boot2qt):
• http://code.qt.io/cgit/yocto/meta-boot2qt.git/
• http://code.qt.io/cgit/yocto/meta-qt5.git/
© Integrated Computer Solutions, Inc. All Rights Reserved
More About Bitbake
• Python based language for configuration files.
• Supports variables, include files, functions, inheritance.
• Uses scripts called "recipes".
• Many command line options.
• Configuration files in build/conf
• Understands dependencies.
• Multithreaded, runs a server process in the background.
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - Writing Recipes
• Needed to build your own components with bitbake
• Shell or Python scripts (.bb files)
• Standardized format
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - Kernel Recipes
• Recipes to configure, patch, and build the Linux kernel
• More complex
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - BSPs
• BSP = Board Support Package.
• Adaptations for specific hardware.
• Hardware vendor, OS vendor, or third party may provide this.
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - Eclipse Integration
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - Licensing and
Compliance
© Integrated Computer Solutions, Inc. All Rights Reserved
Tips For Getting Started
© Integrated Computer Solutions, Inc. All Rights Reserved
References
1. Embedded Linux Systems with the Yocto Project, Rudolf Streif
2. https://www.yoctoproject.org/
3. https://github.com/meta-qt5/meta-qt5
4. http://code.qt.io/cgit/yocto/meta-boot2qt.git/
5. http://code.qt.io/cgit/yocto/meta-qt5.git/
6. http://www.ics.com/blog/yocto-quick-start
© Integrated Computer Solutions, Inc. All Rights Reserved
Summary
© Integrated Computer Solutions, Inc. All Rights Reserved
Questions?
© Integrated Computer Solutions, Inc. All Rights Reserved
An Introduction to the
Yocto Embedded
Framework
Jeff Tranter <jtranter@ics.com>
Integrated Computer Solutions, Inc.

More Related Content

What's hot

Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
H Ming
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Project
rossburton
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notesSteve Arnold
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Marco Cavallini
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Anne Nicolas
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
Chris Simmonds
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
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
Anne Nicolas
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
Benjamin Zores
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
NokiaAppForum
 
Yocto Project Kernel Lab hands-on
Yocto Project Kernel Lab hands-onYocto Project Kernel Lab hands-on
Yocto Project Kernel Lab hands-on
Trevor Woerner
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UI
Opersys inc.
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
Chris Simmonds
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkit
Igalia
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
Drew Fustini
 
Reducing boot time in embedded Linux
Reducing boot time in embedded LinuxReducing boot time in embedded Linux
Reducing boot time in embedded Linux
Chris Simmonds
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 

What's hot (20)

Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Project
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notes
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
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
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
Yocto Project Kernel Lab hands-on
Yocto Project Kernel Lab hands-onYocto Project Kernel Lab hands-on
Yocto Project Kernel Lab hands-on
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
 
Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UI
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkit
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
Reducing boot time in embedded Linux
Reducing boot time in embedded LinuxReducing boot time in embedded Linux
Reducing boot time in embedded Linux
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 

Viewers also liked

[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
ICS
 
Qt for beginners part 5 ask the experts
Qt for beginners part 5   ask the expertsQt for beginners part 5   ask the experts
Qt for beginners part 5 ask the experts
ICS
 
[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device
ICS
 
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
ICS
 
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
ICS
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
Yi-Hsiu Hsu
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Yandex
 
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...Elena Kotina
 
5th
5th5th
5th
Erm78
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
ICS
 
Qt for beginners part 2 widgets
Qt for beginners part 2   widgetsQt for beginners part 2   widgets
Qt for beginners part 2 widgets
ICS
 
Qt test framework
Qt test frameworkQt test framework
Qt test framework
ICS
 
Qnx os
Qnx osQnx os
Qnx os
Student
 
Best Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part IIBest Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part II
ICS
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for Engineers
ICS
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
ICS
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Peter Decker
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Yauheni Akhotnikau
 
Developing for the Connected Car
Developing for the Connected CarDeveloping for the Connected Car
Developing for the Connected Car
Qualcomm Developer Network
 

Viewers also liked (20)

[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
[Webinar] QtSerialBus: Using Modbus and CAN bus with Qt
 
Qt for beginners part 5 ask the experts
Qt for beginners part 5   ask the expertsQt for beginners part 5   ask the experts
Qt for beginners part 5 ask the experts
 
[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device
 
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
 
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
[Webinar] Qt Test-Driven Development Using Google Test and Google Mock
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёруДенис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
Денис Кормалев — Qt. Как выжить на минном поле. Советы сапёру
 
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...
Возможности, применение и монетизация социальных API Mail.Ru на мобильных пла...
 
5th
5th5th
5th
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Qt for beginners part 2 widgets
Qt for beginners part 2   widgetsQt for beginners part 2   widgets
Qt for beginners part 2 widgets
 
Qt test framework
Qt test frameworkQt test framework
Qt test framework
 
Qnx os
Qnx osQnx os
Qnx os
 
Best Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part IIBest Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part II
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for Engineers
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?
 
Developing for the Connected Car
Developing for the Connected CarDeveloping for the Connected Car
Developing for the Connected Car
 

Similar to [Webinar] An Introduction to the Yocto Embedded Framework

Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
NEEVEE Technologies
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
Mender.io
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
Ovidiu Dimulescu
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distribution
emertxemarketing
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
Scott Graham
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
linuxlab_conf
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
Mender.io
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Sherif Mousa
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Chris Simmonds
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI securityDenis Gundarev
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
Samsung Open Source Group
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitdeepakazad
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
Tomoya Fujita
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
Donnie Berkholz
 
Crafting GNU/ linux distributions for embedded target using Builroot
Crafting GNU/ linux distributions for embedded target using BuilrootCrafting GNU/ linux distributions for embedded target using Builroot
Crafting GNU/ linux distributions for embedded target using Builroot
Sourabh Singh Tomar
 
Todo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBXTodo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBX
PaloSanto Solutions
 

Similar to [Webinar] An Introduction to the Yocto Embedded Framework (20)

Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distribution
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGit
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Kubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Crafting GNU/ linux distributions for embedded target using Builroot
Crafting GNU/ linux distributions for embedded target using BuilrootCrafting GNU/ linux distributions for embedded target using Builroot
Crafting GNU/ linux distributions for embedded target using Builroot
 
Todo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBXTodo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBX
 

More from ICS

A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
ICS
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ICS
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
ICS
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
ICS
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
ICS
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
ICS
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
ICS
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdf
ICS
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
ICS
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
ICS
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
ICS
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
ICS
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management Solution
ICS
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
ICS
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
ICS
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
ICS
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
ICS
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
ICS
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
ICS
 

More from ICS (20)

A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdf
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management Solution
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 

Recently uploaded

Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 

Recently uploaded (20)

Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 

[Webinar] An Introduction to the Yocto Embedded Framework

  • 1. © Integrated Computer Solutions, Inc. All Rights Reserved An Introduction to the Yocto Embedded Framework Jeff Tranter <jtranter@ics.com> Integrated Computer Solutions, Inc.
  • 2. © Integrated Computer Solutions, Inc. All Rights Reserved Agenda • What is Yocto? • Why is it Needed? • What Yocto Provides • Benefits/Advantages • Limitations/Disadvantages • Yocto Versions • Other Framework Options • Yocto Architecture • Major Components • Using Yocto - Basic Steps • OpenEmbeddedBuild System • Bitbake Metadata • Example - Emulator • Example - Beaglebone Black • Building an SDK • Packaging • Toaster GUI • Qt Yocto Support • Doing More • Tips For Getting Started • References • Summary • Q&A
  • 3. © Integrated Computer Solutions, Inc. All Rights Reserved What is Yocto? • Project to provide templates, tools and methods to create custom Linux-based embedded systems • Founded in 2010 • Open Source, managed by The Linux Foundation • Vendor and platform neutral • Collaborative effort among participants • Members/participants/sponsors include Intel, AMD, Broadcom, TI, Freescale, LG Electronics, Huawei, Mentor Graphics, Dell, The Qt Company
  • 4. © Integrated Computer Solutions, Inc. All Rights Reserved Why Is It Needed? • Embedded development is significantly harder than native/desktop development • Cross-compilation • Wide scope: boot loader, kernel, BSP/device drivers, packaging format, utilities, applications, SDK • Large, time consuming to build • Desire for repeatability, automation • Licensing issues • Regular need for security and other updates
  • 5. © Integrated Computer Solutions, Inc. All Rights Reserved What Yocto Provides • Framework for creating embedded Linux systems • Targets supported: ARM, PPC, MIPS, x86, x86-64 • Hosted on common Linux x86 desktop platforms (CentOS, Fedora, openSUSE, Ubuntu) • OpenEmbedded build system with bitbake build engine • IDE • Graphical interface to build system
  • 6. © Integrated Computer Solutions, Inc. All Rights Reserved Benefits/Advantages • Reduced development effort/time • Improved quality • Automation • Stability • Repeatability
  • 7. © Integrated Computer Solutions, Inc. All Rights Reserved Limitations/Disadvantages • Embedded Linux targets only • Development tools run on desktop Linux only (or in a Linux vm hosted on e.g. Windows or MacOS) • Doesn't dictate a specific Linux distribution (but offers Poky as a reference distribution) • Large, complex, can have steep learning curve
  • 8. © Integrated Computer Solutions, Inc. All Rights Reserved Yocto Versions/Code Names
  • 9. © Integrated Computer Solutions, Inc. All Rights Reserved Other Embedded Frameworks • Baserock • Buildroot • Crosstool/CrosstoolNG • Embedded Debian/Fedora/Gentoo/SUSE/Ubuntu
  • 10. © Integrated Computer Solutions, Inc. All Rights Reserved Yocto Architecture
  • 11. © Integrated Computer Solutions, Inc. All Rights Reserved Major Components • bitbake • Poky Linux distribution • Emulator • Toaster GUI • SDK • Eclipse IDE plugin • Build Appliance
  • 12. © Integrated Computer Solutions, Inc. All Rights Reserved Using Yocto - Basic Steps 1. Set up tools on a Linux host machine. 2. Configure bitbake for embedded hardware. 3. Build software components, bootloader, root fs, image. 4. Write boot image and file system. 5. Set up SDK. 6. Develop and iterate.
  • 13. © Integrated Computer Solutions, Inc. All Rights Reserved bitbake Build System Steps: • fetch • extract • patch • configure • build • install • package
  • 14. © Integrated Computer Solutions, Inc. All Rights Reserved Bitbake Metadata
  • 15. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building For Emulator $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2- dev xterm
  • 16. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building For Emulator $ mkdir yocto $ cd yocto $ wget http://downloads.yoctoproject.org/releases/yocto/yocto- 2.2/poky-morty-16.0.0.tar.bz2 $ tar xjvf poky-morty-16.0.0.tar.bz2 $ cd poky-morty-16.0.0 $ source oe-init-build-env $ edit conf/local.conf $ bitbake core-image-sato $ runqemu qemuarm
  • 17. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building for Beaglebone Black
  • 18. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building for Beaglebone Black Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 2048 146570 72261+ c W95 FAT32(LBA) /dev/mmcblk0p2 146571 8535178 4194304 83 Linux $ sudo mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1 $ sudo mke2fs -j -L "root" /dev/mmcblk0p2
  • 19. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building for Beaglebone Black $ cp tmp/deploy/images/beaglebone/MLO-beaglebone /media/ $LOGNAME/boot/MLO $ cp tmp/deploy/images/beaglebone/u-boot-beaglebone.img /media/ $LOGNAME/boot/u-boot.img $ sudo tar x -C /media/$LOGNAME/root -f tmp/deploy/images/beaglebone/core-image-sato-beaglebone.tar.bz2
  • 20. © Integrated Computer Solutions, Inc. All Rights Reserved Building an SDK $ bitbake core-image-sato -c populate_sdk Output is: tmp/deploy/sdk/poky-glibc-x86_64-core-image-sato-armv5e- toolchain-2.2.sh
  • 21. © Integrated Computer Solutions, Inc. All Rights Reserved Building an SDK $ ~/yocto/poky-morty-16.0.0/build/tmp/deploy/sdk/poky-glibc-x86_64- core-image-sato-armv5e-toolchain-2.2.sh Poky (Yocto Project Reference Distro) SDK installer version 2.2 =============================================================== Enter target directory for SDK (default: /opt/poky/2.2): ~/sdk You are about to install the SDK to "/home/tranter/sdk". Proceed[Y/n]? Y Extracting SDK......................................................................do ne Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /home/tranter/sdk/environment-setup-armv5e-poky-linux-gnueabi
  • 22. © Integrated Computer Solutions, Inc. All Rights Reserved Building an SDK $ . /home/tranter/sdk/environment-setup-armv5e-poky-linux-gnueabi $ echo $CXX arm-poky-linux-gnueabi-g++ -march=armv5e -marm --sysroot=/home/tranter/sdk/sysroots/armv5e-poky-linux-gnueabi $ $CXX helloworld.cpp $ file a.out a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0
  • 23. © Integrated Computer Solutions, Inc. All Rights Reserved Packaging • Not required, but often useful even for embedded systems. • Yocto doesn't impose a packaging format. • Common package formats include: • rpm • deb/dpkg • ipkg • opkg
  • 24. © Integrated Computer Solutions, Inc. All Rights Reserved Toaster GUI
  • 25. © Integrated Computer Solutions, Inc. All Rights Reserved Yocto Qt Support Yocto Qt 5 recipes: • https://github.com/meta-qt5/meta-qt5 Qt for Device Creation (boot2qt): • http://code.qt.io/cgit/yocto/meta-boot2qt.git/ • http://code.qt.io/cgit/yocto/meta-qt5.git/
  • 26. © Integrated Computer Solutions, Inc. All Rights Reserved More About Bitbake • Python based language for configuration files. • Supports variables, include files, functions, inheritance. • Uses scripts called "recipes". • Many command line options. • Configuration files in build/conf • Understands dependencies. • Multithreaded, runs a server process in the background.
  • 27. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Writing Recipes • Needed to build your own components with bitbake • Shell or Python scripts (.bb files) • Standardized format
  • 28. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Kernel Recipes • Recipes to configure, patch, and build the Linux kernel • More complex
  • 29. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - BSPs • BSP = Board Support Package. • Adaptations for specific hardware. • Hardware vendor, OS vendor, or third party may provide this.
  • 30. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Eclipse Integration
  • 31. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Licensing and Compliance
  • 32. © Integrated Computer Solutions, Inc. All Rights Reserved Tips For Getting Started
  • 33. © Integrated Computer Solutions, Inc. All Rights Reserved References 1. Embedded Linux Systems with the Yocto Project, Rudolf Streif 2. https://www.yoctoproject.org/ 3. https://github.com/meta-qt5/meta-qt5 4. http://code.qt.io/cgit/yocto/meta-boot2qt.git/ 5. http://code.qt.io/cgit/yocto/meta-qt5.git/ 6. http://www.ics.com/blog/yocto-quick-start
  • 34. © Integrated Computer Solutions, Inc. All Rights Reserved Summary
  • 35. © Integrated Computer Solutions, Inc. All Rights Reserved Questions?
  • 36. © Integrated Computer Solutions, Inc. All Rights Reserved An Introduction to the Yocto Embedded Framework Jeff Tranter <jtranter@ics.com> Integrated Computer Solutions, Inc.