SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
© 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
• Benefts/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 signifcantly 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
• Optional 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 specifc 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. Confgure bitbake for embedded hardware.
3. Build software components, bootloader, root fs, image.
4. Write boot image and fle system.
5. Set up SDK.
6. Develop and iterate.
© Integrated Computer Solutions, Inc. All Rights Reserved
Bitbake Build System
Steps:
• fetch
• extract
• patch
• confgure
• 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.4/poky-rocko-18.0.1.tar.bz2
$ tar xvf poky-rocko-18.0.1.tar.bz2
$ cd poky-rocko-18.0.1
$ 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 Emulator
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building For Emulator
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building For Emulator
© Integrated Computer Solutions, Inc. All Rights Reserved
Example - Building For Emulator
© 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.4.sh
© Integrated Computer Solutions, Inc. All Rights Reserved
Building an SDK
$ ~/yocto/poky-rocko-18.0.1/build/tmp/deploy/sdk/poky-glibc-x86_64-
core-image-sato-armv5e-toolchain-2.4.1.sh
Poky (Yocto Project Reference Distro) SDK installer version 2.4.1
===============================================================
Enter target directory for SDK (default: /opt/poky/2.4.1):
You are about to install the SDK to "/opt/poky/2.4.1". Proceed[Y/n]?
Extracting SDK............................................done
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.
$ . /opt/poky/2.4.1/environment-setup-armv5e-poky-linux-gnueabi
© Integrated Computer Solutions, Inc. All Rights Reserved
Building an SDK
$ . /opt/poky/2.4.1/environment-setup-armv5e-poky-linux-gnueabi
$ echo $CXX
arm-poky-linux-gnueabi-g++ -march=armv5e -marm –
sysroot=/opt/poky/2.4.1/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
Example – Building boot2qt for Raspberry Pi
$ git clone git://code.qt.io/yocto/meta-boot2qt.git
$ cd meta-boot2qt
$ ./b2qt-init-build-env init --device raspberrypi3
$ export MACHINE=raspberrypi3
$ . setup-environment.sh
$ bitbake b2qt-embedded-qt5-image
Creates: tmp/deploy/images/raspberrypi3/b2qt-embedded-qt5-image-
raspberrypi3.img
$ bitbake meta-toolchain-b2qt-embedded-qt5-sdk
Creates: tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-embedded-qt5-sdk-
raspberrypi3.sh
See http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html
© Integrated Computer Solutions, Inc. All Rights Reserved
More About Bitbake
• Python based language for confguration fles.
• Supports variables, include fles, functions, inheritance.
• Uses scripts called "recipes".
• Many command line options.
• Confguration fles 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 fles)
• Standardized format
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - Kernel Recipes
• Recipes to confgure, patch, and build the Linux kernel
• More complex
© Integrated Computer Solutions, Inc. All Rights Reserved
Doing More - BSPs
• BSP = Board Support Package.
• Adaptations for specifc 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.

Contenu connexe

Tendances

Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartNokiaAppForum
 
2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselibDaniel Bimschas
 
200923 01en
200923 01en200923 01en
200923 01enopenrtm
 
Webinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with DockerWebinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with DockerBurkhard Stubert
 
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentationDaniel Bimschas
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbedDaniel Bimschas
 
Virtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayVirtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayPuppet
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.JooinK
 
Gnome on wayland at a glance
Gnome on wayland at a glanceGnome on wayland at a glance
Gnome on wayland at a glancegnomekr
 
OpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel ProgrammingOpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel ProgrammingAndreas Schreiber
 
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
 
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselModulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselPuppet
 
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...Igalia
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Puppet
 
Virtual Bolt Workshop - March 16, 2020
Virtual Bolt Workshop - March 16, 2020Virtual Bolt Workshop - March 16, 2020
Virtual Bolt Workshop - March 16, 2020Puppet
 
HKG15-300: Art's Quick Compiler: An unofficial overview
HKG15-300: Art's Quick Compiler: An unofficial overviewHKG15-300: Art's Quick Compiler: An unofficial overview
HKG15-300: Art's Quick Compiler: An unofficial overviewLinaro
 
WISEBED Tutorial @ ADHOCNETS 2011
WISEBED Tutorial @ ADHOCNETS 2011WISEBED Tutorial @ ADHOCNETS 2011
WISEBED Tutorial @ ADHOCNETS 2011Daniel Bimschas
 
都立大「ユビキタスロボティクス特論」5月12日
都立大「ユビキタスロボティクス特論」5月12日都立大「ユビキタスロボティクス特論」5月12日
都立大「ユビキタスロボティクス特論」5月12日NoriakiAndo
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Anne Nicolas
 

Tendances (20)

Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib2013 09-02 senzations-bimschas-part3-wiselib
2013 09-02 senzations-bimschas-part3-wiselib
 
200923 01en
200923 01en200923 01en
200923 01en
 
Webinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with DockerWebinar: Building Embedded Applications from QtCreator with Docker
Webinar: Building Embedded Applications from QtCreator with Docker
 
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
2013 09-02 senzations-bimschas-part2-smart-santander-experimentation
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
Virtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayVirtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 May
 
DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
 
Gnome on wayland at a glance
Gnome on wayland at a glanceGnome on wayland at a glance
Gnome on wayland at a glance
 
OpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel ProgrammingOpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel Programming
 
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
 
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselModulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
 
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
 
Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 
Virtual Bolt Workshop - March 16, 2020
Virtual Bolt Workshop - March 16, 2020Virtual Bolt Workshop - March 16, 2020
Virtual Bolt Workshop - March 16, 2020
 
HKG15-300: Art's Quick Compiler: An unofficial overview
HKG15-300: Art's Quick Compiler: An unofficial overviewHKG15-300: Art's Quick Compiler: An unofficial overview
HKG15-300: Art's Quick Compiler: An unofficial overview
 
WISEBED Tutorial @ ADHOCNETS 2011
WISEBED Tutorial @ ADHOCNETS 2011WISEBED Tutorial @ ADHOCNETS 2011
WISEBED Tutorial @ ADHOCNETS 2011
 
都立大「ユビキタスロボティクス特論」5月12日
都立大「ユビキタスロボティクス特論」5月12日都立大「ユビキタスロボティクス特論」5月12日
都立大「ユビキタスロボティクス特論」5月12日
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
 

Similaire à An Introduction to the Yocto Embedded Framework 2018

The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
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 devicesMender.io
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)RuggedBoardGroup
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems Mender.io
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distributionemertxemarketing
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with YoctoAlexandre LAHAYE
 
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 Joblinuxlab_conf
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoPrabindh Sundareson
 
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 GitHubScott Graham
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introductionYi-Hsiu Hsu
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xPrabindh Sundareson
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugincudma
 
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_2018Mender.io
 
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI securityDenis Gundarev
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
 

Similaire à An Introduction to the Yocto Embedded Framework 2018 (20)

Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
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
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
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
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distribution
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with Yocto
 
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
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with Yocto
 
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
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335x
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
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
 
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 

Plus de 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.pdfICS
 
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 WebinarICS
 
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.pdfICS
 
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.pdfICS
 
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.pdfICS
 
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.pdfICS
 
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.pdfICS
 
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 DevicesICS
 
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 SolutionICS
 
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 TeamsICS
 
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 AzureICS
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt UsersICS
 
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 FrameworkICS
 
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 TeamsICS
 
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 StudyICS
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoTICS
 

Plus de ICS (20)

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
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoT
 

Dernier

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Dernier (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

An Introduction to the Yocto Embedded Framework 2018

  • 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 • Benefts/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 signifcantly 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 • Optional 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 specifc 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. Confgure bitbake for embedded hardware. 3. Build software components, bootloader, root fs, image. 4. Write boot image and fle system. 5. Set up SDK. 6. Develop and iterate.
  • 13. © Integrated Computer Solutions, Inc. All Rights Reserved Bitbake Build System Steps: • fetch • extract • patch • confgure • 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.4/poky-rocko-18.0.1.tar.bz2 $ tar xvf poky-rocko-18.0.1.tar.bz2 $ cd poky-rocko-18.0.1 $ 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 Emulator
  • 18. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building For Emulator
  • 19. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building For Emulator
  • 20. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building For Emulator
  • 21. © Integrated Computer Solutions, Inc. All Rights Reserved Example - Building for Beaglebone Black
  • 22. © 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
  • 23. © 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
  • 24. © 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.4.sh
  • 25. © Integrated Computer Solutions, Inc. All Rights Reserved Building an SDK $ ~/yocto/poky-rocko-18.0.1/build/tmp/deploy/sdk/poky-glibc-x86_64- core-image-sato-armv5e-toolchain-2.4.1.sh Poky (Yocto Project Reference Distro) SDK installer version 2.4.1 =============================================================== Enter target directory for SDK (default: /opt/poky/2.4.1): You are about to install the SDK to "/opt/poky/2.4.1". Proceed[Y/n]? Extracting SDK............................................done 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. $ . /opt/poky/2.4.1/environment-setup-armv5e-poky-linux-gnueabi
  • 26. © Integrated Computer Solutions, Inc. All Rights Reserved Building an SDK $ . /opt/poky/2.4.1/environment-setup-armv5e-poky-linux-gnueabi $ echo $CXX arm-poky-linux-gnueabi-g++ -march=armv5e -marm – sysroot=/opt/poky/2.4.1/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
  • 27. © 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
  • 28. © Integrated Computer Solutions, Inc. All Rights Reserved Toaster GUI
  • 29. © 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/
  • 30. © Integrated Computer Solutions, Inc. All Rights Reserved Example – Building boot2qt for Raspberry Pi $ git clone git://code.qt.io/yocto/meta-boot2qt.git $ cd meta-boot2qt $ ./b2qt-init-build-env init --device raspberrypi3 $ export MACHINE=raspberrypi3 $ . setup-environment.sh $ bitbake b2qt-embedded-qt5-image Creates: tmp/deploy/images/raspberrypi3/b2qt-embedded-qt5-image- raspberrypi3.img $ bitbake meta-toolchain-b2qt-embedded-qt5-sdk Creates: tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-embedded-qt5-sdk- raspberrypi3.sh See http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html
  • 31. © Integrated Computer Solutions, Inc. All Rights Reserved More About Bitbake • Python based language for confguration fles. • Supports variables, include fles, functions, inheritance. • Uses scripts called "recipes". • Many command line options. • Confguration fles in build/conf • Understands dependencies. • Multithreaded, runs a server process in the background.
  • 32. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Writing Recipes • Needed to build your own components with bitbake • Shell or Python scripts (.bb fles) • Standardized format
  • 33. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Kernel Recipes • Recipes to confgure, patch, and build the Linux kernel • More complex
  • 34. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - BSPs • BSP = Board Support Package. • Adaptations for specifc hardware. • Hardware vendor, OS vendor, or third party may provide this.
  • 35. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Eclipse Integration
  • 36. © Integrated Computer Solutions, Inc. All Rights Reserved Doing More - Licensing and Compliance
  • 37. © Integrated Computer Solutions, Inc. All Rights Reserved Tips For Getting Started
  • 38. © 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
  • 39. © Integrated Computer Solutions, Inc. All Rights Reserved Summary
  • 40. © Integrated Computer Solutions, Inc. All Rights Reserved Questions?
  • 41. © Integrated Computer Solutions, Inc. All Rights Reserved An Introduction to the Yocto Embedded Framework Jeff Tranter <jtranter@ics.com> Integrated Computer Solutions, Inc.