Yocto GENIVI Baseline – Overview

Yocto GENIVI Baseline – Overview

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 | © 2013 Wind River. All Rights Reserved. History Revisited GENIVI Baseline Horizon 2014 Gemini Foton 2013 Excalibur Discovery 2012 Cassini Borg Apollo2011 20101.0 GENIVI Alliance est. March 2009 2009 K2 A-Sample BMW, Intel, Wind River, MM K2 6.2 2008 3 | © 2013 Wind River. All Rights Reserved. History Revisited GENIVI Baseline The Yocto Project Horizon 2014 2014 Gemini Foton 2013 2013 Excalibur Discovery 2012 2012 Cassini Borg The Yocto Project announced March 2011 Apollo2011 2011 20101.0 GENIVI Alliance est. March 2009 2009 K2 A-Sample K2 6.2 2008 4 | © 2013 Wind River. All Rights Reserved. History Revisited GENIVI Baseline meta-ivi The Yocto Project Horizon 6.0 1.6 2014 2014 2014 5.0 (Gemini) 5.0 1.5 (dora) 4.0 (Foton) 4.0 1.4 (dylan) 2013 2013 2013 3.0 (Excalibur) 3.0 1.3 (danny) 2.0 (Discovery) denzil 1.2 (denzil) 2012 meta-ivi layer 2012 2012 Cassini est. April 2012 1.0 (Borg) The Yocto Project announced March 2011 Apollo2011 2011 20101.0 GENIVI Alliance est. March 2009 2009 K2 A-Sample K2 6.2 2008 5 | © 2013 Wind River. All Rights Reserved. History Revisited GENIVI Baseline meta-ivi The Yocto Project Horizon 6.0 1.6 2014 2014 2014 5.0 (Gemini) 5.0 1.5 (dora) Yocto GENIVI Baseline July 2013 4.0 (Foton) 4.0 1.4 (dylan) 2013 2013 2013 GENIVI OSS Projects 3.0 (Excalibur) 3.0 1.3 (danny) ALS 2012, September 2012 2.0 (Discovery) denzil 1.2 (denzil) 2012 meta-ivi layer 2012 2012 Cassini est. April 2012 1.0 (Borg) The Yocto Project announced March 2011 Apollo2011 2011 20101.0 GENIVI Alliance est. March 2009 2009 K2 A-Sample K2 6.2 2008 6 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. Yocto GENIVI Baseline – Building Blocks multimedia multimedia connectivity graphics graphics gnome devtools connectivity extended support extended kernel core support Poky meta-ivi 10 | © 2013 Wind River. All Rights Reserved. Building Blocks – Poky (kernel + core) kernel multimedia • kmod • linux-yocto connectivity graphics core gnome devtools • base-files • libxml2 • base-passwd • ncurses • busybox • netbase extended support • coreutils • readline • dbus • systemd / udev kernel core • eglibc • util-linux • expat • glib-2.0 Poky • kbd 11 | © 2013 Wind River. All Rights Reserved. Building Blocks – Poky (support+extended) support • acl • libgpg-error multimedia • attr • libnl • beecrypt • libpcre • curl • libtasn1 connectivity graphics • db • libusb1 • gnutls • libusb-compat • icu • popt gnome devtools • libcap • sqlite3 • libgcrypt • xuser-account extended support extended kernel core • iptables • libpam Poky • procps • quota • shadow 12 | © 2013 Wind River. All Rights Reserved. Building Blocks – Poky (devtools + gnome) devtools • e2fsprogs multimedia • elfutils • file • gcc-runtime connectivity graphics • libgcc • libjson • ossp-uuid gnome devtools • python-smartpm • rpm extended support gnome kernel core • libffi Poky 13 | © 2013 Wind River. All Rights Reserved. Building Blocks – Poky (connect.+graphics) connectivity • avahi multimedia • bluez • connman • ofono connectivity graphics • openssl • wireless-tools • wpa-supplicant gnome devtools graphics extended support • cairo • xorg-driver • drm • xorg-font kernel core • fontconfig • xorg-lib • freetype • xorg-proto • mesa • xorg-xserver Poky • wayland • xcb • xorg-app 14 | © 2013 Wind River. All Rights Reserved. Building Blocks – Poky (multimedia) multimedia • alsa multimedia • gstreamer • libsamplerate • libsndfile connectivity graphics • pulseaudio • speex gnome devtools extended support kernel core Poky 15 | © 2013 Wind River. All Rights Reserved. Building Blocks – meta-ivi distro/poky-ivi-systemd.conf gemini-image audiomanager layer-management obexd multimedia common-api graphics dlt-daemon node-startup-controller connectivity node-state-manager extended ecryptfs-utils support fuse keyutils meta-ivi GENIVI OSS Projects libical 16 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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 | © 2013 Wind River. All Rights Reserved. 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/recipes- yocto-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 | © 2013 Wind River. All Rights Reserved. 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:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us