Connected Bringing to your connected devices using the Yocto Project. - - PowerPoint PPT Presentation

connected bringing to your connected devices using the
SMART_READER_LITE
LIVE PREVIEW

Connected Bringing to your connected devices using the Yocto Project. - - PowerPoint PPT Presentation

Connected Bringing to your connected devices using the Yocto Project. Leon Anavi Philippe Coval Konsulko Group Samsung Open Source Group / SRUK leon.anavi@konsulko.com philippe.coval@osg.samsung.com leon@anavi.org 2016-01-31 FOSDEM 1


slide-1
SLIDE 1

1 2016-01-31 FOSDEM

https://wiki.tizen.org/wiki/Yocto

Connected

Bringing to your connected devices using the Yocto Project.

Philippe Coval Samsung Open Source Group / SRUK philippe.coval@osg.samsung.com Leon Anavi Konsulko Group leon.anavi@konsulko.com leon@anavi.org

slide-2
SLIDE 2

2

Agenda

  • Introduction to Tizen
  • Building Tizen using Yocto/OE
  • Connected device with IoTivity
  • Showcases
  • Contributing to Tizen
slide-3
SLIDE 3

3

Tizen

  • Free and open source software platform
  • Uses mainline Linux Kernel
  • Introduces a profile concept
  • Multiple architectures (32/64 bits, ARM/x86)
  • Cross graphics system (Wayland/X11)
  • Supports native applications (EFL)
  • r HTML5 web apps
slide-4
SLIDE 4

4

Tizen 3 Profiles

  • Tizen:Common
  • IVI (automotive)
  • Wearable
  • Mobile
  • TV
  • Micro (headless)
slide-5
SLIDE 5

5

How to build Tizen from scratch?

  • GBS (Git Build System)
  • Supported workflow : GBS, MIC …
  • Uses tizen Infra (OBS)
  • Yocto / OpenEmbedded (OE)
  • Alternative build system
  • Standalone
slide-6
SLIDE 6

6

The Yocto Project

 Linux foundation collaborative project

  • create custom Linux-based systems
  • for embedded devices
  • use OpenEmbedded framework
  • Industry & community support
slide-7
SLIDE 7

7

Tizen on Yocto

 Project which aims at

 building Tizen images  using the tools provided by the Yocto Project

 Tizen distribution layer (meta-tizen)

 for Yocto/OpenEmbedded

 Easy to setup for ARM or Intel

slide-8
SLIDE 8

8

Building Tizen Yocto/OE (1/3)

  • Download tizen-distro
  • Download meta layers:
  • with board support packages (BSP)
  • Initialize build environment

git clone git://review.tizen.org/scm/bb/tizen-distro cd tizen-distro source ./tizen-common-init-build-env build-common

slide-9
SLIDE 9

9

Building Tizen Yocto/OE (2/3)

  • Configure conf/local.conf
  • Add BSP meta layer(s) to conf/bblayers.conf

MACHINE ??= "intel-corei7-64" PARALLEL_MAKE ?= "-j 8" BB_NUMBER_THREADS ?= "8" ... ... BBLAYERS += ".../meta-${bsp}" BBLAYERS_NON_REMOVABLE += ".../meta-${bsp}"

slide-10
SLIDE 10

10

Building Tizen Yocto/OE (3/3)

  • Build an image using bitbake
  • Get some coffee…
  • Install the generated image from
  • tmp-glibc/deploy/images/${MACHINE}
slide-11
SLIDE 11

11

Connectivity

  • Interoperability, Cloud services : Convergence?
  • Provided by Tizen stack with High level APIs
  • Networking, Bluetooth, Telephony, NFC.
  • Based on FLOSS, Connman, wpa_s, Bluez, ofono (IVI)
  • Open to any other/future FLOSS technology
  • Hint : Use contrib repository
  • IoT: OIC's IoTivity…
slide-12
SLIDE 12

12

IoTivity

  • Reference implementation lib (C/C++, binding)
  • Standard: Open Interconnect Consortium (OIC)
  • FLOSS: Apache-2.0, Linux Foundation
  • Services: Interop, comm, discovery, sec, plugins…
  • Cross platform : Linux, Tizen, Android, Arduino…
  • Strategy: just add meta-oic layer
  • linux or tizen target OS : Kernel .config fragments

BBLAYERS += ".../meta-oic"

slide-13
SLIDE 13

13

Showcase

More live demos at booth (K)

slide-14
SLIDE 14

14

Raspberry Pi

  • Any Raspberry Pi model and versions
  • meta-raspberrypi BSP
  • + GPU/DRI patches
  • Initial porting efforts by Samsung OSG
  • Used as reference for Tizen:Micro
  • Demo : IoTivity phone controling fan
slide-15
SLIDE 15

15

Tizen phone controls RPI’s fan

Samsung Open Source Group FOSDEM 2016

slide-16
SLIDE 16

16

Kontron M2M device

  • Hardware: to embed in your car ?
  • Atom, 3G Modem, CAN, 6LowPAN, 12V
  • Support: BSP meta-intel / meta-fri2 (dizzy)
  • Strategy: IVI or Micro ?
  • Tizen:IVI : PVR GPU = SW Rendering on Wayland
  • Tizen:Micro : profile for headless
  • Demo : IoTivity observer that send SMS (ofono)
slide-17
SLIDE 17

17

Observe IoTivity resource by SMS

Samsung Open Source Group FOSDEM 2016

slide-18
SLIDE 18

18

HummingBoard (i.MX6 SoC)

  • Support:
  • BSP: meta-fsl-arm and meta-fsl-arm-extra
  • Features:
  • Hardware graphics acceleration for

Wayland/Weston

  • Standalone HTML5 applications
  • https://wiki.tizen.org/wiki/HummingBoard
slide-19
SLIDE 19

19

Challenges

  • Align meta-tizen
  • with newer releases of Yocto Project / T.Common
  • Support more hardware platforms
  • Support BSP = Extend community
  • SBCs: Odroids, Artik, RPI0, +MIPS...
  • Test and fix meta-tizen (gcc5, security fw, …)
  • Focus on Tizen:Micro (headless / IoT)
slide-20
SLIDE 20

20

Contributing to Tizen

  • Git / Gerrit
  • https://review.tizen.org/gerrit/
  • JIRA
  • https://bugs.tizen.org/
  • Mailing lists
  • https://www.tizen.org/community/mailing-lists
  • Live online
  • irc://irc.freenode.net/#tizen
slide-21
SLIDE 21

21

Contributing to Tizen on Yocto

  • tizen-distro layers:
  • bitbake, openembedded-core,
  • meta-openembedded, meta-qt5
  • meta-tizen:

git://git.tizen.org/scm/bb/meta-tizen

  • Combined using combo-layer script in:
  • git://git.tizen.org/scm/bb/tizen-distro
slide-22
SLIDE 22

22

Contributing to Tizen on Yocto

  • Exact steps:

https://wiki.tizen.org/wiki/\ How_to_contribute_to_Tizen_on_Yocto_Project

  • Any contributors welcome
  • File bugs in TY Section
  • Don't be shy, ask us for support
slide-23
SLIDE 23

23

Summary

  • Cooperation between Tizen and Yocto/OE
  • Flexibility:
  • Autonomous build system
  • Extensibility: Add any existing layer
  • For supporting new hardware
  • Or new IoT features like IoTivity (using meta-oic)
  • Open to contributions
slide-24
SLIDE 24

24

Resources:

  • https://wiki.tizen.org/wiki/Category:Yocto
  • https://wiki.iotivity.org/tizen
  • https://www.yoctoproject.org/documentation
  • https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto_Project
  • http://wiki.tizen.org/wiki/ARM
  • http://blogs.s-osg.org/category/tizen/
  • http://elinux.org/FRI
  • https://wiki.tizen.org/wiki/Tizen_Micro
slide-25
SLIDE 25

25

Q&A ?

slide-26
SLIDE 26

26 2016-01-31 FOSDEM https://wiki.tizen.org/wiki/Yocto

Thank You!

Samsung, Intel, Linux Foundation, JLR, Konsulko group, Eurogiciel/Intel bzh team, Olimex, Kontron, Atmel, Allwinner, Ingenic, SolidRun. Tizen, EFL, Yocto/OE, IoTivity contributors, Flaticons (CC BY 2.0), OSHW, FLOSS communities, FOSDEM team and volunteers...

slide-27
SLIDE 27

27

Demo Sources (WIP)

  • meta-yocto-demos
  • To stage changes, recipes and configurations
  • Helper to build images with simpler “make” call
  • Machines : rasberrypi2, odroidc1, …
  • Request your SBC to be supported
  • iotivity-example
  • Minimal client/server + mraa + integration files
slide-28
SLIDE 28

28

Hardware support & Devices

  • X86 / x86_64 (Generic) :
  • MinnowMAX (OSHW), Intel NUC, FRI2
  • Your PC?
  • ARM:
  • RaspberryPi (ARMv6 / ARMv7)
  • HummingBoard (i.MX6 SoC)