This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
civilinfrastructureplatform:cip-core [2019/02/05 02:43] daniel.sangorrin tiny vs generic info |
civilinfrastructureplatform:cip-core [2019/02/18 05:41] daniel.sangorrin add details |
||
---|---|---|---|
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. In particular, CIP Core defines 2 profiles: tiny and generic. The tiny profile aims at creating file system images that are small in size and very customized. Currently the tiny profile is implemented with Deby (yocto/OE + meta-debian) which builds the file system image from Debian source code. In contrast, the generic profile aims at middle to high-end embedded systems not constrained by size and requiring less customization. Currently the generic profile is implemented with ISAR (bitbake + Debian binaries). | + | ===== Example filesystem images ===== |
- | {{:civilinfrastructureplatform:minimum-base-system.png}} | + | 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. |
- | The source code is currently hosted [[https://gitlab.com/cip-project/cip-core/|here]]. | + | {{:civilinfrastructureplatform:minimum-base-system.png}} |
- | ===== CIP Tiny profile Deby-based images ===== | + | ==== CIP Tiny profile Deby-based images ==== |
[[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 32: | Line 39: | ||
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. | 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. | ||
- | ===== CIP Generic profile ISAR-based images ===== | + | ==== CIP Generic profile ISAR-based images ==== |
The CIP Core project also plans to provide reference file systems built with ISAR. Currently, the ISAR implementation is located [[https://gitlab.com/cip-playground/isar-cip-core|here]]. | The CIP Core project also plans to provide reference file systems built with ISAR. Currently, the ISAR implementation is located [[https://gitlab.com/cip-playground/isar-cip-core|here]]. |