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

Similar documents
X(cross) Development System make AGL application development easier. December 2017 Sébastien Douheret

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

Cross platform enablement for the yocto project with containers. ELC 2017 Randy Witt Intel Open Source Technology Center

Yocto Overview. Dexuan Cui Intel Corporation

X(cross) Development System make AGL application development easier. July 2017 Sébastien Douheret

Yocto Project components

KHEM RAJ YOCTO PROJECT/OPEN EMBEDDED

IBM Cloud Developer Tools (IDT) and App Service Console Overview

AMM Feb/2018. Frederic Marec Embedded Engineer

IoT usecase for Yocto Project

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

Fosdem Feb/2018. Frederic Marec Embedded Engineer

OpenEmbedded in the Real World

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

Dandified way to package management in Yocto Project

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

Customizing the Yocto-Based Linux Distribution for Production

Yocto Layers and Device Profiles July 11, 2017

Yocto Project and OpenEmbedded training 3-day session

Mandi Walls. Technical Community #habitatsh

Yocto Project internal tools

Introduction to the Yocto Project

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift

Participant Handbook

Programming School for 21 st Century. syllabus MOBILE BACKEND DEVOPS

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Git Command Line Tool Is Not Installed

GAVIN KING RED HAT CEYLON SWARM

Investigating Containers for Future Services and User Application Support

Azure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region

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

Yocto Project: A Vehicle for Embedded Qt Development

Handel-CodePipeline Documentation

The Automotive Grade Linux Build Service. ALS Tokyo '14, Jan-Simon Möller

Red Hat Container Development Kit 3.0 Release Notes and Known Issues

Deby - Reproducible and Maintainable Embedded Linux Environment with Poky

Continuous Integration and Delivery with Spinnaker

Poky Linux & OpenEmbedded based environment

FROM VSTS TO AZURE DEVOPS

Docker and Security. September 28, 2017 VASCAN Michael Irwin

Turbo boost your digital app test automation with Jenkins

Kick Start your Embedded Development with Qt

Multi-platform Mobile App. Development with Apache Cordova

INSTALLATION RUNBOOK FOR Iron.io + IronWorker

DAVE TM & DAVE TM SDK

Kubernetes made easy with Docker EE. Patrick van der Bleek Sr. Solutions Engineer NEMEA

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

DevOps Tooling from AWS

DevOps Technologies. for Deployment

ovirt and Docker Integration

AT&T Flow Designer. Current Environment

Choosing the Right Container Infrastructure for Your Organization

DevOps Course Content

Aspirin as a Service: Using the Cloud to Cure Security Headaches

How Container Runtimes matter in Kubernetes?

Digi Embedded Yocto 1.6. First Steps Guide

Android Programming in Bluetooth Cochlea Group

The 12-Factor app and IBM Bluemix IBM Corporation

Containerizing GPU Applications with Docker for Scaling to the Cloud

Think Small: API Architecture For The Enterprise

LINUX CONTAINERS. Where Enterprise Meets Embedded Operating Environments WHEN IT MATTERS, IT RUNS ON WIND RIVER

CONTINUOUS DELIVERY WITH EFFICIENT AUTOMATED TESTING IN CLOUD

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

ARM mbed Technical Overview

Niv Mizrahi. VP github.com/nivm

D1Y - Embedded Linux with Yocto

Fixing the "It works on my machine!" Problem with Docker

Getting Started With Containers

Modeling & Simulation as a Service (M&SaaS)

Full Stack boot camp

30 th September 2017 Milan

OpenShift is FanPaaStic. Linqing Lu PaaS Dragon

Smarter Storage with Containerized Applications. Always Aligned with your Changing World

WebStorm, intelligent IDE for JavaScript development

Operating-System Structures

Managing Dependencies and Runtime Security. ActiveState Deminar

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

How to set up SQL Source Control The short guide for evaluators

Ios Sdk Documentation For Windows 7 32 Bit Full Version

Campus Automation. Joe Neville Aruba Consulting System Engineer

Debian & Yocto: State of the Art

.NET C# C++ JavaScript PHP Python Node.js R Cordova Unity Java Perl

Containers or Serverless? Mike Gillespie Solutions Architect, AWS Solutions Architecture

Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

Flatpak and your distribution. Simon McVittie

SECURE PRIVATE VAGRANT BOXES AND MORE WITH A BINARY REPOSITORY MANAGER. White Paper

Important DevOps Technologies (3+2+3days) for Deployment

5/19/2014. Agenda. Ellucian Mobile What is It? Ellucian Mobile: Build, Customize & Launch. Connie Minnick Technical Solutions Consultant, Sr.

Deploying a Private OpenStack Cloud at Scale. Matt Fischer & Clayton O Neill

From the Beginning: Your First Node.js Web Service

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

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Simplified CICD with Jenkins and Git on the ZeroStack Platform

9 Reasons To Use a Binary Repository for Front-End Development with Bower

AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<<

趙庸鎭 (Cho, Yong Jin)

Reducing the pain of Yocto development upgrades. Michael Brown NGM Firmware Lead Technologist Dell EMC Embedded Linux Conference 2017

Transcription:

Improving the Yocto Project Developer Experience How New Tools Will Enable a Better Workflow October 2016 Henry Bruce (henry.bruce@intel.com)

Introduction We ll be talking about developer workflow improvements coming in Yocto Project 2.2 and future releases CROss PlatformS (CROPS) will provide a consistent developer experience across Windows, Mac OS X and Linux distros through use of containers Extensible SDK (esdk) enables you to add packages and generate an updated image. And much much more. Simplified install for Toaster so it s ready to go out of the box 2

Why Containers? Avoid host contamination Easy route to multiple OS support Including Linux! Repeatable builds Fewer Linux distros to test A path to tools in the cloud 3

Proposed Feature Roll-out Plans for forthcoming Yocto Project releases (subject to change) Feature 2.1 2.2 2.3 Toaster Improved stability Customization No git dependency Layer configuration Iterative development Build Analytics TBD esdk / devtool Initial release Improved installer Finish command NPM recipe generation Interactive mode Kernel support NPM workflow Publish recipe CROPS N/A Resurrect Eclipse plugin Workdir container Containerized Toaster Containerized poky Containerized esdk Plug-in uses container Extend plug-in U/I 4

Planned Workflow Enhancements Containerization through CROPS See https://github.com/crops/docker-win-mac-docs/wiki Use Extensible SDK to add application to image Can add missing components after initial install Can generate best guess at recipe and allow developer to correct it Can generate OS image including application for testing Use Eclipse with plug-in to develop application Build and debug app within familiar IDE Plug-in provides U/I for devtool Use Toaster web UI to configure and debug builds Can search for packages (not always the same as recipe name) Track down build issues with interactive variable inspection Feature Key In development Ready 5

Workflow Diagram Work just started Needs more work Good to go Toaster Config U/I Eclipse esdk Plugin CLI devtool Poky/CLI or Toaster Build Analytics with Toaster OS image Ext SDK Ext SDK Work dir Ext SDK Work dir Recipe Shared State Application repo Layer Index Tools/image creation Application development 6

Working with Extensible SDK Extensible SDK: Does so much more than the traditional SDK Devtool gives you the power of bitbake tailored for app development Available as a small (~35MB) bootstrap installer Fast builds with shared state mirror provided by esdk publisher Can add/remove components with web install Can generate new image Yocto 2.2 documentation will promote extensible over traditional SDK Improving Node.js workflow with be a focus of next release 7

More on devtool devtool provides access to app building capability of extensible SDK It is a command line tool Generates basis of a recipe by analyzing app source code Missing dependent packages are automatically downloaded and installed Developer edits recipe until it builds and behaves as expected Target deployment is supported Updated recipe is generated with required patches Can also modify existing packages Devtool is part of full build system i.e. also useful for system developers 8

Application Development with CROPS On OS of your choice install Docker, Eclipse and esdk Eclipse plug-in Eclipse plug-in starts esdk and work-dir containers Work is required to reduce start-up time Toolchain runs in esdk container Operations invoked by Eclipse plug-in over Docker API Develop application code in Eclipse, deploying and debugging on target Eclipse plug-in will evolve to provide U/I for devtool commands 9

Working with Toaster Tool Evaluation Container with pre-built tools make Toaster very easy to start Easy to add packages to an existing image and build OS Customize OS image As tool evaluation, but more Add layers from layer index Search for recipes Build analytics Toaster can monitor an existing non-toaster bitbake build Use variable inspection etc. to analyse builds for failures 10

Call to Action We ve heard you! We re working on making your life easier If you have started started your own Yocto Project usability projects please get in touch We re happy to work together and avoid fragmentation In the meantime we ll keep you up to date with our progress Track current plans at https://wiki.yoctoproject.org/wiki/developer_workflow_improvements 11

Back-up 12

Current Workflow : Create OS image and SDK Requires a supported Linux distro Requires some Linux knowledge Everything is done on the command line Install a set of packages Pull down some source code using git Use bitbake command to start a simple OS build OS features are added manually Update configuration to add layers Update configuration to add packages to image Create SDK installer with a special bitbake command option Manually publish OS image, package feed and SDK 13

Existing Workflow: Application Development Requires a Linux Distro Development on Windows is possible but requires Cygwin or Msys2 knowledge Developer installs SDK (can be 1GB in size) on build host Developer builds application If SDK is missing dependent libraries Developer must request a new SDK with required packages added Remove old SDK; install new one Re-build application Test on OS image Once application is completed, we need a recipe Either developer asks someone else to develop recipe Or developer learns to use Yocto 14