This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
civilinfrastructureplatform:cip-core [2019/02/18 05:41] daniel.sangorrin add details |
civilinfrastructureplatform:cip-core [2024/09/17 06:10] (current) hayashi |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== CIP Core project ====== | ====== CIP Core project ====== | ||
+ | |||
+ | ===== Regular meetings ===== | ||
+ | |||
+ | [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/cip-core-meetings|CIP core meetings]] | ||
===== 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 support (SLTS). OSBL is composed of the | + | 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]]. | [[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. | + | CIP core has two profiles: |
+ | * The tiny profile is built from Debian source code and is useful for devices with storage restrictions, extreme performance and flexibility requirements, and low-complexity applications. | ||
+ | * The generic profile is built from Debian binary packages and covers devices that require more functionality, have less performance and flexibility requirements, and more storage. | ||
- | 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). | + | The CIP Core project provides example filesystem images using available build and image generation tools. Currently, we are using [[https://github.com/meta-debian/|meta-debian]] for Deby, and [[https://github.com/ilbers/isar|ISAR]] for isar-cip-core. However, we are open to the submission of new reference implementations using other build tools (e.g. Debos). |
+ | * [[https://gitlab.com/cip-project/cip-core/deby|Deby]]: tiny profile | ||
+ | * [[https://gitlab.com/cip-project/cip-core/isar-cip-core|isar-cip-core]]: generic profile | ||
+ | |||
+ | The main goals of CIP Core are: | ||
+ | * Contribute to the sponsoring and testing of Debian LTS | ||
+ | * Serve as a reference base from which users can develop their OS images | ||
+ | * Serve as a reference implementation on important topics such as software updates, security standards, or real-time. | ||
+ | * Provide file systems for testing on the [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting/cipreferencehardware|CIP reference hardware]] boards using [[https://lava.ciplatform.org/|LAVA]]. | ||
{{:civilinfrastructureplatform:whole-picture.png}} | {{:civilinfrastructureplatform:whole-picture.png}} | ||
+ | {{:civilinfrastructureplatform:minimum-base-system.png}} | ||
===== Package list ===== | ===== 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. | + | The list of CIP Core packages and the process to add or remove packages is described [[https://gitlab.com/cip-project/cip-core/cip-pkglist|here]]. |
- | {{:civilinfrastructureplatform:candidate-core-packages.png}} | + | ===== Deby ===== |
- | ===== Example filesystem images ===== | + | [[https://gitlab.com/cip-project/cip-core/deby|Deby]] is 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 (see [[http://elinux.org/images/9/96/ELCE2016_Hayashi_Deby.pdf|Deby slides pdf]]). Deby does not use Yocto/OE source code. |
- | + | ||
- | 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}} | + | |
- | + | ||
- | ==== 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. | + | |
{{:civilinfrastructureplatform:deby.png}} | {{:civilinfrastructureplatform:deby.png}} | ||
- | The CIP Core project provides reference Deby file systems images that include the CIP Core packages and can be tested on the following reference hardware. | + | ==== ISAR-CIP-Core ==== |
- | * Renesas RZ/G1M (iwg20m) | + | [[https://gitlab.com/cip-project/cip-core/isar-cip-core|ISAR-CIP-Core]] is a reference implementation of the generic profile and uses [[https://github.com/ilbers/isar|ISAR]]. ISAR uses bitbake to generate the filesystem image by reusing Debian binaries and rebuilding packages that need modifications for the target board (see [[https://events19.linuxfoundation.org/wp-content/uploads/2018/07/isar-ossj2019-7.pdf|ISAR slides pdf]]). |
- | * BeagleBone Black | + | |
- | * QEMU x86_64 | + | |
- | * Cyclone-V (experimental) | + | |
- | 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. | + | {{:civilinfrastructureplatform:isar-elbe.png}} |
- | ==== CIP Generic profile ISAR-based images ==== | + | ===== Reproducible Builds ===== |
- | 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]]. | + | CIP Core WG aims to make the CIP Core images reproducible. |
- | + | See the [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/reproducible-builds|Reproducible Builds]] | |
- | {{:civilinfrastructureplatform:isar-elbe.png}} | + | page for more details about CIP's activities for this topic. |