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
• 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.
Ad

More Related Content

What's hot (20)

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)
Emertxe Information Technologies Pvt Ltd
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
Janakiram MSV
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
mukul bhardwaj
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 
Linux Internals - Part III
Linux Internals - Part IIILinux Internals - Part III
Linux Internals - Part III
Emertxe Information Technologies Pvt Ltd
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Yoshitake Kobayashi
 
Android 10
Android 10Android 10
Android 10
kpraveen_slideshare
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
Opersys inc.
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
Alex Gonzalez
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
Emertxe Information Technologies Pvt Ltd
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
Emertxe Information Technologies Pvt Ltd
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
Nanik Tolaram
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더
chcbaram
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
Yen-Chin Lee
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
Emertxe Information Technologies Pvt Ltd
 
Hacking Android OS
Hacking Android OSHacking Android OS
Hacking Android OS
Jimmy Software
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
Janakiram MSV
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Yoshitake Kobayashi
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
Opersys inc.
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
Alex Gonzalez
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
Nanik Tolaram
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더
chcbaram
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
Yen-Chin Lee
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen
 

Similar to An Introduction to the Yocto Embedded Framework 2018 (20)

[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework
ICS
 
Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
NEEVEE Technologies
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
rossburton
 
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
 
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 2019
Marco Cavallini
 
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
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distribution
emertxemarketing
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with Yocto
Alexandre LAHAYE
 
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
Macpaul Lin
 
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
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with Yocto
Prabindh 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 GitHub
Scott Graham
 
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
Prabindh Sundareson
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
cudma
 
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
 
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
Joget Workflow
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
Denis 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 Project
Leon Anavi
 
[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework
ICS
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
rossburton
 
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
 
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 2019
Marco Cavallini
 
Yocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux DistributionYocto Project : Custom Embedded Linux Distribution
Yocto Project : Custom Embedded Linux Distribution
emertxemarketing
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with Yocto
Alexandre LAHAYE
 
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
Macpaul Lin
 
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
 
Qt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with YoctoQt5 (minimal) on beaglebone, with Yocto
Qt5 (minimal) on beaglebone, with Yocto
Prabindh 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 GitHub
Scott Graham
 
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
Prabindh Sundareson
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
cudma
 
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
 
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
Joget Workflow
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
Denis 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 Project
Leon Anavi
 
Ad

More from ICS (20)

Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
Threat Modeling & Risk Assessment Webinar: A Step-by-Step ExampleThreat Modeling & Risk Assessment Webinar: A Step-by-Step Example
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
ICS
 
8 Mandatory Security Control Categories for Successful Submissions
8 Mandatory Security Control Categories for Successful Submissions8 Mandatory Security Control Categories for Successful Submissions
8 Mandatory Security Control Categories for Successful Submissions
ICS
 
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdfFuture-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
ICS
 
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
Choosing an Embedded GUI: Comparative Analysis of UI FrameworksChoosing an Embedded GUI: Comparative Analysis of UI Frameworks
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
ICS
 
Medical Device Cyber Testing to Meet FDA Requirements
Medical Device Cyber Testing to Meet FDA RequirementsMedical Device Cyber Testing to Meet FDA Requirements
Medical Device Cyber Testing to Meet FDA Requirements
ICS
 
Threat Modeling and Risk Assessment Webinar.pdf
Threat Modeling and Risk Assessment Webinar.pdfThreat Modeling and Risk Assessment Webinar.pdf
Threat Modeling and Risk Assessment Webinar.pdf
ICS
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
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
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
Threat Modeling & Risk Assessment Webinar: A Step-by-Step ExampleThreat Modeling & Risk Assessment Webinar: A Step-by-Step Example
Threat Modeling & Risk Assessment Webinar: A Step-by-Step Example
ICS
 
8 Mandatory Security Control Categories for Successful Submissions
8 Mandatory Security Control Categories for Successful Submissions8 Mandatory Security Control Categories for Successful Submissions
8 Mandatory Security Control Categories for Successful Submissions
ICS
 
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdfFuture-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
Future-Proofing Embedded Device Capabilities with the Qt 6 Plugin Mechanism.pdf
ICS
 
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
Choosing an Embedded GUI: Comparative Analysis of UI FrameworksChoosing an Embedded GUI: Comparative Analysis of UI Frameworks
Choosing an Embedded GUI: Comparative Analysis of UI Frameworks
ICS
 
Medical Device Cyber Testing to Meet FDA Requirements
Medical Device Cyber Testing to Meet FDA RequirementsMedical Device Cyber Testing to Meet FDA Requirements
Medical Device Cyber Testing to Meet FDA Requirements
ICS
 
Threat Modeling and Risk Assessment Webinar.pdf
Threat Modeling and Risk Assessment Webinar.pdfThreat Modeling and Risk Assessment Webinar.pdf
Threat Modeling and Risk Assessment Webinar.pdf
ICS
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
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
 
Ad

Recently uploaded (20)

Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
saimabibi60507
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Full Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest VersionFull Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest Version
jonesmichealj2
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
saimabibi60507
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Full Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest VersionFull Cracked Resolume Arena Latest Version
Full Cracked Resolume Arena Latest Version
jonesmichealj2
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 

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 <[email protected]> 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 <[email protected]> Integrated Computer Solutions, Inc.