This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
civilinfrastructureplatform:cip-core [2017/10/18 04:57] daniel.sangorrin created |
civilinfrastructureplatform:cip-core [2019/07/08 05:26] daniel.sangorrin [CIP Generic profile ISAR-based images] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Overview ===== | ===== Overview ===== | ||
- | The Civil Infrastructure Platform (CIP) project aims to provide an open source base layer (OSBL) for embedded systems that require super long-term maintenance (SLTS). The OSBL consists of the super long-term support (SLTS) kernel, and the CIP Core packages. The CIP core packages are a set of industrial grade core open source software components and tools. The CIP Core project aims to implement reference file systems that use the CIP Core packages and can be tested on reference hardware. | + | The Civil Infrastructure Platform (CIP) project aims to provide an open source base layer (OSBL) for embedded systems that require super long-term support (SLTS). OSBL is composed of the |
+ | [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/cipkernelmaintenance|CIP kernel]] source code, and the CIP Core source packages. CIP Core source packages are a list of Debian Long Term Support (LTS) source packages that members of the CIP project consider important and want to [[https://www.freexian.com/services/debian-lts.html|sponsor]]. | ||
+ | |||
+ | CIP core has two profiles: tiny and generic. The tiny profile aims at civil infrastructure devices with minimum dependencies and restrictions in size or complexity (typically a C/C++ application). The generic profile covers devices that require more functionality such as high-level languages (python, java, etc). Both the tiny and generic profiles use Debian LTS source code, but the list of packages that define the OSBL differs. | ||
+ | |||
+ | The CIP Core project provides example filesystem images using available build and image generation tools such as [[https://gitlab.com/cip-project/cip-core/deby|Deby]] or [[https://gitlab.com/cip-playground/isar-cip-core|ISAR]]. Note that CIP Core is focused on sponsoring and helping Debian LTS to maintain the source code, and it does not force you to choose what tool you should use to generate your filesystem images. Submission of example implementations using other build or image generation tools is welcome. The example filesystem images can be flashed to part or all of the CIP reference hardware boards (Renesas RZ/G1M, Beaglebone Black, CycloneV, QEMU, and SIMATIC IPC227E). | ||
{{:civilinfrastructureplatform:whole-picture.png}} | {{:civilinfrastructureplatform:whole-picture.png}} | ||
- | It is not decided yet which components will be part of the final CIP Core packages. However, the current candidates for the initial component set are show in the figure below. | + | ===== Package list ===== |
+ | |||
+ | We are working on the official list of CIP Core packages. The current candidates for the CIP tiny profile are shown in the figure below. | ||
{{:civilinfrastructureplatform:candidate-core-packages.png}} | {{:civilinfrastructureplatform:candidate-core-packages.png}} | ||
- | The CIP Core project will create its file systems from Debian LTS sources and/or binaries and the CIP kernel. | + | ===== Example filesystem images ===== |
+ | |||
+ | Currently, CIP Core provides an example implementation of the tiny profile [[https://gitlab.com/cip-project/cip-core/deby|using Deby]]. Deby is a tool to create filesystem images by overlaying [[https://github.com/meta-debian/|meta-debian]] layer on top of yocto/OE. Deby builds the filesystem image directly from Debian LTS source code, it does not use Yocto/OE source code. Deby is currently incompatible with layers created for Yocto/OE (e.g. meta-intel). When you create a filesystem image, you need to choose [[https://github.com/meta-debian/meta-debian/tree/morty/recipes-debian|packages supported by meta-debian]]. Also, please understand that Deby is a separate project, not a part of the CIP project. CIP Core also provides an example implementation of the generic profile [[https://gitlab.com/cip-playground/isar-cip-core | using ISAR]]. ISAR uses bitbake to generate the filesystem image by reusing Debian binaries and rebuilding packages that need modifications for the target board. | ||
{{:civilinfrastructureplatform:minimum-base-system.png}} | {{:civilinfrastructureplatform:minimum-base-system.png}} | ||
- | The source code is currently hosted [[https://gitlab.com/cip-project/cip-core/|here]]. | + | ==== CIP Tiny profile Deby-based images ==== |
- | + | ||
- | ===== Deby-based file systems ===== | + | |
[[http://elinux.org/images/9/96/ELCE2016_Hayashi_Deby.pdf|Deby]] is a reference distribution built with poky and [[https://github.com/meta-debian/meta-debian|meta-debian]], a layer for the poky build system that allows cross-building file system images from Debian source packages. | [[http://elinux.org/images/9/96/ELCE2016_Hayashi_Deby.pdf|Deby]] is a reference distribution built with poky and [[https://github.com/meta-debian/meta-debian|meta-debian]], a layer for the poky build system that allows cross-building file system images from Debian source packages. | ||
Line 23: | Line 30: | ||
{{:civilinfrastructureplatform:deby.png}} | {{:civilinfrastructureplatform:deby.png}} | ||
- | The CIP Core project provides reference Deby file systems that include the CIP Core packages and can be tested on the following reference hardware. | + | The CIP Core project provides reference Deby file systems images that include the CIP Core packages and can be tested on the following [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting/cipreferencehardware|reference hardware]]. |
* Renesas RZ/G1M (iwg20m) | * Renesas RZ/G1M (iwg20m) | ||
Line 30: | Line 37: | ||
* Cyclone-V (experimental) | * Cyclone-V (experimental) | ||
- | ===== Building Deby-based CIP Core ===== | + | To build the images you need to follow the README for each board. For example, to build CIP Core for the Renesas iwg20m board just follow the instructions in [[https://gitlab.com/cip-project/cip-core/deby/blob/master/poky/meta-cip-iwg20m/README.IWG20M.txt|README.IWG20M.txt]]; and to build CIP Core for the Beaglebone back you can follow the instructions in [[https://gitlab.com/cip-project/cip-core/deby/blob/master/poky/meta-cip-bbb/README.BBB.txt|README.BBB.txt]]. Also check the [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/cip-core-quickstart|Quickstart]] guide. |
- | + | ||
- | Prepare a Docker image for the [[https://github.com/siemens/kas|KAS]] tool using the instructions on their web site. Launch a docker container and run the kas tool. For example, to build CIP Core for the Renesas iwg20m board just follow the instructions in [[https://gitlab.com/cip-project/cip-core/blob/master/deby/poky/meta-cip-iwg20m/README.IWG20M.txt|README.IWG20M.txt]]; and to build project-x for the Beaglebone back you can follow the instructions in [[https://gitlab.com/cip-project/cip-core/blob/master/deby/poky/meta-cip-bbb/README.BBB.txt|README.BBB.txt]]. | + | |
- | + | ||
- | {{:civilinfrastructureplatform:cip-core-iwg20m-build-process.gif}} | + | |
- | ===== ISAR file systems ===== | + | ==== CIP Generic profile ISAR-based images ==== |
- | The CIP Core project also plans to provide reference file systems built with ISAR. | + | The CIP Core project also plans to provide reference file systems built with ISAR. Currently, the ISAR implementation is located [[https://gitlab.com/cip-project/cip-core/isar-cip-core|here]]. |
{{:civilinfrastructureplatform:isar-elbe.png}} | {{:civilinfrastructureplatform:isar-elbe.png}} | ||