Prototyping on Oniro

Philippe Coval oniroproject.org #FIot21

ONIRO.svg

Who is Phil Coval

Agenda

  • My prototyper's background
  • Role of opensource for PoC
  • Overview of the Oniro project
  • Summary
  • Q&A

Background

  • 2000: 1st job at INRIA/IRISA (@TEMICS)
    • Engineer for research valorization
    • Demonstrator about hybrid 3D/Video
  • Then worked in R&D, startups and industry:
    • Software for products (mobile, CE, IoT)
    • based on OpenSource technologies
  • Hacked home or along local communities
    • DiY, WebOfTwins, Pincab, CampOSV

CampOSV 2020 demo

📺 📺 📺

Prototyping

  • Motivations
    • Test, evaluate a technology
      • Learn by doing
      • Identify blockers
  • Valorization
    • Proof of concept
    • Demos >>> Slideware
  • Often "Quick and Dirty"
    • Aggregate/Integrate existing parts
  • Focus on something specific

OpenSource

  • Reuse : Not reinvent the wheel (NIH)
  • Code, Doc, tools, hardware…
  • Community support, report issues
    • Show and Tell
    • Adjust to feedback
  • Contributing >>> Free riding
  • Licensing maters!

Limitations

  • Software is moving
    • Need to Catch up
      • Breakage will occur
  • Maintenance effort
    • Can be shared if opensource
  • Unsustainable strategy

Industrialization

  • Isolate "value"
    • Identify problem and bring the solution
    • Split work in smaller pieces
  • Upstream generic parts
    • into a sustainable platform
    • community will test, maintain it
      • and you're part of it !
  • Rebase on common base
    • Follow the flow: Update continuously

Sustainable platform

  • Open with healthy community
    • Open (and shared) governance
    • Upstream contributions
  • Developer friendly: Tools, Hardware…
  • Maintenance commitment
    • Long term support
    • IP, Security policies (CVE)
    • Reproducibility (Future)

share.png

The Oniro Project

  • An open source distributed operating system
    • targeting IoT devices
  • Defragment development for embedded sys:
    • Avoid technology silos
    • Unified tooling, common policies

Who is Oniro ?

  • An independent Eclipse Foundation project
    • led by a working group organization

      eclipse_foundation_logo_wo.png

  • Designed to be OpenHarmony compatible
    • OpenHarmony is led by the OpenAtom Foundation

Oniro platform

  • Based on solid opensource projects
    • Reuse what's best on the market
      • Fill gaps
    • Multiple Kernels (CPU, MCU)
  • Common Build system
    • bitbake from OE/Yocto
    • Point of convergence for many projects
  • Best practices: Legal, Security & Privacy

Oniro Layered Architecture

Internals (2021-Q4)

Blueprints: "product value" (meta-oniro-blueprints)

Core OS, Frameworks & Services (meta-oniro-core)

Kernel: Linux | Zephyr | (+LiteOS)

Board support package (meta-seco-intel | …)

Hardware: CPU | MCU

Oniro's Blueprints

  • Minimal Viable product
    • Final Integration
    • Validate feature
    • Reproductibility matters
  • Base to get inspiration
  • Examples:
    • IoT gateway
    • Vending machine
    • Door lock
    • Key Pad

Oniro's Vending machine blueprint

📺 📺

Getting started

  • Download "Jasmine" release (2021-Q4)

    repo init -u https://booting.oniroproject.org/distro/oniro
    
  • Build base OS

    bitbake oniro-image-base
    
  • Add blueprint layer

    git clone https://booting.oniroproject.org/distro/meta-oniro-blueprints
    bitbake-layers add-layer meta-oniro-blueprints
    
  • Build

    bitbake blueprint-vending-machine-image
    

Hardware support

  • Development: QEmu virtual machine
  • Demo: community boards (RPi4, arduino)
  • Product: Industry Grade reference designs
    • eg: Seco B68 single board computer
  • Using a Board Support Package (BSP)
    • supplied by hw vendor
    • eg: meta-raspberrypi, meta-intel…
    • Or rebase any yocto BSP layer

Enablement features

  • Policies & Commitments
    • Open Development: CI, Testing
    • IP Compliance (BOM)
    • Active Security Scanning (and fix)
  • Secure Update over the air (OTA)
  • Consistent tooling
    • bitbake (Openembedded/Yocto)
  • Community friendly
    • OpenHarmony, Linux, Yocto, Zephyr…
    • We upstream patches

Join Oniro

  • Open Source available to public
    • Feedback welcome
  • Collaboration is promoted under
    • Eclipse Foundation open governance
  • Oniro Working Group:
    • Take part in evolution of technology
  • https://oniroproject.org/

Summary

  • Prototyping starts easily
    • Industrialization is hard
  • Isolate value,
    • Rebase it on OpenSource platform
  • Oniro: A Vendor Neutral, Open Source OS
    • for Next-Gen Devices
  • Addressing industry requirements:
    • IP compliance, Security policies, tools
    • Full control of shipped software
      • Flexible for relevant HW or SW

Resources and more:

Video Playback

Extras ?

Oniro @ EclipseCon 2021

Why Join Us ?

OpenHarmony's journey to Oniro

Build System

Next gen vending machine

Testing/CI

IPv6

Created by Philippe Coval