Two Years Experience of Industrialgrade Open Source Base Layer
Development and its Future
Takehisa Katayama, CIP Technical Steering Committee
Representative from Renesas Electronics Corporation
OSAKA NDS Embedded Linux Cross Forum #7
July 5th, 2018

CIPとは？

OSAKA NDS Embedded Linux Cross Forum #7

2

CIPとは？
• Linux Foundationの中で、最も保守的なProjectの一つ• 現代社会を支える最も重要なProjectの一つ• CIPのねらいは• 産業機器が求める要件を満たすLinuxの提供• 高い信頼性・安定性・長期間のメンテナンス• Open Source Base Layer（OSBL）• Upstream Communityと密に連携して開発すること• OSBL ≠ 新ディストリビューションOSAKA NDS Embedded Linux Cross Forum #7

3

現代社会はLinuxの上で成り立っているhttps://www.airpano.com/360Degree-VirtualTour.php?3D=San-Francisco-USA

OSAKA NDS Embedded Linux Cross Forum #74

Transport

Rail automation

EnergyPower Generation

Vehicle control

Automatic ticket gates

Turbine Control

https://www.airpano.com/360Degree-VirtualTour.php?3D=San-Francisco-USA

Industry

OthersIndustry automation

Healthcare

CNC control

Building automation

Industrialcommunication

Broadcasting

OSAKA NDS Embedded Linux Cross Forum #7

5

解決しなければならない課題は…

https://www.airpano.com/360Degree-VirtualTour.php?3D=San-Francisco-USA

OSAKA NDS Embedded Linux Cross Forum #7

6

発電所の制御システム:
25-60 年という製品ライフハードウェアの改良やソフトウェアの更新など、アップデートを実施したくないシステム

Image: http://zdnet1.cbsistatic.com/hub/i/r/2016/02/29/10863f77-89b2-40c0-9d8cdbaa5feb65be/resize/770xauto/490141cef9bddc0db66b492698b53a50/powerplant.jpg

OSAKA NDS Embedded Linux Cross Forum #77

例：発電所の制御システム
3 – 5年の開発期間
0.5 – 4年の顧客特有の拡張機能開発
6 – 8年の供給期間15年を超える出荷後のメンテナンス期間
20 – 60年の製品ライフ
Image: http://zdnet1.cbsistatic.com/hub/i/r/2016/02/29/10863f77-89b2-40c0-9d8cdbaa5feb65be/resize/770xauto/490141cef9bddc0db66b492698b53a50/powerplant.jpg

OSAKA NDS Embedded Linux Cross Forum #7

8

ユーザーが直面している課題は・・・• 現代社会を支えるシステムの特徴• 長期運用• 産業グレード（堅牢性、セキュア、信頼性やリアルタイム性能）• 課題• 各企業が負担してきたメンテナンスコスト• 長期運用と最新のテクノロジートレンドへの追従との両立→ どの企業も同じ課題を持つ
OSAKA NDS Embedded Linux Cross Forum #7

9

CIPの考えるソリューションは…

LONG TERM

INDUSTRIAL

Collaborative

MAINTENACEGRADEDevelopment• 各企業共通課題 → Open Sourceで連携して解決• 超長期メンテナンス• セキュア、堅牢性、高信頼性など• Upstreamコミュニティにて共同で行う事が最も重要• 各社がローカルで行う事は、将来のメンテナンス性を低下させる
OSAKA NDS Embedded Linux Cross Forum #7

10

CIP is our solution...
CIP は 、 社 会 イ ン フ ラ シ ス テ ム な ど の高い信頼性が必要な産業機器に共通して利用可能な Open Source Base Layer(OSBL) を提供する
https://www.cip-project.org/

since April 2016OSAKA NDS Embedded Linux Cross Forum #7

11

CIPは2016年4月に設立

OSAKA NDS Embedded Linux Cross Forum #7

12

2+1/4 年経過

OSAKA NDS Embedded Linux Cross Forum #7

13

2+1/4

2016/4

年での実績
710

2017/14710

2018/1

4

7

OSAKA NDS Embedded Linux Cross Forum #7

14

Members
2016/4710

2017/14710

2018/147

OSAKA NDS Embedded Linux Cross Forum #7

15

CIPの活動はメンバー企業によって支えられている
Member companiesBudget¥€£$CIP
source code
repositories

Developers,maintainers

Optional: funding of
selected projects

Open source projects (Upstream work)

Contribution & usage /integration

CIP Super Long
Term Support
Project

OSAKA NDS Embedded Linux Cross Forum #7

16

もう一度、CIPとは？

OSAKA NDS Embedded Linux Cross Forum #7

17

“Open Source Base Layer (OSBL)”とは?
OSBL(OSBL)

制御機器用の最小セット

CIP Reference
Filesystem image with SDK(CIP Core packages)

CIP SLTS KernelからスタートCIP Reference Hardware
OSAKA NDS Embedded Linux Cross Forum #7

User space

Linux distribution (e.g. Debian)
may extend/include CIPpackages.

Kernel• Open sourceベースのOpen
リファレンス実装
SourceBase Layer • 産業グレードシステムの

Non-CIP packages

Hardware• 産業グレードのOpen Source
コアコンポーネント、ツール、およびメソッドのセット

18

CIPの取り組みとステータス

OSAKA NDS Embedded Linux Cross Forum #7

19

CIPのスコープ

User space

App container
infrastructure (mid-term)
Domain Specific communication(e.g. OPC UA)

Shared config.
& loggingMultimedia

Middleware/Libraries

4

CIP Core Packages

Safe & Secure
UpdateKernel space

App Framework(optionally, mid-term)

2

Security
Real-time /safe virtualization

Linux Kernel

1Concepts

Build environment

Functional safetyarchitecture/strategy,4(e.g. bitbake, dpkg)

Test automation

3

Tracing & reporting
tools

Monitoring

Real-time support

Tools

Super Long Term Supported Kernel (STLS)

On-device software stackConfiguration
management

including compliancew/ standards (e.g., NERC
CIP, IEC61508)

Long-term support
Strategy:
security patch
management

41Standardization
collaborative effort withothers

Device management(update, download)

License clearing

Application lifecycle management

Export Control
Classification

Product development
and maintenance
OSAKA NDS Embedded Linux Cross Forum #7

20

CIPの取り組み
1 Kernel メンテナンス• CIPプロジェクトの最初のアクティビティは、超長期にわたりメンテナンスする
Linux Kernelを選定し、そのゴールを達成するためにメンテナーをアサインする

2 Real Time Support• PREEMPT_RT PatchをCIP Kernelへ適用

3 Testing• 社会インフラシステムや産業機器は、その最も重要な安全性を継続的に確保するために、高い安定性、信頼性、セキュリティ標準への準拠、すなわち ”産業グレード”である事が要求され、この要求を満たすため、CIPテストプロジェクトが発足。
• CIP Kernelの評価から開始し、将来的にはCIPプラットフォーム全体の評価へ拡張

4 CIP Core

• CIP Coreは、超長期間のメンテナンスが要求される産業グレードのコンポーネントであるCIP Core Packageの評価を行うため、最小のFileSystemイメージを開発するプロジェクト
OSAKA NDS Embedded Linux Cross Forum #7

21

1 CIP SLTS Kernel開発
CIP SLTS (linux-4.4.y-cip)：メンテナンス期間は10年超• linux-stable.git のオフィシャルCIP SLTS kernel tree
• https://git.kernel.org/cgit/linux/kernel/git/bwh/linux-cip.git/• Maintainer: Ben Hutchings（Codethink社）
Feature backports

Mainline
Backportedpatches

4.4

Stable (linux-stable)
Ben Hutchingsによるメンテナンス

EOL

security fixにフォーカス

CIPが引き継ぎメンテナンスを継続

CIP SLTS (linux-4.4.y-cip)
OSAKA NDS Embedded Linux Cross Forum #7

22

1 CIP SLTS Kernel開発
Kernel maintenance policy• https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipkernelmaintenance• Stable kernelの開発方針を踏襲• Feature backportも行う• CIPは “Upstream first”• 全てのfeatureは、CIP KernelにBackportされる前にUpstreamKernelにUpstreamされている必要がある• ValidationはCIP Testインフラ、もしくはメンバー企業で実施

OSAKA NDS Embedded Linux Cross Forum #7

23

1 CIP SLTS Kernel開発
Out-of-tree drivers• 原則として、CIPはout-of-tree driverをサポートしない• ただし、ユーザはCIP Kernelとout-of-tree driverを組み合わせて使用可能• Out-of-treeの修正を含むカーネル不具合の扱い• ユーザがCIP Kernel Sourceに不具合がある事を証明• CIPカーネル側の不具合はCIPのメンテナーが対処

OSAKA NDS Embedded Linux Cross Forum #7

24

1 CIP SLTS Kernel開発
2016/4710

2017/14

4.4.42-cip1

7

10

2018/1

4.4.55-cip3• 最初のCIP kernel (Linux 4.4.42-cip1)

47

4.4.138-cip25を2017/1/13にリリース• 最新のCIP kernel (Linux 4.4.138-cip25) を2018/6/20にリリース• CIP kernelリリースについて• CIPがPatchのレビュー、およびテストを実施• リリースサイクルは、およそ4週間から6週間• CIP KernelメンテナーのBen Hutchings（Codethink）がリリースを担当• リリースサイクルは、Upstream Patchの数に依存• 4.4 LTSのプロセスと直接協力してメンテナンスを実施
OSAKA NDS Embedded Linux Cross Forum #725

1 CIP SLTS Kernel開発
CIP kernel（4.4.138-cip25）の最新状況• ルネサス製RZ/G1MとiWave board用Add video (DU, VSP, VIN)、CAN、PCIe、audio、PWM、thermal、clocksource (CMT)をサポート• iWave Board上に搭載されているSGTL5000 Codec driverの不具合修正• 上記を有効にするためにshmobile_defconfig、multi_v7_defconfigをUpdate• stable版4.4.131-4.4.138に追加された修整をマージ• stable regressionsを修整、不足していた依存性を追加

4.4.y-CIPにBackportした機能• Kernel Self Protection Project関連機能• user spaceプロセスのAddress Space Layout Randomization (ASLR)• GCCのundefined behavior Sanitizer (UBSAN)• Faster page poisoning• Siemens IoT2000 series用Board support patches
OSAKA NDS Embedded Linux Cross Forum #726

1 CIP Kernel team
CIP内にkernelメンテナンスチームを構成• CIP Kernel Maintenance Team• Maintainer / Mentor• Developers• CIP Kernel teamの役割• stable kernel用Patchのレビュー• Test• Upstreamへのフィードバック

Mainline / Stable

Maintainer / Mentor

Developers• Upstream first

CIP kernel team

OSAKA NDS Embedded Linux Cross Forum #727

1 CIP Kernel team
最近の実績（4.4-stable）• RE: [PATCH 4.4 10/24] x86/fpu: Hard-disable lazy FPU
mode• https://lkml.org/lkml/2018/6/15/6• Backport of pipe.c patch to 4.4.y that fixes LTP fcntl35 test
error
• https://www.spinics.net/lists/stable/msg239475.html• Re: [PATCH 4.4 00/92] 4.4.133-stable review• https://www.spinics.net/lists/kernel/msg2812317.html• Please apply this XFS patch on 4.4• https://www.spinics.net/lists/stable/msg240881.html

OSAKA NDS Embedded Linux Cross Forum #728

1 Next CIP SLTS kernel
次期CIP SLTS kernelの選定について
Mainline
Backported
patches

Feature backports

4.4

Stable (linux-stable)
Ben Hutchingsによるメンテナンス

security fixにフォーカス

CIP SLTS (linux-4.4.y-cip)
おおよそ2-4年
Stable (linux-stable-x.y)
CIPが次のバージョンを選定

NEXT CIP SLTS ( ? )OSAKA NDS Embedded Linux Cross Forum #729

1 CIP next SLTS kernel version
CIP next SLTS kernel version• 新しいバージョンのSLTS kernelを2018年末～2019年早々に選定• ただし、”If everything goes fine” の場合• Kernelバージョンは LTS / LTSI / AGL / Debian への同期を考慮• 4.20（または5.0）を次のCIP SLTS kernelに選定予定• 64bit Kernelをサポート• リファレンスボードは、ルネサス製RZ/G2M搭載
Board（96Board仕様）“Using Linux for Long Term - Community Status and the Way We Go,”
Tsugikazu Shibata, NEC, Open Source Summit Japan 2018OSAKA NDS Embedded Linux Cross Forum #730

2 CIP SLTS real-time support
CIPはReal Time Linux ProjectのGold Member• RTL Projectの開発加速に貢献し、共に開発• iWave社製RZ/G1MボードはRTL Projectのリファレンスボードの1つ• SiemensのDaniel Wagnerが CIP4.4.y-stable-rt メンテナー• 詳細は以下• https://wiki.linuxfoundation.org/realtime/rtl/start

OSAKA NDS Embedded Linux Cross Forum #731

2 CIP SLTS real-time support
CIP SLTS Real time kernelをリリース• CIP SLTSをベースにlinux-stable-rt Kernel Treeをメンテナンス• https://git.kernel.org/pub/scm/linux/kernel/git/wagi/linux-ciprt.git• ベースKernelは CIP SLTS Kernel• Maintainer: Daniel Wagner (Siemens AG)• CIPにてValidationを実施
Stable-rt
CIPメンバーによるValidation

CIP SLTS + PREEMPT_RT patch
としてメンテナンス

EOLCIPが引き継ぎメンテナンスを継続

CIP SLTS-rt
OSAKA NDS Embedded Linux Cross Forum #732

2 CIP SLTS real-time support
2016/4710

2017/14710

2018/1

4.4.105-cip15-rt10

47

4.4.130-cip23-rt18• Daniel Wagnerが 4.4-stable-rt をメンテナンス中• https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git• 4.4-rtの最新版は、2018/6/15にリリースされた4.4.137-rt154• CIP RT kernelの最新版は2018/5/28にリリースされた 4.4.130-cip23-rt18

OSAKA NDS Embedded Linux Cross Forum #733

3 CIP Testing
CIP Testingのマイルストーンと現在のステータス• Board@Desk – テスト環境• ユーザーが、CIPのリファレンスボード（iWave製RZ/G1Mボード、他）を開発用PCに接続し、CIP Kernelの評価に用いる評価環境一式を整備• CIP kernel testing• 定期的にCIP kernelの評価を行い、結果を開示• CIPのサービスとしてKernel Testを定義• CIPが適用される環境を想定したテスト環境を定義。場合によっては、一部のメンバー企業やメンバーがテストケースをシェア• Kernel Testからシステムテストへ• Kernelのテスト環境完成後、それをCIP Platform全体へ拡張していく
https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting
OSAKA NDS Embedded Linux Cross Forum #734

3 CIP Testing
CIP Testing project

https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting• B@Dは以下を目的に設計• Linux Kernelとbase systemをローカル環境で評価• ユーザマシーンに接続されたハードウェア上での評価• B@Dの機能• kernelci.orgをベース• ホストOSとしてLinux/Windows 10をサポート• VMやVagrantベースの環境として提供• 結果とログを共有する機能.

• 関連ソース• https://gitlab.com/cip-project/cip-testing/boardat-desk-single-dev/tree/master
OSAKA NDS Embedded Linux Cross Forum #735

3 CIP Testingの状況
2016/47

10

2017/1

4

1

7

2

10

2018/14

7

3

1. 最新版のkernelCIに対応し、環境をUpdate
2. ルネサスのRZ/G1Mを搭載したiw20gmボード（iWave製）サポート
3. テスト結果をシェア：https://lists.cip-project.org/pipermail/cip-testing-results/• Next steps• コンテナでの提供• テスト結果を収集するための一元化されたサービスの構築• https://kernelci.ciplatform.org/• https://lava.ciplatform.org/• 他のテストプロジェクトとの連携、およびテストカバレッジの拡大
OSAKA NDS Embedded Linux Cross Forum #736

4 CIP Core Package
Open Source Base Layer (OSBL)の開発状況• 初期コンポーネントを定義• コンポーネントのバージョンを選定• Upstream projectへの貢献• 超長期間メンテナンスの開始

OSAKA NDS Embedded Linux Cross Forum #737

4 CIP Core Package
2016/4710

2017/14710

2018/1

4

Primary reference distributionとしてDebianを選定

7CIPがDebianに参加• CIP primary distributionとは？
• CIPはDebian packageからCIP Core packageのコンポーネントを選定• CIPはDebianコミュニティと協力して開発する• Status• セキュリティ関連の問題解決をサポート• staging repositoriesのサポートをsecurity-masterへ追加• https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817286• Status: 実装中• CIPがDebian-LTSにPlatinumメンバーとして参加
OSAKA NDS Embedded Linux Cross Forum #738

4 CIP Core Packageの初期コンポーネント
CIP base layerの初期パッケージ
Candidates for initial component setCIPKernel

Keep these packages for Reproducible build• Kernel• Linux kernel + backported patches• PREEMPT_RT patch• Bootloader• U-boot• Shells / Utilities• Busybox• Base libraries
CIP CorePackages• Glibc• Tool Chain• Binutils• GCC• Security• OpenSSL

Devpackages

•

Flex

•

Git•

pax-utils•

Bison•

Glib•

Pciutils•

autoconf

•

Gmp•

Perl•

automake•Gzip•

pkg-config

•

bc

•

gettext

•

Popt•

bison

•

Kbd

•

Procps

•

Bzip2

•

Libibverbs

•

Quilt

•

Curl

•

Libtool•

Readline•

Db•

Libxml2•

sysfsutils

•

Dbus

•

Mpclib•Tar•

Expat•

Mpfr4•

Unifdef

•

Flex

•

Ncurses

•

Zlib

•

gawk

•

Make•

Gdb

•

M4

NOTE: メンテナンスの状況は各コンポーネントで異る
OSAKA NDS Embedded Linux Cross Forum #739

4 CIP Core Package
CIP Core• CIP CoreはCIPのオフィシャルプロジェクト

Source Code(CIP kernel)• CIP Coreは、実装可能なバイナリイメージを評価、提供するためのパッケージ• Goal• Input: Debian sources/binaries、およびCIP kernel• Build mechanism: Bitbake and/or Debian build system• Output:File Systemを含む実装・評価可能な最小のバイナリイメージ• 開発状況
• 最小のrootfsが下記のハードウェアでビルド可能• Renesas RZ/G1M (iWave製iwg20m Board)• BeagleBone Black• Cyclone-V• QEMUx86

Debian(Pre-buildpackages)+Debian
Source code

Minimum basesystem

Source code: https://gitlab.com/cip-project/cip-core
OSAKA NDS Embedded Linux Cross Forum #740

CIPで検討中の項目

OSAKA NDS Embedded Linux Cross Forum #741

Cybersecurity Standard for Industry (IEC62443)
ISA/IEC-62443• Secure Industrial AutomationやControl Systemsを開発するための仕様• http://www.isasecure.org/en-US/Certification• 認証に必要な事項は以下：• 開発手順• テスト• 認証• CIPの関わり方• LinuxベースのシステムでCertificationを取得するのに役立つ以下の項目の開発• オープンソースパッケージの推奨設定と構成に関するドキュメント• テストケース、およびツール• OSSとして進めていくことで、世の中が広くセキュアになる事を目指す
OSAKA NDS Embedded Linux Cross Forum #7

42

Q：今から20年後は？

2年

20年

2038/1/19

60年の製品ライフタイム• Y2038問題は、20年サポートを阻害する要因となっている• CIPメンバーは主な開発者とELC-EUにて協議を実施するなど、解決に取り組んでいる
OSAKA NDS Embedded Linux Cross Forum #743

その他のCIPで検討中の項目• Functional safety• Software updates for industrial systems• CIPはEdgeX FoundryにAssociate memberとして参加

OSAKA NDS Embedded Linux Cross Forum #744

まとめと結論OSAKA NDS Embedded Linux Cross Forum #745

タイムラインでみるCIPの取り組み
4710

2017/14710

2018/1

47

Members
CIP kernel
Testing
RT Linux
CIP Core
CIP-RT kernel
EdgeX

DebianTopics to be
discussed

OSAKA NDS Embedded Linux Cross Forum #746

CIPベースレイヤとオープンソースプロジェクトの関係
Use case

Non-CIP packages
Linux distribution (e.g. Debian)
may extend/include CIP
packages.

CIP Core

CIP Reference
Filesystem image with SDK(CIP Core packages)

B@D
CIP-RT kernel
CIP kernel

CIP SLTS Kernel

Renesas RZ/G Board

CIP Reference Hardware
OSAKA NDS Embedded Linux Cross Forum #7

47

まとめ今日のCIPは• Kernelメンテナンス：リアルタイムサポートを含め、Linux kernelを超長期にメンテナンス• Testing：テストインフラを提供し、テストを強化• CIP Core packages：ツール類も含め、超長期メンテナンスを必要とする産業グレードのコンポーネントのセット• Security：セキュリティ機能の強化とサイバーセキュリティ標準への準拠• Collaboration：Linux stable, Debian/Debian-LTS, Real Time Linux,EdgeX Foundry• 上記以外の活動も検討中
OSAKA NDS Embedded Linux Cross Forum #748

結論
• この社会には産業グレードのOpen Source Base Layerが必要• CIPはLinuxを用いて、これを提供• 以下によりOSBLを持続する• 産業分野の企業・半導体企業の支援• 成熟したオープンソースプロジェクトとの緊密な協力関係を構築(Debian, PREEMPT_RT, kernelci, …)• 適切なツールチェーンの提供• 徹底的なテストの実施

コントリビューションとコラボレーションがCIPの重要な要素
OSAKA NDS Embedded Linux Cross Forum #749

Thank you!

OSAKA NDS Embedded Linux Cross Forum #750

Questions?

OSAKA NDS Embedded Linux Cross Forum #751