The Yocto GENIVI Baseline Overview. Automotive Linux Summit, Fall 2013 Holger Behrens, Wind River Automotive Solutions

Similar documents
KHEM RAJ YOCTO PROJECT/OPEN EMBEDDED

Yocto Overview. Dexuan Cui Intel Corporation

NFV in the Embedded World: Yocto Project and OpenStack

Customizing with Yocto. Dexuan Cui Intel Corporation

Customizing the Yocto-Based Linux Distribution for Production

Yocto Project: A Vehicle for Embedded Qt Development

Building RT image with Yocto

CGA4131TCH. v1.0. Open Source Report. This document aims to describe the Open Source Software which are embedded in product CGA4131TCH

CGA4233VDF. v1.0. Open Source Report. This document aims to describe the Open Source Software which are embedded in product CGA4233VDF

Controlling Software Environments with GNU Guix

Deby - Reproducible and Maintainable Embedded Linux Environment with Poky

Meeting the Yocto Project

Dandified way to package management in Yocto Project

GENIVI Korea Summit 2013 Compliance Program & Works with GENIVI

Introduction to the Yocto Project

CGM4141COX (XB6) v1.0. Open Source Report. This document aims to describe the Open Source Software which are embedded in product CGM4141COX (XB6)

Contributing to Automotive Grade Linux and GENIVI Development Platform

Introduction to the Yocto Project. Developer s perspective

Delivering Predictability: The Yocto Project Autobuilder, Automated Sanity Testing, License Collection, and Build Statistics Tracking

Prototyping IoT with. Pierre Ficheux 02/2017. Prototyping IoT with Yocto

YumaPro Yocto Linux Quickstart Guide

Using the Yocto Autobuilder for Build and Release Management. Jate Sujjavanich Syntech Systems, Inc <jatedev -at- gmail.com> February 22, 2016

Poky-tiny and Beyond, or Trying to put the Yocto in Yocto Project. Scott Murray

Digi Embedded Yocto 1.6. First Steps Guide

GNU Guix is 4 years old!

Build your smart device with Tizen-micro by using yocto in only one day. Biao Lu Austin Zhang

User Guide Yocto Linux. Board Support Package For Intel Quark

Tizen IVI Architecture New features

RZ/G Verified Linux Package V2.1.0-RT

Intel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet

The Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets

Reproducible Software Deployment with GNU Guix

Building Debian-Based Products: Experiences in Collaboration

Tizen IVI Architecture New features. Dominig ar Foll, Intel Open Source

T I Z E N Ve r 2. 3 O v e r v i e w Open Source Project

Building Container Images with OpenEmbedded and the Yocto Project. Scott Murray

Building a Remote Control Robot with Automotive Grade Linux

MANAGING THE CAR CLOUD CONNECTION.

Poky Linux & OpenEmbedded based environment

Lightweight virtualization with GoboLinux Runner

Yocto and IoT A retrospective. Maciej Borzęcki FOSDEM 2016

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Intel Do-It-Yourself Challenge Rebuild (with) Yocto Nicolas Vailliet

Mango-IMX6Q Yocto Project Source 다운로드및소스추출 방법

Richard Purdie, Chris Larson, and Phil Blundell, BitBake Community

Why OpenEmbedded proved a good foundation for MontaVista. Cedric Hombourger Solutions & Services Architect

Third party software. 1. node.js. 2. node.js apps. 3. Node-RED

CE Workgroup Shared Embedded Linux Distribution Project

Yocto Project and OpenEmbedded Training

OpenEmbedded in the Real World

SPDX with Yocto Project

D1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.

Yocto Project components

IoT usecase for Yocto Project

meta-raspberrypi Documentation

AN APPROACH TO DELIVER HARDWARE - DEPENDENT PACKAGES IN ORDER TO REDUCE EFFORT OF UPDATING AGL DISTRIBUTION IMAGES

Cisco WAE Release System Requirements

Creating a profile from Tizen:Common. Stéphane Desneux Senior Software Engineer Eurogiciel

It s not an embedded Linux distribution It creates a custom one for you. David Stewart Intel Corporation April 11, 2011

RED HAT ENTERPRISE LINUX 7: APPLICATION COMPATIBILITY GUIDE

Richard Purdie, Chris Larson, and Phil Blundell, BitBake Community

Industrial-grade Open Source Base Layer. Yoshitake Kobayashi, Toshiba Corporation Embedded Linux Conference North America, March 12-14, 2018

Continuous Integration of an Operating System in Kubernetes. Stef Walter Red Hat

Introducing the Civil Infrastructure Platform. Jan Kiszka and Yoshitake Kobayashi LinuxCon Japan, July, 2016

Civil Infrastructure Platform : Industrial Grade SLTS Kernel and Base-Layer Development

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

Buildroot: what s new?

Flatpak. Apps on the Linux desktop. Alexander Larsson Red Hat

Remote Access and Output Sharing Between Multiple ECUs for Automotive

Community preferred Renesas BSP Activity and How to use kingfisher on AGL

SDK. About the Cisco SDK. Installing the SDK. Procedure. This chapter contains the following sections:

Improving the Yocto Project Developer Experience. How New Tools Will Enable a Better Workflow October 2016 Henry Bruce

Integration of the Chromium. Browser in the GENIVI Platform

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Customize your Mainline or LTSI Linux Kernel using the Yocto Project

New Tizen Bluetooth Framework

Isar. Build Debian-Based Products with BitBake. Baurzhan Ismagulov. Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany

The New Approach to Embedded Linux Development Marco Beardo FAE

Building Embedded Linux images for VEST Development Platforms using Yocto

D1Y - Embedded Linux with Yocto

Building Intel Atom E3800 Processor Development Kit Yocto Project* Board Support Package (BSP)

The Architecture of the GNUnet: 45 Subsystems in 45 Minutes

Version: Last Update:

Industrial-grade Open Source Base Layer Development

WORKING WITH THE LINUX KERNEL IN THE YOCTO PROJECT SEAN HUDSON EMBEDDED LINUX ARCHITECT

Updated RPMs and Security Fixes

i.mx 6 Yocto Project Patch Release Notes

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Industrial-grade Open Source Base Layer Development

Tizen Framework (Tizen Ver. 2.3)

Yocto Project internal tools

The Hydra/Nix Approach to Continuous Integration

Tizen Introduction. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.

meta-raspberrypi Documentation

Open Source Software License Declaration Requirements for the Dialog oven.

StoreEver LTO-7 Tape Drive Open Source Software Release Notes

The meta-virtualization layer of OpenEmbedded

AGL/Phase 2 - Pulse Audio Routing Module

RealPresence Collaboration Server (RMX)

Tool installation for PMC-MC-X2/X4 with P2020 series processor

Transcription:

The Yocto GENIVI Baseline Overview Automotive Linux Summit, Fall 2013 Holger Behrens, Wind River Automotive Solutions

Abstract The Yocto GENIVI Baseline, a public project of the GENIVI Alliance, based on the Yocto Projects layer for In-Vehicle Infotainment, meta-ivi and the Yocto Projects reference system Poky. meta-ivi contains specific metadata to define tasks to build a Yocto GENIVI Baseline image for either ARMv7a, IA-32, or a x86-64 QEMU machine, systemd specific distribution data sets, and the additional package meta data needed to turn the Yocto Projects reference system Poky into GENIVI compliant system. This presentation gives an overview of the building block used by the GENIVI Alliance to create a software baseline that complies to its latest specification. 2

History Revisited GENIVI Baseline Horizon 2014 Gemini GENIVI Alliance est. March 2009 2009 K2 6.2 2008 1.0 2011 2010 K2 A-Sample 2013 2012 Cassini Borg Apollo Foton Excalibur Discovery BMW, Intel, Wind River, MM 3

History Revisited GENIVI Baseline Horizon 2014 Gemini The Yocto Project 2014 Foton 2013 Excalibur 2013 2012 Cassini Borg 2011 Apollo Discovery The Yocto Project announced March 2011 2012 2011 GENIVI Alliance est. March 2009 1.0 2010 2009 K2 A-Sample K2 6.2 2008 4

History Revisited GENIVI Baseline Horizon 2014 5.0 (Gemini) meta-ivi 2014 5.0 6.0 The Yocto Project 1.6 2014 1.5 (dora) 4.0 (Foton) 2013 3.0 (Excalibur) 4.0 2013 3.0 1.4 (dylan) 2013 1.3 (danny) 2.0 (Discovery) 2012 Cassini meta-ivi layer est. April 2012 denzil 2012 1.2 (denzil) 2012 1.0 (Borg) 2011 Apollo The Yocto Project announced March 2011 2011 GENIVI Alliance est. March 2009 1.0 2010 2009 K2 A-Sample K2 6.2 2008 5

History Revisited GENIVI Baseline Yocto GENIVI Baseline July 2013 GENIVI OSS Projects ALS 2012, September 2012 2012 Cassini 2011 2013 1.0 (Borg) Apollo Horizon 2014 5.0 (Gemini) 4.0 (Foton) 3.0 (Excalibur) 2.0 (Discovery) meta-ivi layer est. April 2012 meta-ivi 4.0 2013 3.0 denzil 2012 2014 5.0 6.0 The Yocto Project announced March 2011 The Yocto Project 2012 2011 1.6 2014 1.5 (dora) 1.4 (dylan) 2013 1.3 (danny) 1.2 (denzil) GENIVI Alliance est. March 2009 1.0 2010 2009 K2 A-Sample K2 6.2 2008 6

About Yocto GENIVI Baseline The meta-ivi based Yocto GENIVI Baseline is a GENIVI compliant Linux distribution for a variety of embedded devices. The meta-ivi project aligns itself with The Yocto Project, and the distribution is the result of making the Yocto Project reference system Poky GENIVI compliant. The Yocto Project is a Linux Foundation workgroup whose goal is to produce tools and processes that will enable the creation of Linux distributions for embedded software that are independent of the underlying architecture of the embedded software itself. The Yocto Project is an open source project whose focus is on improving the software development process for embedded Linux distributions. The Yocto Project provides interoperable tools, metadata, and processes that enable the rapid, repeatable development of Linux-based embedded systems. 7

Yocto GENIVI Basline Inputs Yocto Project 1.5 Poky 10.0 URI: git://git.yoctoproject.org/poky branch: dora Collection of software related to In-Vehicle Infotainment systems meta-ivi layer URI: git://git.yoctoproject.org/meta-ivi branch: 5.0 8

Supported Machines We do smoke test the builds of the three machines that we currently support: QEMU (ARMv7) emulated machine: vexpressa9 QEMU (IA-32) emulated machine: qemux86 QEMU (x86-64) emulated machine: qemux86-64 Please check the Yocto GENIVI Baseline wiki regarding any community supported machines. 9

Yocto GENIVI Baseline Building Blocks multimedia multimedia connectivity graphics graphics gnome devtools connectivity extended kernel support core extended support Poky meta-ivi 10

Building Blocks Poky (kernel + core) kernel multimedia kmod linux-yocto connectivity graphics core gnome extended kernel Poky devtools support core base-files base-passwd busybox coreutils dbus eglibc expat glib-2.0 kbd libxml2 ncurses netbase readline systemd / udev util-linux 11

Building Blocks Poky (support+extended) support multimedia connectivity gnome extended graphics devtools support acl attr beecrypt curl db gnutls icu libcap libgcrypt extended libgpg-error libnl libpcre libtasn1 libusb1 libusb-compat popt sqlite3 xuser-account kernel Poky core iptables libpam procps quota shadow 12

Building Blocks Poky (devtools + gnome) devtools multimedia connectivity gnome extended kernel Poky graphics devtools support core e2fsprogs elfutils file gcc-runtime libgcc libjson ossp-uuid python-smartpm rpm gnome libffi 13

Building Blocks Poky (connect.+graphics) connectivity multimedia connectivity gnome extended kernel Poky graphics devtools support core avahi bluez connman ofono openssl wireless-tools wpa-supplicant graphics cairo drm fontconfig freetype mesa wayland xcb xorg-app xorg-driver xorg-font xorg-lib xorg-proto xorg-xserver 14

Building Blocks Poky (multimedia) multimedia multimedia connectivity gnome graphics devtools alsa gstreamer libsamplerate libsndfile pulseaudio speex extended support kernel core Poky 15

Building Blocks meta-ivi audiomanager distro/poky-ivi-systemd.conf gemini-image layer-management obexd common-api dlt-daemon node-startup-controller node-state-manager ecryptfs-utils fuse keyutils multimedia graphics connectivity extended support meta-ivi GENIVI OSS Projects libical 16

Setup Build Environment mkdir $HOME/yocto-genivi-baseline cd $HOME/yocto-genivi-baseline git clone git://git.yoctoproject.org/poky cd poky; git checkout dora; cd - git clone git://git.yoctoproject.org/meta-ivi cd meta-ivi; git checkout 5.0; cd source poky/oe-init-build-env $EDITOR conf/bblayers.conf $EDITOR conf/local.conf 17

Setup Build Environment local.conf Add to the end of the file (conf/local.conf) INCOMPATIBLE_LICENSE = "GPLv3" DISTRO = "poky-ivi-systemd" BB_NUMBER_THREADS = 8" PARALLEL_MAKE = "-j 8" #MACHINE = "vexpressa9" #MACHINE = "qemux86-64" MACHINE = "qemux86" 18

Setup Build Environment bblayers.conf Add the meta-ivi and meta-ivi-bsp path to the $BUILDDIR/conf/bblayers.conf BBLAYERS variable. # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly LCONF_VERSION = "6" BBPATH = "${TOPDIR}" BBFILES?= "" BBLAYERS?= " \ /var/lib/jenkins/yocto-genivi-baseline/poky/meta \ /var/lib/jenkins/yocto-genivi-baseline/poky/meta-yocto \ /var/lib/jenkins/yocto-genivi-baseline/poky/meta-yocto-bsp \ /var/lib/jenkins/yocto-genivi-baseline/meta-ivi \ /var/lib/jenkins/yocto-genivi-baseline/meta-ivi/meta-ivi-bsp \ " BBLAYERS_NON_REMOVABLE?= " \ /var/lib/jenkins/yocto-genivi-baseline/poky/meta \ /var/lib/jenkins/yocto-genivi-baseline/poky/meta-yocto \ " 19

Build Yocto GENIVI Basline Image Build gemini-image including GENIVI 5.0 (Gemini) components bitbake gemini-image Depending on your internet connection (most all of the sources are downloaded), and the configuration of your build machine, this make take time. https://wiki.yoctoproject.org/wiki/build_performance 20

Parsing recipes...done. Parsing of 877.bb files complete (0 cached, 877 parsed). 1207 targets, 78 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.20.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-12.04" TARGET_SYS = "i586-poky-linux" MACHINE = "qemux86" DISTRO = "poky-ivi-systemd" DISTRO_VERSION = "5.0.0" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp = "dora:4d8ab87d25ea6e59dc88375813ef88ee0ac813d0" meta-ivi meta-ivi-bsp = "5.0:a18d27d3716706dcf036f88acce96900bc0641b8" NOTE: Preparing runqueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks [ ] NOTE: recipe gemini-image-5.0.0-r0: task do_populate_lic: Started NOTE: recipe gemini-image-5.0.0-r0: task do_rootfs: Started NOTE: recipe gemini-image-5.0.0-r0: task do_populate_lic: Succeeded NOTE: recipe gemini-image-5.0.0-r0: task do_rootfs: Succeeded NOTE: Running noexec task 4099 of 4099 (ID: 12, /var/lib/jenkins/yocto-genivi-baseline/meta-ivi/recipesyocto-ivi/images/gemini-image.bb, do_build) NOTE: Tasks Summary: Attempted 4099 tasks of which 342 didn't need to be rerun and all succeeded. Summary: There were 3 WARNING messages shown. 21

Yocto GENIVI Baseline Run Emulator QEMU (ARMv7) emulated machine: vexpressa9 $HOME/yocto-genivi-baseline/meta-ivi/scripts/runqemu \ gemini-image vexpressa9 QEMU (IA-32) emulated machine: qemux86 $HOME/yocto-genivi-baseline/poky/scripts/runqemu \ gemini-image qemux86 QEMU (x86-64) emulated machine: qemux86-64 $HOME/yocto-genivi-baseline/poky/scripts/runqemu \ gemini-image qemux86-64 22

Questions? 23

Thank you! contact info Holger Behrens holger.behrens@windriver.com @hbrns 24

References 1. https://projects.genivi.org/ 2. https://projects.genivi.org/genivi_baselines/meta-ivi 3. https://git.yoctoproject.org/cgit/cgit.cgi/meta-ivi/ 4. https://wiki.yoctoproject.org/wiki/releases 5. https://www.yoctoproject.org/about 6. https://git.yoctoproject.org/cgit/cgit.cgi/poky/ 7. https://www.yoctoproject.org/ecosystem/compliance-program-registrar 25