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

Similar documents
Industrial-grade Open Source Base Layer Development

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

Towards Sustainable Systems with the Civil Infrastructure Platform. Jan Kiszka, Siemens AG LinuxCon North America, 24 th August 2016

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

Industrial-grade Open Source Base Layer Development

Time is ready for the Civil Infrastructure Platform

Keeping up with LTS Linux Kernel Functional Testing on Devices

ATS report. Linux Plumbers 2018, Vancouver Kevin Hilman

RZ/G Verified Linux Package V2.1.0-RT

Building Debian-Based Products: Experiences in Collaboration

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

reproducible and user-controlled software management in HPC

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC 23, Oct Embedded Linux Conference Europe Hilton Prague

How to decide Linux Kernel for Embedded Products. Tsugikazu SHIBATA NEC 20, Feb Embedded Linux Conference 2013 SAN FRANCISCO

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC 21, February 2017 Embedded Linux Conference Hilton Portland, OR

Navigating the Guix Subsystems

Yocto Project components

Deby - Reproducible and Maintainable Embedded Linux Environment with Poky

How to Introduce Virtualization in AGL? Objectives, Plans and Targets for AGL EG-VIRT

Controlling Software Environments with GNU Guix

Yocto Overview. Dexuan Cui Intel Corporation

Poky Linux & OpenEmbedded based environment

e2 factory the emlix Embedded Build Framework

AMM Feb/2018. Frederic Marec Embedded Engineer

BUILDING FUNCTIONAL SAFETY PRODUCTS WITH WIND RIVER VXWORKS RTOS

Dandified way to package management in Yocto Project

Debian & Yocto: State of the Art

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

Status of Embedded Linux Status of Embedded Linux October 2014

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA 20, June at Open Source Summit Japan, Ariake Tokyo

Linux Kernel Testing: Where Are We? Guenter Roeck, Google

Securing the Connected Car. Eystein Stenberg CTO Mender.io

Are you Really Helped by Upstream Kernel Code?

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

Flatpak and your distribution. Simon McVittie

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

October 8 9, 2015 CCD, Dublin, Ireland. Event Sponsorship Prospectus

Fosdem Feb/2018. Frederic Marec Embedded Engineer

LTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC Hisao Munakata, Renesas 20, May 2014 LinuxCon so

EMBEDDED LINUX ON ARM9 Weekend Workshop

Quick Prototyping+CI with LXC and Puppet

How we added software updates to AGL

LTSI kernel / Yocto Validation Proposal

A flexible test automation system for various Embedded Linux usecases Khiem Nguyen / Engineer Renesas

A Smart Way to Manage Packages in Yocto Project

Cross-compilation with Buildroot

Securing the Connected Car. Eystein Stenberg Product Manager Mender.io

Using Openembedded with Snapdragon Flight

ENHANCE FUEGO TEST EFFICIENCY BY APPLYING ADDITIONAL SOFTWARE AND HARDWARE SOLUTIONS

LTSI Project Update. LTSI Kernel, How We Can Help Automotive Industries. Hisao Munakata, Tsugikazu Shibata

2013 Toshiba Corporation

Real Time BoF ELC 2012

LTSI Project Update. for LTSI-3.10 and shared kernel test trial (part 2) Tsugikazu Shibata, Hisao Munakata

Backporting is so 1993

Embedded Linux system development training 5-day session

[RFC] Obtaining Management Buy-in for Mainline Development

Embedded Linux Now and the future with LTSI. Hisao Munakata, Renesas Tsugikazu SHIBATA, NEC 27. March 2014 CollaboraDon Summit

Security and Performance Benefits of Virtualization

MASTERING EMBEDDED LINUX PROGRAMMING BY CHRIS SIMMONDS DOWNLOAD EBOOK : MASTERING EMBEDDED LINUX PROGRAMMING BY CHRIS SIMMONDS PDF

How to cook the LTSI kernel with Yocto recipe

Meeting the Yocto Project

Yocto Project & Embedded Linux

CE Workgroup Shared Embedded Linux Distribution Project

Full Stack on Wine. Create a Win-Win between Wine and thousands of Win32 open source projects. Qian Hong

96Boards Enablement for opensuse

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

Zephyr Kernel Installation & Setup Manual

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

Understanding the Open Source Development Model. » The Linux Foundation. November 2011

Dockerized Tizen Platform

Proudly present. Ethernet to the Field (APL)

SPDX with Yocto Project

Simulating Multi-Core RISC-V Systems in gem5

Automation beyond Testing and Embedded System Validation

Oxalis Getting Started

Learning Embedded Linux Using the Yocto Project

Welcome to SUSE Expert Days 2017 Service Delivery with DevOps

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

An Open Membership Consortium now over 260 companies strong

SUSE Linux Entreprise Server for ARM

The Embedded Linux Problem

Status of Embedded Linux. BoF October, Tim Bird CELF Architecture Group Chair

What's new in the Linux kernel

Carrier-grade VoIP platform with Kamailio at 1&1

PaPP cross-platform development system version 15.0

What is new? Page 1. Peter Korsgaard, Maintainer ELCE 2013

SCM EVK (SCM120

Linux Kernel Evolution. OpenAFS. Marc Dionne Edinburgh

Securing Software Updates for IoT Devices with TUF and Uptane. Ricardo Salveti Principal Engineer

Yocto or Debian for Embedded Systems. White Paper

LF Real-Time Operating Systems: Evolution and Trends. Kate Stewart. Senior Director of Strategic

The Status of the Preempt-RT Patch

AMI Implementation in Singapore

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

Building RT image with Yocto

10 Steps to Virtualization

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

A Big Little Hypervisor for IoT Development February 2018

Testing your AGL, yocto ptest, lava and more

Transcription:

Civil Infrastructure Platform : Industrial Grade SLTS Kernel and Base-Layer Development Yoshitake Kobayashi Open Source Summit Japan, Tokyo, June 2, 2017

Our Civilization is Run by Linux https://www.airpano.com/360degree-virtualtour.php?3d=san-francisco-usa Open Source Summit Japan 2017 2

Transport Energy Industry Others Rail automation Power Generation Industry automation Healthcare Automatic ticket gates Industrial communication Building automation Vehicle control Turbine Control CNC control Broadcasting https://www.airpano.com/360degree-virtualtour.php?3d=san-francisco-usa Open Source Summit Japan 2017 3

But there are issues to be solved https://www.airpano.com/360degree-virtualtour.php?3d=san-francisco-usa Open Source Summit Japan 2017 4

A Railway System: 25-50 years products life-cycle with very reluctant nature for product update and upgrade of hardware and base software platform Image: http://www.deutschebahn.com/contentblob/10862328/20160301+stw+m%c3%bclheim+innenansicht+1+(1)/data.jpg Open Source Summit Japan 2017 5

Railway Example 3 5 years development time 2 4 years customer specific extensions 1 year initial safety certifications / authorization 3 6 months safety certifications / authorization for follow-up releases (depending on amount of changes) 25 50 years lifetime Image: http://www.deutschebahn.com/contentblob/10862328/20160301+stw+m%c3%bclheim+innenansicht+1+(1)/data.jpgopen Source Summit Japan 2017 6

What we have done on Linux for civil infrastructure systems Improve real-time performance and test Improve reliability and test Improve security and test Improve stability and test Create a lot of documents and review Open source software licenses compliance Export control classification Then, support for long-time such as 20-60 years... Open Source Summit Japan 2017 7

We have a problem Open Source Summit Japan 2017 8

The Problems we face The systems that support our modern civilization need to survive for a VERY LONG TIME. Until now the corresponding industrial grade super long term maintenance has been done individually by each company. These systems not only have to survive for a long time, they must be INDUSTRIAL GRADE (robust, secure and reliable). And at the same time the industry will also need to catch up with the latest technology trends Open Source Summit Japan 2017 9

The Solutions we need LONG TERM MAINTENACE INDUSTRIAL GRADE Collaborative Development We need a Collaborative framework to maintain the same open source based system for many, many, many years to keep it secure, robust and reliable. AND most importantly, we need to do this collaboratively in the upstream communities, not locally. Open Source Summit Japan 2017 10

CIP is our solution Establishing an Open Source Base Layer of industrial-grade software to enable the use and implementation of software building blocks for Civil Infrastructure Systems https://www.cip-project.org/ Open Source Summit Japan 2017 11

Requirements for the Civil infrastructure systems Industrial Grade Sustainability Reliability Functional Safety Security Real-time capabilities Product life-cycles of 10 60 years This has to be achieve with Maintenance costs Low maintenance costs for commonly uses software components Low commissioning and update costs Development costs Conservative Upgrade/Upd ate Strategy Firmware updates only if industrial grade is jeopardized Minimize the risk of regressions Keeping regression test and certification efforts low Don t re-invent the wheel Development time Shorter development times for more complex systems Open Source Summit Japan 2017 12

User space Things to be done: Creation of an Open Source Base Layer Non-CIP packages Any Linux distribution (e.g. Yocto Project, Debian, opensuse, etc.) may extend/include CIP packages. Open Source Base Layer Open source based reference implementation Start from a minimal set for controllers in industrial grade systems CIP Reference Filesystem image with SDK (CIP Core packages) CIP SLTS Kernel CIP Reference Hardware Hardware Kernel Open Source Summit Japan 2017 13

Kernel space User space Scope of activities App container infrastructure (mid-term) Domain Specific communication (e.g. OPC UA) Safe & Secure Update Middleware/Libraries Monitoring App Framework (optionally, mid-term) Shared config. & logging Security Multimedia Tools Build environment (e.g. yocto recipes) Test automation Tracing & reporting tools Configuration management Device management (update, download) Concepts Functional safety architecture/strategy, including compliance w/ standards (e.g., NERC CIP, IEC61508) Long-term support Strategy: security patch management Standardization collaborative effort with others Real-time support Real-time / safe virtualization Application lifecycle management License clearing Linux Kernel Export Control Classification On device software stack Product development and maintenance Open Source Summit Japan 2017 14

Technical topics and related projects (Feb. 2017 version) * Topics will be added or removed to reflect CIP technical interests Application support App Framework HMI Framework FW update App deployment Infrastructure and Services Middleware / Tools Domain specific and IoT communication OPC UA TSN Echonet OM2M Industrial special-purpose protocols Avnu Coherent Security Mechanisms Configuration/Device management Multimedia Configuration Industrial Zeroconf Common issues Y2038 Build and production Yocto Project Debian build system Testing LTP kselftest KernelCI Fuego Linux Kernel Security Functional Safety Userland Isolation Anomaly detection Live patching Monitoring/error detection LSM SELinux Real-time support GPGPU/FPGA real-time Xenomai w SIL2LinuxMP SIL3 support LXC Cgroups Monitoring / Tracing RT/non-RT communication Ftrace ktap PREEMPT-RT RAS RTOS Kernel Isolation SafeG Jailhouse Communication Heterogeneous Computing SoC FPGA Support SLTS CIP test suite `I Backwards compatibility Development process SIL2 support SIL3 support Legal topics SPDX FOSSology License Clearing Export Control Hardware / SoC (x86 or ARM based) Legend To be specified / implemented by CIP Integration / cooperation Open Source Summit Japan 2017 15

Kernel space User space Scope of activities App container infrastructure (mid-term) Domain Specific communication (e.g. OPC UA) Safe & Secure Update Middleware/Libraries Monitoring App Framework (optionally, mid-term) Shared config. & logging Security Multimedia Tools Build environment (e.g. yocto recipes) Test automation Tracing & reporting tools Configuration management Device management (update, download) Concepts Functional safety architecture/strategy, including compliance w/ standards (e.g., NERC CIP, IEC61508) Long-term support Strategy: security patch management Standardization collaborative effort with others Real-time support Real-time / safe virtualization Application lifecycle management License clearing Linux Kernel Export Control Classification On-device software stack Product development and maintenance Open Source Summit Japan 2017 16

Current status of CIP base layer development CIP SLTS kernel development Decide the CIP kernel version 4.4 is the first CIP kernel. Maintenance expected for 10 years and more (SLTS). Select a maintainer Ben Hutchings is the initial CIP-kernel maintainer Define a kernel maintenance policies https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipkernelmaintenance Start maintenance Linux 4.4.69-cip4 released on 25 th May 2017 Create CIP kernel test framework CIP core package development Define an initial component set Define component version Contribute to upstream project Start maintenance for SLTS Open Source Summit Japan 2017 17

CIP SLTS Kernel Development Open Source Summit Japan 2017 18

Overview of CIP SLTS kernel Kernel trees CIP SLTS (linux-4.4.y-cip) Official CIP SLTS kernel tree https://git.kernel.org/cgit/linux/kernel/git/bwh/linux-cip.git/ Based on linux-stable.git Maintainer: Ben Hutchings Validation will be done by CIP CIP SLTS+PREEMPT_RT (will be separately maintained by CIP members) CIP kernel tree based on linux-stable-rt and patches from CIP SLTS Validation will be done by CIP Maintenance period 10 years and more (10-20 years) Open Source Summit Japan 2017 19

CIP SLTS Kernel development trees Mainline 4.4 1. Feature backports Backported patches Stable (linux-stable) Maintained by Ben Hutchings Take over from maintainer 2. Security fix only CIP SLTS (linux-4.4.y-cip) Stable-rt Validate by CIP members +PREEMPT_RT Take over from maintainer Follow the CIP SLTS with PREEMPT_RT CIP SLTS-rt/with FB Open Source Summit Japan 2017 20

CIP SLTS Kernel development Kernel maintenance policy https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipkernelmaintenance Follow the stable kernel development rule as the basis Feature backports are acceptable All features has to be in upstream kernel before backport to CIP kernel CIP has Upstream first policy Validation will be done by CIP test infrastructure and/or members Current backported features on 4.4.y-CIP Kernel Self Protection Project related features Address Space Layout Randomization for user space process (ASLR) GCC s undefined behaviour Sanitizer (UBSAN) Faster page poisoning Open Source Summit Japan 2017 21

CIP s participation in the Real-time Linux Project CIP has become a Gold Member of the Real Time Linux Project What s next Work together with the RTL Project CIP member Daniel Wagner (Siemens) is trying to become the maintainer of 4.4.y-stable-rt, the base version of the CIP Kernel. More information https://wiki.linuxfoundation.org/realtime/rtl/start Open Source Summit Japan 2017 22

Out-of-tree drivers In general, all out-of-tree drivers are unsupported by CIP Users can use CIP kernel with out-of-tree drivers If a bug is found in such a modified kernel, users will first demonstrate that it exists in the CIP kernel source release in order for the CIP maintainers to act on it. Open Source Summit Japan 2017 23

Major version release cycle (Next CIP SLTS kernel version) CIP will take a LTS kernel every 2-4 years Planning to synchronize with LTSI for next CIP SLTS kernel LTSI: http://ltsi.linuxfoundation.org/ Open Source Summit Japan 2017 24

CIP Kernel testing Open Source Summit Japan 2017 25

Purpose of CIP testing Detecting bugs Detecting regressions Provide test results in a timely manner Open Source Summit Japan 2017 26

Milestones of CIP testing and current status 1. Board at desk - single dev A setup that allows a developer to test the CIP kernel on the CIP selected hardware platform connected locally to her development machine using kernelci tools. 2. CIP kernel testing Test the CIP kernel on a regular basis and share the results with other CIP community members. 3. Define kernel testing as a service within CIP Define the testing environment within CIP assuming that, in some cases, some members may share the tests, test results or laboratories while others may not. 4. From kernel testing to system testing Once the testing environment has been ready and works for the kernel, explore how to extend it to the entire CIP platform. https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting Open Source Summit Japan 2017 27

CIP testing Goal Create and publish a VM image that contains KernelCI & LAVA Single developer can test the CIP kernel (or any other kernels) News B@D v0.9.1 has been release at OSSJ 2017 https://www.cip-project.org/news/2017/05/30/bd-v0-9-1 Download the VM or deploy the environment through Vagrant https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipdownload Check the tools and software packages included in this release. https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptestingboar datdesksingledevfeaturepage The CIP testing team has invested a significant effort in writing step by step instructions to deploy, configure and run tests. Check the source code involved https://gitlab.com/cip-project/cip-testing/board-at-desk-singledev/tree/master Open Source Summit Japan 2017 28

CIP testing: next steps During the coming months the team will focus on: Defining how tests should look like. Defining how results should be shared. Increasing the test coverage of the CIP Kernel More updates at Embedded Linux Conference Europe 2017 this October Open Source Summit Japan 2017 29

CIP Core Package Development Open Source Summit Japan 2017 30

Current status of the Base layer development 1. Define an initial component set 2. Define component version 3. Contribute to upstream project 4. Start maintenance for SLTS Open Source Summit Japan 2017 31

Current status of the Base layer development 1. Define an initial component set 1.5 Talk to upstream maintainer 2. Define component version 3. Contribute to upstream project 4. Start maintenance for SLTS Open Source Summit Japan 2017 32

Initial component set for CIP base layer CIP will start with a minimal set of packages. CIP kernel and CIP core packages run on hardware. Candidates for initial component set Keep these packages for Reproducible build CIP Kernel CIP Core Packages Kernel Linux kernel 4.4 + backported patches PREEMPT_RT patch Bootloader U-boot Shells / Utilities Busybox Base libraries Glibc Tool Chain Binutils GCC Security OpenSSL Dev packages Flex Bison autoconf automake bc bison Bzip2 Curl Db Dbus Expat Flex gawk Git Glib Gmp Gzip gettext Kbd Libibverbs Libtool Libxml2 Mpclib Mpfr4 Ncurses Make pax-utils Pciutils Perl pkg-config Popt Procps Quilt Readline sysfsutils Tar Unifdef Zlib Gdb M4 NOTE: The maintenance effort varies considerably for different packages. Open Source Summit Japan 2017 33

CIP Project X Started an incubation project for the minimum base system This project will provide a way to test the installable image Goal Input: Debian sources/binaries and cip kernel Build mechanism: bitbake and/or Debian build system Output: Minimum deployable base system Current status Minimal rootfs available for the following hardware QEMUx86 BeagleBone Black Cyclone-V Source code https://gitlab.com/cip-playground/project-x Open Source Summit Japan 2017 34

Development plan CIP will increase the development effort to create a industrial grade common base-layer add. pkgs add. pkgs Core Packages Core Packages Core Packages Kernel (SLTS) Kernel (SLTS) Kernel (SLTS) Phase 1: Define supported kernel subsystems, arch. Initial SLTS component selection Select SLTS versions Set-up maintenance infrastructure (build, test) Phase 2: Patch collection, stabilization, back port of patches for CIP kernel packages Support more subsystems Additional core packages Phase 3: Domain specific enhancements, e.g. communication protocols, industrial IoT middleware Optionally: more subystems Optionally: more core packages Open Source Summit Japan 2017 35

CIP whitepaper release Year One Update + Whitepaper Release https://www.cipproject.org/blog/2017/05/31/cip-year-oneupdate-whitepaper-release Everyone can download the whitepaper https://wiki.linuxfoundation.org/_media/civilin frastructureplatform/whitepaper_short.pdf Open Source Summit Japan 2017 36

Summary Selected the first CIP kernel and initial maintainer 4.4 as first CIP kernel. Maintenance expected for 10+ years (SLTS). Ben Hutchings as initial CIP kernel maintainer. Defined CIP Kernel maintenance policies. Defining CIP kernel + RT maintenance. Defined initial board platforms and provide support for them. Renesas RZ/G and Beaglebone Black Released Board @ Desk for CIP kernel testing Started CIP Project X Published a whitepaper Open Source Summit Japan 2017 37

Next Steps Open Source Summit Japan 2017 38

Next steps by CIP Board @desk - Single dev Start Action-2. https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting Increase test coverage. Kernel maintenance Define Kernel features Create a branch for 4.4-cip-rt Analysis Select additional software as part of CIP base layer. Review requirements from CIP members (e.g. Functional Safety) Collaboration: kernelci, LAVA, Fuego, y2038, KSPP, Real-time Linux Project Open Source Summit Japan 2017 39

CIP booth at OSSJ 2017 CIP use cases Industrial controller Power plant simulator with real controller IoT (OpenBlocks IoT) CIP testing on reference board (Renesas RZ/G) Whitepaper Open Source Summit Japan 2017 40

Please Join us! Open Source Summit Japan 2017 41

Why joining CIP? Steer participate in project decisions and technical direction. Participate bring your use cases and ideas to the right forum. Learn by working on daily basis in the open with others with common interest. Collaborate share effort and knowledge. Stand on the shoulders of giants. Open Source Summit Japan 2017 42

Contact Information and Resources To get the latest information, please contact: Noriaki Fukuyasu: fukuyasu@linuxfoundation.org Other resources CIP Web site: https://www.cip-project.org CIP Mailing list: cip-dev@lists.cip-project.org CIP Wiki: https://wiki.linuxfoundation.org/civilinfrastructureplatform/ Collaboration at CIP: http://www.gitlab.com/cip-project CIP kernel: git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git Open Source Summit Japan 2017 43

Call for new participants! Provide a super long-term maintained industrialgrade embedded Linux platform. Platinum Members Silver Members Open Source Summit Japan 2017 44

Questions? Open Source Summit Japan 2017 45

Thank you! Open Source Summit Japan 2017 46