SlideShare a Scribd company logo
1 of 61
Download to read offline
It’s not an embedded Linux distribution –
                            It creates a custom one for you.


 Creating a Custom Embedded Linux* OS for
Any Embedded Device using the Yocto Project*




                                        marcelo.lorenzati@intel.com
Risk Factors
The above statements and any others in this document that refer to plans and expectations for the second quarter, the year and the future are forward-
looking statements that involve a number of risks and uncertainties. Words such as “anticipates,” “expects,” “intends,” “plans,” “believes,” “seeks,”
“estimates,” “may,” “will,” “should,” and their variations identify forward-looking statements. Statements that refer to or are based on projections, uncertain
events or assumptions also identify forward-looking statements. Many factors could affect Intel‟s actual results, and variances from Intel‟s current
expectations regarding such factors could cause actual results to differ materially from those expressed in these forward-looking statements. Intel
presently considers the following to be the important factors that could cause actual results to differ materially from the company‟s expectations. Demand
could be different from Intel's expectations due to factors including changes in business and economic conditions, including supply constraints and other
disruptions affecting customers; customer acceptance of Intel‟s and competitors‟ products; changes in customer order patterns including order
cancellations; and changes in the level of inventory at customers. Potential disruptions in the high technology supply chain resulting from the recent
disaster in Japan could cause customer demand to be different from Intel‟s expectations. Intel operates in intensely competitive industries that are
characterized by a high percentage of costs that are fixed or difficult to reduce in the short term and product demand that is highly variable and difficult to
forecast. Revenue and the gross margin percentage are affected by the timing of Intel product introductions and the demand for and market acceptance of
Intel's products; actions taken by Intel's competitors, including product offerings and introductions, marketing programs and pricing pressures and Intel‟s
response to such actions; and Intel‟s ability to respond quickly to technological developments and to incorporate new features into its products. The gross
margin percentage could vary significantly from expectations based on capacity utilization; variations in inventory valuation, including variations related to
the timing of qualifying products for sale; changes in revenue levels; product mix and pricing; the timing and execution of the manufacturing ramp and
associated costs; start-up costs; excess or obsolete inventory; changes in unit costs; defects or disruptions in the supply of materials or resources; product
manufacturing quality/yields; and impairments of long-lived assets, including manufacturing, assembly/test and intangible assets. Expenses, particularly
certain marketing and compensation expenses, as well as restructuring and asset impairment charges, vary depending on the level of demand for Intel's
products and the level of revenue and profits. The majority of Intel‟s non-marketable equity investment portfolio balance is concentrated in companies in
the flash memory market segment, and declines in this market segment or changes in management‟s plans with respect to Intel‟s investments in this
market segment could result in significant impairment charges, impacting restructuring charges as well as gains/losses on equity investments and interest
and other. Intel's results could be affected by adverse economic, social, political and physical/infrastructure conditions in countries where Intel, its
customers or its suppliers operate, including military conflict and other security risks, natural disasters, infrastructure disruptions, health concerns and
fluctuations in currency exchange rates. Intel‟s results could be affected by the timing of closing of acquisitions and divestitures. Intel's results could be
affected by adverse effects associated with product defects and errata (deviations from published specifications), and by litigation or regulatory matters
involving intellectual property, stockholder, consumer, antitrust and other issues, such as the litigation and regulatory matters described in Intel's SEC
reports. An unfavorable ruling could include monetary damages or an injunction prohibiting us from manufacturing or selling one or more products,
precluding particular business practices, impacting Intel‟s ability to design its products, or requiring other remedies such as compulsory licensing of
intellectual property. A detailed discussion of these and other factors that could affect Intel‟s results is included in Intel‟s SEC filings, including the report on
Form 10-Q for the quarter ended April 2, 2011.




Rev. 5/9/11
                                                                                                                                                              2
Legal Disclaimer
• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR
  IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
  EXCEPT AS PROVIDED IN INTEL‟S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY
  WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL®
  PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR
  PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY
  RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS.
• Intel may make changes to specifications and product descriptions at any time, without notice.
• All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
• Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to
  deviate from published specifications. Current characterized errata are available on request.
• Crown Bay, Menlow, Jasper Forest, Sugar Bay and other code names featured are used internally within Intel to identify products that are in
  development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use
  code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole
  risk of the user
• Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance
  tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and
  functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to
  assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
• Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not
  across different processor families. Go to: http://www.intel.com/products/processor_number
• Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to
  obtain Intel's current plan of record product roadmaps.
• Intel, Atom, Core, VTune, Sponsors of Tomorrow and the Intel logo are trademarks of Intel Corporation in the United States and other
  countries.
• *Other names and brands may be claimed as the property of others.
• Copyright ©2011 Intel Corporation.




                                                                                                                                       3
Agenda
• Day 1
 •   Preparation: Set and run Virtual Machine
 •   Meet the Yocto Project
 •   Build system, Recipes, configurations and workflow
 •   Application Development Tools, emulation
 •   Eclipse and HOB
 •   Test drive!
• Day 2
 •   Bake your own Linux distribution! Eat your own
     cake!
Meet the Yocto Project*
        The Yocto Project* is an open source
    collaboration project that provides templates,
    tools and methods to help you create custom
    Linux-based systems for embedded products
         regardless of hardware architecture.
•   Focused resources for system application                                                   ™
    developers who need to customize a Linux
    distribution for a device
•   Validated and tested BSPs in a common format
•   Automatically creates an application development          It’s not an embedded Linux distribution –
    SDK customized for each specific device                         It creates a custom one for you.
•   Supported by embedded industry leaders across
    multiple architectures (IA, ARM, PowerPC, MIPS,
    etc)
•   Is a great starting point for “roll your own”
    embedded developers and commercial distribution
    vendors.
                                                            Simple        M2M   Point of of
                                                                                  Point Sale   Networking &   Industrial
•   Enables easy transition from Proof of Concept         Electronics               Sale         Storage      & Medical
    (POC) to supported Commercial Linux with no loss
    of optimizations, code or design
•   Proprietary code can be included in build structure                 www.yoctoproject.org
    within a separate layer, which can be kept private.
    (security)
•   Project hosted by the Linux* Foundation
                                                                                                                 55
5
Participating Organizations
Silicon
Vendors




OSVs




Embedded
Tools,
Consulting
Services,
Users…


Contact the        If you are interested in becoming a participating organization.
Linux Foundation   (Take part in Governance, Advisory Board, Advocacy and Communications)
                   Project hosted by the Linux Foundation

                                                                                            6
Where to Get Things
WHAT                    WHO                  WHERE            HOW TO GET
                        SUPPORTS             DISTRIBUTED

BSPs in common          Community            YOCTO PROJECT    www.yoctoproject.org
Yocto Project format                         WEBSITE


Complete platform       Community            YOCTO PROJECT    www.yoctoproject.org
configuration,                               WEBSITE
environment,

Embedded Media          Yocto Project will   YOCTO PROJECT    www.yoctoproject.org
and Graphics Driver -   test specific        WEBSITE or ECG   Integrated Image
EMGD (Atom)             configurations -     EDC WEBSITE      Or
                        provided on                           www.edc.intel.com
                        website.                              Driver
Commercial OS           OSV                  OSV              Thru OSV
Commercial Support




                                                                                     7
Intel® Embedded Software Development
                   Tool Suite for Intel® Atom™ Processor

                                                      Identify
                     Performance                    optimization
                     optimize your                  opportunities                 Thread Specific Run
                      code for IA                                                 Control & Thread             Kernel debug;
                                                                                  Grouping                     On-Chip trace &
                                                                                                               SMP run control


                                         Intel®
                                                         Intel®             Intel®         Intel®
                    Intel® C++
                     Compiler
                                      Integrated
                                     Performance
                                                        VTune™           Application       JTAG               Support
                                                       Amplifier XE       Debugger       Debugger
                                      Primitives                                                              for the
                                                                                                              Yocto
                         Linux* Operating System Support                                                      Project
                                                                                          JTAG I/F



                                 Intel® Atom™ Processor

                                                                                                Broad Processor coverage
                                                                                                CE4xxx, Z6xx, E6xx, Nxx
      Target OS: Linux*;                                                                        series
      Tizen*
                                 A comprehensive Suite of Tools for Embedded
                                           Development, Analysis
                                            and System Debugging
http://software.intel.com/en-us/articles/intel-tools-for-intel-atom-processors/                                                  8
Intel Academic Community
 Share educational resources to take advantage of next-generation technologies.

                     http://software.intel.com/en-us/academic




There are tool licenses with special prices for Universities:
http://software.intel.com/en-us/articles/intel-education-offerings
and 30-day evaluation licenses:
http://software.intel.com/en-us/articles/intel-software-evaluation-center/
A Few Benefits of The Yocto Project*

•   One common Linux* OS for all major architectures
•   Just change one line in a config file and rebuild
•   Easy transition to a commercial embedded Linux
•   Build a complete Linux system in about an hour from pre-compiled
    sources (about 90 minutes with X) – quick start
•   Start with a validated collection of packages
•   Access to a great collection of app developer tools (performance,
    debug, power analysis, Eclipse*)
•   Use Kernel development tools to manage patches
•   Access to interaction with the Embedded Open Community




                                                                        10
Developing in Linux is easy*




                       Warning!
       Things beyond this point might get difficult!




http://en.wikipedia.org/wiki/Apollo_Command/Service_Module
Yocto Project* Build System Overview

            Poky = BitBake + metadata

Poky – build system used by the Yocto Project*
BitBake – a task executor and scheduler
Metadata – task definitions
  • Configuration (.conf) – global definitions of variables
  • Classes (.bbclass) – encapsulation and inheritance of build logic,
    packaging, etc.
  • Recipes (.bb) – the logical units of software/images to build




                                                                    12
YP = Poky + Upstreams + Tools
               Poky
                OpenEmbedded-Core

                Bitbake                                          Build system upstream
                                                                 components
                Yocto Documentation

                                                                 Poky
                Meta-Yocto
                                          Reference Images
                Reference BSP
Upstream        Metadata (one per arch)   Prebuilt Build State   Yocto Project
Software                                  Software Releases      components
Projects        ADT Tools (Eclipse
                Plugin)                   ADT Components
                                                                 Yocto Project
                Pseudo

                Swabber
                                                                 Yocto Project Output
                Embedded Kernel Tools




    YP provides best of upstream for a stable base
Key Concepts
• The Yocto Project* provides tools and metadata
  for creating custom Linux* images
• These images are created from a repository of
  „baked‟ recipes
• A recipe is a set of instructions for building
  packages, including:
  • Where to obtain the upstream sources and which patches to apply
  • Dependencies (on libraries or other recipes)
  • Configuration/compilation options
  • Define what files go into what output packages



                                                                 14
Yocto Project* Workflow




                          15
Quick Start Guide in a Slide
     Obtain our sources:
     Download poky-danny-8.0.tar.bz2
     $tar xjf poky-danny-8.0.tar.bz2
     $cd poky-danny-8.0

     Build a Linux* image:
     $source oe-init-build-env
     $MACHINE=qemux86 bitbake core-image-minimal
                                                                      some time passes

     Run the image under emulation:
     $runqemu qemux86


http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2
                                                                                         16
Poky Directory Tree Map

•   bitbake: the BitBake utility itself
•   documentation: documentation sources
•   scripts: various support scripts (e.g, runqemu)
•   meta/conf: important configuration files, bitbake.conf,
    reference distro config, machine configs for qemu
    architectures
•   meta/classes: BitBake classes
•   meta/recipes-<xyz>: recipes



                                                              17
Configuration



•   Configuration (*.conf) – global definition
    of variables
    •   build/conf/local.conf
        •   (local user-defined variables)
    •   meta/conf/distro/poky.conf
        •   (Yocto policy config variables)
    •   machine/routerstationpro.conf
        •   (machine-specific variables)
User Configuration



•   User configuration:
    •   conf/local.conf – some things to set:
        •   Set BB_NUMBER_THREADS and PARALLEL_MAKE, based on the
            number of threads in the machine
        •   Set MACHINE=“foo” for the CPU architecture
        •   EXTRA_IMAGE_FEATURES adds features (groups of packages)
        •   INCOMPATIBLE_LICENSE = “GPLv3” eliminates packages using
            this license (for example)
Recipes & Metadata



• Metadata and patches:
  • Recipes for building packages
  • Eg, meta/recipes-
      core/coreutils/coreutils_6.9.bb builds the core
      utilities (version 6.9) and installs them
  •   meta-recipes-core/coreutils/coreutils-6.9/
      includes patches, also could include extra files to
      install
Recipes In-Depth Agenda


• Example Recipe: ethtool


• Standard Recipe Build Steps




                                21
Example Recipe – ethtool_2.6.36.bb

SUMMARY = "Display or change ethernet card settings"
DESCRIPTION = "A small utility for examining and
  tuning the settings of your ethernet-based network
  interfaces."
HOMEPAGE = "http://sourceforge.net/projects/gkernel/"
LICENSE = "GPLv2+"


SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool-
  ${PV}.tar.gz"


inherit autotools


                                                    22
Standard Recipe Build Steps
• Building recipes involves executing the following functions,
  which can be overridden when needed for customizations

   • do_fetch
   • do_unpack
   • do_patch
   • do_configure
   • do_compile
   • do_install
   • do_package



                                                           23
Examining Recipes
meta/recipes-extended/bc/
  • Uses LIC_FILES_CHKSUM and SRC_URI checksums
  • Note the DEPENDS declaration
meta/recipes-core/psplash/
  • Uses SVN for sources
  • Sets up an init service
meta/recipes-multimedia/flac/
  • Includes custom source patches
  • Customizes autoconf configure options
  • Breaks up output into multiple binary packages




                                                     24
Source Fetching




  •        Recipes call out location of all sources, whether on the internet or local
           (Look for SRC_URI in *.bb files)
  •        Bitbake can get sources from git, svn, bzr, from tarballs, and many, many
           more*
  •        Versions of packages can be fixed or updated automatically (Add
           SRCREV_pn- PN = "${AUTOREV}” to local.conf)
  •        Yocto Project sources mirror available as a fallback, if the sources move on
           the internet

* Complete list includes: http, ftp, https, git, svn, perforce, mercurial, bzr, cvs, osc, repo, ssh, and
svk and the unpacker can cope with tarballs, zip, rar, xz, gz, bz2, and so on.
Patching




•   Once sources are obtained, the patches are applied
•   This is a good place place to patch the software yourself
•   However, we encourage you to contribute development
    upstream whenever possible (we try to)
Packaging


•   Once configure/compile/install is completed,
    packaging commences
•   The most popular package formats are
    supported: RPM, Debian, and ipk
    •   Set PACKAGE_CLASSES in conf/local.conf
•   You can split into multiple packages using
    PACKAGES and FILES in a *.bb file:
    PACKAGES =+ "sxpm cxpm"
    FILES_cxpm = "${bindir}/cxpm"
    FILES_sxpm = "${bindir}/sxpm"
Image Generation


•    Images are constructed using the
     packages built earlier in the process
•    Uses for these images:
     •   Live Image to boot a device
     •   Root filesystem for QEMU emulator
     •   Sysroot for App development




    YP lets you customize your embedded Linux OS
Layers Agenda
•   Introduction to Layers

•   Stacking Customizations

•   Adding Layers

•   Board Support Packages

•   Example machine configuration

•   Kernel configuration


                                    29
Layers

• The Yocto Project* build system is composed of
  layers
• A layer is a logical collection of recipes
  representing the core, a Board Support Package
  (BSP), or an application stack
• All layers have a priority and can override policy
  and config settings of the layers beneath it




                                                   30
Stacking Customizations




                          31
Using Layers
• Layers are added to your build by editing the
  build/conf/bblayers.conf file:


BBLAYERS = " 
    /data/poky/meta          # core system
    /data/poky/meta-yocto    # yocto config and recipes
    /data/meta-skynet        # my customization layer
"




                                                         32
How Does It Work? Layers
Board Support Packages
• BSPs are layers to enable support for specific
  hardware platforms

• Defines machine configuration for the “board”

• Adds machine-specific recipes and
  customizations
  – Kernel config
  – Graphics drivers (e.g, Xorg)
  – Additional recipes to support hardware features


                                                      34
Example Machine Configuration
TARGET_ARCH = "x86_64“
MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3
x86”
KERNEL_IMAGETYPE = "bzImage"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
XSERVER ?= "xserver-xf86-dri-lite 
           xf86-input-mouse 
           xf86-input-keyboard 
           xf86-video-intel"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
GUI_MACHINE_CLASS = "bigscreen"
IMAGE_ROOTFS_SIZE_ext3 = "2000000"
IMAGE_FSTYPES ?= "ext3 cpio.gz"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "grub"
PREFERRED_VERSION_grub ?= "1.98"
SRCREV_machine_pn-linux-yocto_sugarbay ?= "41ec30ddc42912fe4e8f9"
SRCREV_meta_pn-linux-yocto_sugarbay ?= "5a32d7fe3b83d743903685ae"
                                                                      35
Kernel Customization
•   You can define a full kernel configuration set
    (defconfig) or use kernel configuration
    “fragments”

•   Add a kernel configuration fragment (.cfg) to
    your layer
    •   These include standard Linux* Kconfig values and are
        inserted into the generated defconfig

•   Add a linux-yocto.bbappend recipe to your
    layer which includes your config file(s)

                                                          36
Adding E1000 Drivers
• meta-talk/recipes-kernel/linux-yocto/netdev.cfg:


CONFIG_NETDEV_1000=y
CONFIG_E1000E=y

• meta-talk/recipes-kernel/linux-yocto_git.bbappend:


SRC_URI_append = “file://netdev.cfg”



                                                       37
Images Agenda


• Introduction to Images

• Example Image: my-nas-image.bb

• Booting an Image Under Emulation




                                     38
Images

•   Specify which packages to install
    – List individual package names and/or:
    – Set the IMAGE_FEATURES variable, which maps collections of
      packages (defined in task recipes) to named functionality, e.g,
      “apps-console-core package-management”
•   Define commands to be run on the generated rootfs (e.g,
    installing configuration files into /etc)
•   Built images are saved to
    build/tmp/deploy/images/




                                                                        39
Example Image – my-nas-image.bb

IMAGE_FEATURES += "nfs-server apps-console-core package-management"
inherit poky-image
SRC_URI = "file://fstab      # These files will be installed after the
           file://exports”    # rootfs is generated, see below
ROOTFS_POSTPROCESS_COMMAND += "setup_target_image ; "
setup_target_image() {
    # install configuration files
    install -m 0644 ${WORKDIR}/fstab ${IMAGE_ROOTFS}/etc/fstab
    install -m 0644 ${WORKDIR}/exports ${IMAGE_ROOTFS}/etc/exports
    # etc etc
}




                                                                      40
Yocto Project* ADT
•   Yocto Project* Application Development Toolkit
•   Setup target system development environment on the
    host machine based on sysroot concept
    • GNU cross-development toolchain of build, packaging, and debug
    • Development headers and libraries
    • Sysroot represents target device root file system
•   Optimized for use with Autotools
    • For autotool-enabled packages just pass host options to configure
    • For other projects should ensure the cross tools are used




                                                                    41
Yocto Project* ADT (Cont.)
• Yocto Application Development Toolkit
• Use hardware as development targets - Qemu
  with GL pass-through
• User mode NFS support
  • Allow emulator and host access the file system at same time

• Update packages on running systems and
  sysroot
• ADT installer, Eclipse plug-in and user space
  tool suite
 Allow software and hardware development to happen in parallel

                                                                  42
ADT Generation


•   Cross toolchain and installation script
    generated.
•   This can be used to set up an application
    developer‟s cross development
    environment to create apps
•   MACHINE=qemuarm bitbake poky-
    image-sato-sdk meta-toolchain
    package-index
•   QEMU built for target architecture
    emulation
Using Emulation

• Yocto uses QEMU, which supports all major
  architectures: x86(-64), arm, mips, ppc
• Simply set MACHINE=qemux86 in local.conf and
  build your image
• runqemu script is used to boot the image with
  QEMU – it auto-detects as much as possible:


              runqemu qemux86

                                                  44
Embedded Software Development
• Embedded products are highly customized to
  provide special functions
• Quickly roll out new applications that utilize
  unique hardware features
• Embedded platforms needs
  • Run time supporting system
  • Application development
• Product-focused toolchain and development
  platform are essential for embedded software
  development

                                                   45
Eclipse Plugin
The Eclipse IDE Plug-in integrates the functionality of the Yocto Project
  Application Development Toolkit (ADT) and toolchain into the
  Eclipse IDE, allowing its users direct access to their capabilities:
   • Crosscompiling
   • Deploying
   • Debugging
   • Emulation
   • Profiling
   • Tracing
   • Collection of Power, Latency and Performance data

http://www.yoctoproject.org/docs/current/adt-manual/adt-manual.html
Eclipse Plugin
HOB

Hob is a graphical user interface for BitBake. Its primary goal
  is to enable a user to perform common tasks more easily.

• Modify existing images
• Create custom images
• Save customized images as templates
• Build images
• Run images in the QEMU emulator
• Deploy images to a USB disk for live-booting on a target device




                                                                    48
HOB




      49
HOB




      50
HOB




      51
HOB




      52
HOB




      53
HOB




      54
HOB




      55
HOB




      56
HOB




      57
HOB




      58
Project Resources
• The Yocto Project* is an open source project, and aims to
  deliver an open standard for the embedded Linux*
  community and industry
• Development is done in the open through public mailing
  lists: openembedded-core@lists.openembedded.org,
  poky@yoctoproject.org and yocto@yoctoproject.org
• And public code repositories:
   http://git.yoctoproject.org and
   http://git.openembedded.net
• Bug reports and feature requests:
  http://bugzilla.yoctoproject.org


                                                           59
Q&A



      60
Backup
Linux Kernel map

More Related Content

What's hot

What's hot (20)

Basics of boot-loader
Basics of boot-loaderBasics of boot-loader
Basics of boot-loader
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Bootloaders
BootloadersBootloaders
Bootloaders
 
Linux Kernel Programming
Linux Kernel ProgrammingLinux Kernel Programming
Linux Kernel Programming
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
U-Boot Porting on New Hardware
U-Boot Porting on New HardwareU-Boot Porting on New Hardware
U-Boot Porting on New Hardware
 
Linux booting procedure
Linux booting procedureLinux booting procedure
Linux booting procedure
 
Introduction To Linux Kernel Modules
Introduction To Linux Kernel ModulesIntroduction To Linux Kernel Modules
Introduction To Linux Kernel Modules
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
Device Tree for Dummies (ELC 2014)
Device Tree for Dummies (ELC 2014)Device Tree for Dummies (ELC 2014)
Device Tree for Dummies (ELC 2014)
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
 
Embedded_Linux_Booting
Embedded_Linux_BootingEmbedded_Linux_Booting
Embedded_Linux_Booting
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Video Drivers
Video DriversVideo Drivers
Video Drivers
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image
 
Platform Drivers
Platform DriversPlatform Drivers
Platform Drivers
 

Viewers also liked

Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugincudma
 
Wind River Chumby Motorola Stacatto
Wind River   Chumby   Motorola   StacattoWind River   Chumby   Motorola   Stacatto
Wind River Chumby Motorola StacattoMarco Thompson
 
Linux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentLinux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentAlison Chaiken
 
Developer Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsDeveloper Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsThibault Cantegrel
 
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Rosenfeld Media
 
NetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsNetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsMahendra M
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkPersistent Systems Ltd.
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Ionela
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Projectrossburton
 
A Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsA Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsVDC Research Group
 
Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Thassilo Nowacka
 
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...Linaro
 
BKK16-205 RDK-B IoT
BKK16-205 RDK-B IoTBKK16-205 RDK-B IoT
BKK16-205 RDK-B IoTLinaro
 
Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys Corporation
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsAnil Kumar Pugalia
 

Viewers also liked (18)

Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
Wind River Chumby Motorola Stacatto
Wind River   Chumby   Motorola   StacattoWind River   Chumby   Motorola   Stacatto
Wind River Chumby Motorola Stacatto
 
Linux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile EnvironmentLinux, Android and Open Source in the Mobile Environment
Linux, Android and Open Source in the Mobile Environment
 
Developer Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trendsDeveloper Day 2014 - 4 - wind river - iot business and technology trends
Developer Day 2014 - 4 - wind river - iot business and technology trends
 
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
Emotion Economy: Ethnography as Corporate Strategy (Kelly Goto at Enterprise ...
 
NetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded SystemsNetBSD and Linux for Embedded Systems
NetBSD and Linux for Embedded Systems
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing Techtalk
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
Why you should use the Yocto Project
Why you should use the Yocto ProjectWhy you should use the Yocto Project
Why you should use the Yocto Project
 
A Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating SystemsA Market Update on Embedded/Real-Time Operating Systems
A Market Update on Embedded/Real-Time Operating Systems
 
Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016Filippa K - Goto Market Strategy 2016
Filippa K - Goto Market Strategy 2016
 
Iot survey
Iot surveyIot survey
Iot survey
 
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
HKG15-506: Comcast - Lessons learned from migrating the RDK code base to the ...
 
BKK16-205 RDK-B IoT
BKK16-205 RDK-B IoTBKK16-205 RDK-B IoT
BKK16-205 RDK-B IoT
 
Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14Radisys_Wind River_C-RAN Webinar_June 26_14
Radisys_Wind River_C-RAN Webinar_June 26_14
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Toolchain
ToolchainToolchain
Toolchain
 

Similar to Yocto Project Open Source Build System and Collaboration Initiative

Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013
Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013
Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013Intel Software Brasil
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overviewvideos
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoIntel Software Brasil
 
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...Ceph Community
 
Intel: мобильность и трансформация рабочего места
Intel: мобильность и трансформация рабочего местаIntel: мобильность и трансформация рабочего места
Intel: мобильность и трансформация рабочего местаExpolink
 
Improving the performance of OpenSubdiv* on Intel Architecture
Improving the performance of OpenSubdiv* on Intel ArchitectureImproving the performance of OpenSubdiv* on Intel Architecture
Improving the performance of OpenSubdiv* on Intel ArchitectureIntel® Software
 
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...Intel® Software
 
Using Xeon + FPGA for Accelerating HPC Workloads
Using Xeon + FPGA for Accelerating HPC WorkloadsUsing Xeon + FPGA for Accelerating HPC Workloads
Using Xeon + FPGA for Accelerating HPC Workloadsinside-BigData.com
 
Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"GeeksLab Odessa
 
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...inside-BigData.com
 
Transforming Business with Advanced Analytics
Transforming Business with Advanced AnalyticsTransforming Business with Advanced Analytics
Transforming Business with Advanced AnalyticsIntel IT Center
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Intel® Software
 
Preparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsPreparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsIntel IoT
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)videos
 
Intel_Solid State Discs and Wireless Solutions in Embedded Devices
Intel_Solid State Discs and Wireless Solutions in Embedded DevicesIntel_Solid State Discs and Wireless Solutions in Embedded Devices
Intel_Solid State Discs and Wireless Solutions in Embedded DevicesIşınsu Akçetin
 
Intel HPC Update
Intel HPC UpdateIntel HPC Update
Intel HPC UpdateIBM Danmark
 
Transforming Products into Platforms
Transforming Products into PlatformsTransforming Products into Platforms
Transforming Products into PlatformsDelyn Simons
 

Similar to Yocto Project Open Source Build System and Collaboration Initiative (20)

Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013
Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013
Arquitetura do coprocessador Intel® Xeon Phi™ - Intel Software Conference 2013
 
8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overview
 
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenhoO uso de tecnologias Intel na implantação de sistemas de alto desempenho
O uso de tecnologias Intel na implantação de sistemas de alto desempenho
 
DreamWorks Animation
DreamWorks AnimationDreamWorks Animation
DreamWorks Animation
 
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...
Ceph Day Shanghai - VSM (Virtual Storage Manager) - Simplify Ceph Management ...
 
Intel: мобильность и трансформация рабочего места
Intel: мобильность и трансформация рабочего местаIntel: мобильность и трансформация рабочего места
Intel: мобильность и трансформация рабочего места
 
VIOPS08: マイクロサーバー アーキテクチャトレンド
VIOPS08: マイクロサーバー アーキテクチャトレンドVIOPS08: マイクロサーバー アーキテクチャトレンド
VIOPS08: マイクロサーバー アーキテクチャトレンド
 
Improving the performance of OpenSubdiv* on Intel Architecture
Improving the performance of OpenSubdiv* on Intel ArchitectureImproving the performance of OpenSubdiv* on Intel Architecture
Improving the performance of OpenSubdiv* on Intel Architecture
 
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...
Intel® RealSense™ Technology: Code Walk-through Presented by Intel Software I...
 
Using Xeon + FPGA for Accelerating HPC Workloads
Using Xeon + FPGA for Accelerating HPC WorkloadsUsing Xeon + FPGA for Accelerating HPC Workloads
Using Xeon + FPGA for Accelerating HPC Workloads
 
Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"Алексей Слепцов_"Интернет вещей. Что это и для чего"
Алексей Слепцов_"Интернет вещей. Что это и для чего"
 
DreamWork Animation DWA
DreamWork Animation DWADreamWork Animation DWA
DreamWork Animation DWA
 
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...
Advancing Science in Alternative Energy and Bioengineering with Many-Core Pro...
 
Transforming Business with Advanced Analytics
Transforming Business with Advanced AnalyticsTransforming Business with Advanced Analytics
Transforming Business with Advanced Analytics
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop
 
Preparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsPreparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of Things
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)
 
Intel_Solid State Discs and Wireless Solutions in Embedded Devices
Intel_Solid State Discs and Wireless Solutions in Embedded DevicesIntel_Solid State Discs and Wireless Solutions in Embedded Devices
Intel_Solid State Discs and Wireless Solutions in Embedded Devices
 
Intel HPC Update
Intel HPC UpdateIntel HPC Update
Intel HPC Update
 
Transforming Products into Platforms
Transforming Products into PlatformsTransforming Products into Platforms
Transforming Products into Platforms
 

Recently uploaded

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 

Recently uploaded (20)

20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 

Yocto Project Open Source Build System and Collaboration Initiative

  • 1. It’s not an embedded Linux distribution – It creates a custom one for you. Creating a Custom Embedded Linux* OS for Any Embedded Device using the Yocto Project* marcelo.lorenzati@intel.com
  • 2. Risk Factors The above statements and any others in this document that refer to plans and expectations for the second quarter, the year and the future are forward- looking statements that involve a number of risks and uncertainties. Words such as “anticipates,” “expects,” “intends,” “plans,” “believes,” “seeks,” “estimates,” “may,” “will,” “should,” and their variations identify forward-looking statements. Statements that refer to or are based on projections, uncertain events or assumptions also identify forward-looking statements. Many factors could affect Intel‟s actual results, and variances from Intel‟s current expectations regarding such factors could cause actual results to differ materially from those expressed in these forward-looking statements. Intel presently considers the following to be the important factors that could cause actual results to differ materially from the company‟s expectations. Demand could be different from Intel's expectations due to factors including changes in business and economic conditions, including supply constraints and other disruptions affecting customers; customer acceptance of Intel‟s and competitors‟ products; changes in customer order patterns including order cancellations; and changes in the level of inventory at customers. Potential disruptions in the high technology supply chain resulting from the recent disaster in Japan could cause customer demand to be different from Intel‟s expectations. Intel operates in intensely competitive industries that are characterized by a high percentage of costs that are fixed or difficult to reduce in the short term and product demand that is highly variable and difficult to forecast. Revenue and the gross margin percentage are affected by the timing of Intel product introductions and the demand for and market acceptance of Intel's products; actions taken by Intel's competitors, including product offerings and introductions, marketing programs and pricing pressures and Intel‟s response to such actions; and Intel‟s ability to respond quickly to technological developments and to incorporate new features into its products. The gross margin percentage could vary significantly from expectations based on capacity utilization; variations in inventory valuation, including variations related to the timing of qualifying products for sale; changes in revenue levels; product mix and pricing; the timing and execution of the manufacturing ramp and associated costs; start-up costs; excess or obsolete inventory; changes in unit costs; defects or disruptions in the supply of materials or resources; product manufacturing quality/yields; and impairments of long-lived assets, including manufacturing, assembly/test and intangible assets. Expenses, particularly certain marketing and compensation expenses, as well as restructuring and asset impairment charges, vary depending on the level of demand for Intel's products and the level of revenue and profits. The majority of Intel‟s non-marketable equity investment portfolio balance is concentrated in companies in the flash memory market segment, and declines in this market segment or changes in management‟s plans with respect to Intel‟s investments in this market segment could result in significant impairment charges, impacting restructuring charges as well as gains/losses on equity investments and interest and other. Intel's results could be affected by adverse economic, social, political and physical/infrastructure conditions in countries where Intel, its customers or its suppliers operate, including military conflict and other security risks, natural disasters, infrastructure disruptions, health concerns and fluctuations in currency exchange rates. Intel‟s results could be affected by the timing of closing of acquisitions and divestitures. Intel's results could be affected by adverse effects associated with product defects and errata (deviations from published specifications), and by litigation or regulatory matters involving intellectual property, stockholder, consumer, antitrust and other issues, such as the litigation and regulatory matters described in Intel's SEC reports. An unfavorable ruling could include monetary damages or an injunction prohibiting us from manufacturing or selling one or more products, precluding particular business practices, impacting Intel‟s ability to design its products, or requiring other remedies such as compulsory licensing of intellectual property. A detailed discussion of these and other factors that could affect Intel‟s results is included in Intel‟s SEC filings, including the report on Form 10-Q for the quarter ended April 2, 2011. Rev. 5/9/11 2
  • 3. Legal Disclaimer • INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL‟S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. • Intel may make changes to specifications and product descriptions at any time, without notice. • All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. • Intel, processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. • Crown Bay, Menlow, Jasper Forest, Sugar Bay and other code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user • Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. • Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. Go to: http://www.intel.com/products/processor_number • Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel's current plan of record product roadmaps. • Intel, Atom, Core, VTune, Sponsors of Tomorrow and the Intel logo are trademarks of Intel Corporation in the United States and other countries. • *Other names and brands may be claimed as the property of others. • Copyright ©2011 Intel Corporation. 3
  • 4. Agenda • Day 1 • Preparation: Set and run Virtual Machine • Meet the Yocto Project • Build system, Recipes, configurations and workflow • Application Development Tools, emulation • Eclipse and HOB • Test drive! • Day 2 • Bake your own Linux distribution! Eat your own cake!
  • 5. Meet the Yocto Project* The Yocto Project* is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of hardware architecture. • Focused resources for system application ™ developers who need to customize a Linux distribution for a device • Validated and tested BSPs in a common format • Automatically creates an application development It’s not an embedded Linux distribution – SDK customized for each specific device It creates a custom one for you. • Supported by embedded industry leaders across multiple architectures (IA, ARM, PowerPC, MIPS, etc) • Is a great starting point for “roll your own” embedded developers and commercial distribution vendors. Simple M2M Point of of Point Sale Networking & Industrial • Enables easy transition from Proof of Concept Electronics Sale Storage & Medical (POC) to supported Commercial Linux with no loss of optimizations, code or design • Proprietary code can be included in build structure www.yoctoproject.org within a separate layer, which can be kept private. (security) • Project hosted by the Linux* Foundation 55 5
  • 6. Participating Organizations Silicon Vendors OSVs Embedded Tools, Consulting Services, Users… Contact the If you are interested in becoming a participating organization. Linux Foundation (Take part in Governance, Advisory Board, Advocacy and Communications) Project hosted by the Linux Foundation 6
  • 7. Where to Get Things WHAT WHO WHERE HOW TO GET SUPPORTS DISTRIBUTED BSPs in common Community YOCTO PROJECT www.yoctoproject.org Yocto Project format WEBSITE Complete platform Community YOCTO PROJECT www.yoctoproject.org configuration, WEBSITE environment, Embedded Media Yocto Project will YOCTO PROJECT www.yoctoproject.org and Graphics Driver - test specific WEBSITE or ECG Integrated Image EMGD (Atom) configurations - EDC WEBSITE Or provided on www.edc.intel.com website. Driver Commercial OS OSV OSV Thru OSV Commercial Support 7
  • 8. Intel® Embedded Software Development Tool Suite for Intel® Atom™ Processor Identify Performance optimization optimize your opportunities Thread Specific Run code for IA Control & Thread Kernel debug; Grouping On-Chip trace & SMP run control Intel® Intel® Intel® Intel® Intel® C++ Compiler Integrated Performance VTune™ Application JTAG Support Amplifier XE Debugger Debugger Primitives for the Yocto Linux* Operating System Support Project JTAG I/F Intel® Atom™ Processor Broad Processor coverage CE4xxx, Z6xx, E6xx, Nxx Target OS: Linux*; series Tizen* A comprehensive Suite of Tools for Embedded Development, Analysis and System Debugging http://software.intel.com/en-us/articles/intel-tools-for-intel-atom-processors/ 8
  • 9. Intel Academic Community Share educational resources to take advantage of next-generation technologies. http://software.intel.com/en-us/academic There are tool licenses with special prices for Universities: http://software.intel.com/en-us/articles/intel-education-offerings and 30-day evaluation licenses: http://software.intel.com/en-us/articles/intel-software-evaluation-center/
  • 10. A Few Benefits of The Yocto Project* • One common Linux* OS for all major architectures • Just change one line in a config file and rebuild • Easy transition to a commercial embedded Linux • Build a complete Linux system in about an hour from pre-compiled sources (about 90 minutes with X) – quick start • Start with a validated collection of packages • Access to a great collection of app developer tools (performance, debug, power analysis, Eclipse*) • Use Kernel development tools to manage patches • Access to interaction with the Embedded Open Community 10
  • 11. Developing in Linux is easy* Warning! Things beyond this point might get difficult! http://en.wikipedia.org/wiki/Apollo_Command/Service_Module
  • 12. Yocto Project* Build System Overview Poky = BitBake + metadata Poky – build system used by the Yocto Project* BitBake – a task executor and scheduler Metadata – task definitions • Configuration (.conf) – global definitions of variables • Classes (.bbclass) – encapsulation and inheritance of build logic, packaging, etc. • Recipes (.bb) – the logical units of software/images to build 12
  • 13. YP = Poky + Upstreams + Tools Poky OpenEmbedded-Core Bitbake Build system upstream components Yocto Documentation Poky Meta-Yocto Reference Images Reference BSP Upstream Metadata (one per arch) Prebuilt Build State Yocto Project Software Software Releases components Projects ADT Tools (Eclipse Plugin) ADT Components Yocto Project Pseudo Swabber Yocto Project Output Embedded Kernel Tools YP provides best of upstream for a stable base
  • 14. Key Concepts • The Yocto Project* provides tools and metadata for creating custom Linux* images • These images are created from a repository of „baked‟ recipes • A recipe is a set of instructions for building packages, including: • Where to obtain the upstream sources and which patches to apply • Dependencies (on libraries or other recipes) • Configuration/compilation options • Define what files go into what output packages 14
  • 16. Quick Start Guide in a Slide Obtain our sources: Download poky-danny-8.0.tar.bz2 $tar xjf poky-danny-8.0.tar.bz2 $cd poky-danny-8.0 Build a Linux* image: $source oe-init-build-env $MACHINE=qemux86 bitbake core-image-minimal some time passes Run the image under emulation: $runqemu qemux86 http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 16
  • 17. Poky Directory Tree Map • bitbake: the BitBake utility itself • documentation: documentation sources • scripts: various support scripts (e.g, runqemu) • meta/conf: important configuration files, bitbake.conf, reference distro config, machine configs for qemu architectures • meta/classes: BitBake classes • meta/recipes-<xyz>: recipes 17
  • 18. Configuration • Configuration (*.conf) – global definition of variables • build/conf/local.conf • (local user-defined variables) • meta/conf/distro/poky.conf • (Yocto policy config variables) • machine/routerstationpro.conf • (machine-specific variables)
  • 19. User Configuration • User configuration: • conf/local.conf – some things to set: • Set BB_NUMBER_THREADS and PARALLEL_MAKE, based on the number of threads in the machine • Set MACHINE=“foo” for the CPU architecture • EXTRA_IMAGE_FEATURES adds features (groups of packages) • INCOMPATIBLE_LICENSE = “GPLv3” eliminates packages using this license (for example)
  • 20. Recipes & Metadata • Metadata and patches: • Recipes for building packages • Eg, meta/recipes- core/coreutils/coreutils_6.9.bb builds the core utilities (version 6.9) and installs them • meta-recipes-core/coreutils/coreutils-6.9/ includes patches, also could include extra files to install
  • 21. Recipes In-Depth Agenda • Example Recipe: ethtool • Standard Recipe Build Steps 21
  • 22. Example Recipe – ethtool_2.6.36.bb SUMMARY = "Display or change ethernet card settings" DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." HOMEPAGE = "http://sourceforge.net/projects/gkernel/" LICENSE = "GPLv2+" SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool- ${PV}.tar.gz" inherit autotools 22
  • 23. Standard Recipe Build Steps • Building recipes involves executing the following functions, which can be overridden when needed for customizations • do_fetch • do_unpack • do_patch • do_configure • do_compile • do_install • do_package 23
  • 24. Examining Recipes meta/recipes-extended/bc/ • Uses LIC_FILES_CHKSUM and SRC_URI checksums • Note the DEPENDS declaration meta/recipes-core/psplash/ • Uses SVN for sources • Sets up an init service meta/recipes-multimedia/flac/ • Includes custom source patches • Customizes autoconf configure options • Breaks up output into multiple binary packages 24
  • 25. Source Fetching • Recipes call out location of all sources, whether on the internet or local (Look for SRC_URI in *.bb files) • Bitbake can get sources from git, svn, bzr, from tarballs, and many, many more* • Versions of packages can be fixed or updated automatically (Add SRCREV_pn- PN = "${AUTOREV}” to local.conf) • Yocto Project sources mirror available as a fallback, if the sources move on the internet * Complete list includes: http, ftp, https, git, svn, perforce, mercurial, bzr, cvs, osc, repo, ssh, and svk and the unpacker can cope with tarballs, zip, rar, xz, gz, bz2, and so on.
  • 26. Patching • Once sources are obtained, the patches are applied • This is a good place place to patch the software yourself • However, we encourage you to contribute development upstream whenever possible (we try to)
  • 27. Packaging • Once configure/compile/install is completed, packaging commences • The most popular package formats are supported: RPM, Debian, and ipk • Set PACKAGE_CLASSES in conf/local.conf • You can split into multiple packages using PACKAGES and FILES in a *.bb file: PACKAGES =+ "sxpm cxpm" FILES_cxpm = "${bindir}/cxpm" FILES_sxpm = "${bindir}/sxpm"
  • 28. Image Generation • Images are constructed using the packages built earlier in the process • Uses for these images: • Live Image to boot a device • Root filesystem for QEMU emulator • Sysroot for App development YP lets you customize your embedded Linux OS
  • 29. Layers Agenda • Introduction to Layers • Stacking Customizations • Adding Layers • Board Support Packages • Example machine configuration • Kernel configuration 29
  • 30. Layers • The Yocto Project* build system is composed of layers • A layer is a logical collection of recipes representing the core, a Board Support Package (BSP), or an application stack • All layers have a priority and can override policy and config settings of the layers beneath it 30
  • 32. Using Layers • Layers are added to your build by editing the build/conf/bblayers.conf file: BBLAYERS = " /data/poky/meta # core system /data/poky/meta-yocto # yocto config and recipes /data/meta-skynet # my customization layer " 32
  • 33. How Does It Work? Layers
  • 34. Board Support Packages • BSPs are layers to enable support for specific hardware platforms • Defines machine configuration for the “board” • Adds machine-specific recipes and customizations – Kernel config – Graphics drivers (e.g, Xorg) – Additional recipes to support hardware features 34
  • 35. Example Machine Configuration TARGET_ARCH = "x86_64“ MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86” KERNEL_IMAGETYPE = "bzImage" PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto" PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim" PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" XSERVER ?= "xserver-xf86-dri-lite xf86-input-mouse xf86-input-keyboard xf86-video-intel" MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts" GUI_MACHINE_CLASS = "bigscreen" IMAGE_ROOTFS_SIZE_ext3 = "2000000" IMAGE_FSTYPES ?= "ext3 cpio.gz" MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "grub" PREFERRED_VERSION_grub ?= "1.98" SRCREV_machine_pn-linux-yocto_sugarbay ?= "41ec30ddc42912fe4e8f9" SRCREV_meta_pn-linux-yocto_sugarbay ?= "5a32d7fe3b83d743903685ae" 35
  • 36. Kernel Customization • You can define a full kernel configuration set (defconfig) or use kernel configuration “fragments” • Add a kernel configuration fragment (.cfg) to your layer • These include standard Linux* Kconfig values and are inserted into the generated defconfig • Add a linux-yocto.bbappend recipe to your layer which includes your config file(s) 36
  • 37. Adding E1000 Drivers • meta-talk/recipes-kernel/linux-yocto/netdev.cfg: CONFIG_NETDEV_1000=y CONFIG_E1000E=y • meta-talk/recipes-kernel/linux-yocto_git.bbappend: SRC_URI_append = “file://netdev.cfg” 37
  • 38. Images Agenda • Introduction to Images • Example Image: my-nas-image.bb • Booting an Image Under Emulation 38
  • 39. Images • Specify which packages to install – List individual package names and/or: – Set the IMAGE_FEATURES variable, which maps collections of packages (defined in task recipes) to named functionality, e.g, “apps-console-core package-management” • Define commands to be run on the generated rootfs (e.g, installing configuration files into /etc) • Built images are saved to build/tmp/deploy/images/ 39
  • 40. Example Image – my-nas-image.bb IMAGE_FEATURES += "nfs-server apps-console-core package-management" inherit poky-image SRC_URI = "file://fstab # These files will be installed after the file://exports” # rootfs is generated, see below ROOTFS_POSTPROCESS_COMMAND += "setup_target_image ; " setup_target_image() { # install configuration files install -m 0644 ${WORKDIR}/fstab ${IMAGE_ROOTFS}/etc/fstab install -m 0644 ${WORKDIR}/exports ${IMAGE_ROOTFS}/etc/exports # etc etc } 40
  • 41. Yocto Project* ADT • Yocto Project* Application Development Toolkit • Setup target system development environment on the host machine based on sysroot concept • GNU cross-development toolchain of build, packaging, and debug • Development headers and libraries • Sysroot represents target device root file system • Optimized for use with Autotools • For autotool-enabled packages just pass host options to configure • For other projects should ensure the cross tools are used 41
  • 42. Yocto Project* ADT (Cont.) • Yocto Application Development Toolkit • Use hardware as development targets - Qemu with GL pass-through • User mode NFS support • Allow emulator and host access the file system at same time • Update packages on running systems and sysroot • ADT installer, Eclipse plug-in and user space tool suite Allow software and hardware development to happen in parallel 42
  • 43. ADT Generation • Cross toolchain and installation script generated. • This can be used to set up an application developer‟s cross development environment to create apps • MACHINE=qemuarm bitbake poky- image-sato-sdk meta-toolchain package-index • QEMU built for target architecture emulation
  • 44. Using Emulation • Yocto uses QEMU, which supports all major architectures: x86(-64), arm, mips, ppc • Simply set MACHINE=qemux86 in local.conf and build your image • runqemu script is used to boot the image with QEMU – it auto-detects as much as possible: runqemu qemux86 44
  • 45. Embedded Software Development • Embedded products are highly customized to provide special functions • Quickly roll out new applications that utilize unique hardware features • Embedded platforms needs • Run time supporting system • Application development • Product-focused toolchain and development platform are essential for embedded software development 45
  • 46. Eclipse Plugin The Eclipse IDE Plug-in integrates the functionality of the Yocto Project Application Development Toolkit (ADT) and toolchain into the Eclipse IDE, allowing its users direct access to their capabilities: • Crosscompiling • Deploying • Debugging • Emulation • Profiling • Tracing • Collection of Power, Latency and Performance data http://www.yoctoproject.org/docs/current/adt-manual/adt-manual.html
  • 48. HOB Hob is a graphical user interface for BitBake. Its primary goal is to enable a user to perform common tasks more easily. • Modify existing images • Create custom images • Save customized images as templates • Build images • Run images in the QEMU emulator • Deploy images to a USB disk for live-booting on a target device 48
  • 49. HOB 49
  • 50. HOB 50
  • 51. HOB 51
  • 52. HOB 52
  • 53. HOB 53
  • 54. HOB 54
  • 55. HOB 55
  • 56. HOB 56
  • 57. HOB 57
  • 58. HOB 58
  • 59. Project Resources • The Yocto Project* is an open source project, and aims to deliver an open standard for the embedded Linux* community and industry • Development is done in the open through public mailing lists: openembedded-core@lists.openembedded.org, poky@yoctoproject.org and yocto@yoctoproject.org • And public code repositories: http://git.yoctoproject.org and http://git.openembedded.net • Bug reports and feature requests: http://bugzilla.yoctoproject.org 59
  • 60. Q&A 60

Editor's Notes

  1. Manually adjust the transparent blue boxes once the headline has been entered
  2. I’m sure you’re asking what is the Yocto Project and if you already Google’d “Yocto” you found out that it’s “a is a prefix in the metric system denoting a factor of 10−24” In this context, however, Yocto Project is a Linux Open Source build environment especially tailored for embedded distributions. The Yocto Project delivers a set of tools, services, and information which can be used to create a CUSTOMIZED Linux for any embedded device. The Yocto Project consists of a website with full documentation catering to the “new user”, the Poky build system at its core based on the OpenEmbedded architecture, provides cross build tools, an agnostic packaging system (rpm, deb, ipk), and an app developer SDK generator + Eclipse There are three main components the Yocto Project provides: x-Architecture: The Yocto Project extends Poky’s capabilities by providing extensively tested and up-to-date metadata for the Yocto Project kernel and for three build profiles: minimal, sato and LSB builds. Each of these includes tested and validated metadata for libraries, tools, and applications for building on multiple architectures, including x86 (32 and 64), ARM, PPC, and MIPS.  BSP: Additionally, some tested board support packages (in a de facto standard format) are included with the source recipes and their resulting Yocto Project reference runtime images. SDK : Finally, the Yocto Project tools automatically create an Software or Application Developer Kit (SDK with Eclipse and Anjuta Plug-ins available), which can be used to develop applications suitable for use with that particular custom runtime image. And of major importance, partner discussions and meetings underway for wide range industry support for the project, it’s formats, code base and tools to reduce the Linux fragmentation in the embedded industry. Commercial OS’s can be based on the Yocto Project Kernel.Silicon vendors would supply HW BSP’s
  3. Kernel1.1: 3.0.1Stable: 2.6.37
  4. A tool suite for application and system development. This provides a lot of processor-specific features, that need updates with every new processor. JTAG I/F is required to use it, currently available form Macraigor.Features of v2.2 update 2: New GUI for the application and JTAG debugger Additional support for new platforms and flash types in IDB-JTAG Intel® VTune™ Amplifier XE Update 2 which includes SEP v3.4 EBS (data sampling) on ATOM™ targets Analysis of data sampled with SEP on target (remotely) - no sampling on development host Hotspot/Concurreny/L&amp;W analysis on the host work as no HW counters are involved
  5. Universities can have our Software for educational purposes by accessing to our grants at the Intel Academic Community.We offer “grants” that allow the professors to “buy” our software tools. We also have big discounts for multiple-seats licenses to be used in Universities.You can also download our tools for a 30-day trial period.The Intel Academic Community not only allows access to the software tools, but also gives you a community to share knowledge about teaching/learning parallel programming: you can download/upload course material, access to a Many-Core Test Lab, participate in contests, publish/read blogs, get help to create/update parallel programming courses.
  6. Using Poky, essentially, one command can generate both a toolchain and matching rootfs imageRun “bitbake qemux86 poky-image-sato-sdk meta-toolchainpackageindex”These are generated by Poky build system based on the target metadata configuration
  7. Allows board vendor to bundle product-focused toolchain, tools and development platform in the bundle with Board Support Package (BSP)s.