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/05 02:43] daniel.sangorrin tiny vs generic info |
civilinfrastructureplatform:cip-core [2024/09/17 06:10] (current) hayashi |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== CIP Core project ====== | ====== CIP Core project ====== | ||
- | ===== Overview ===== | + | ===== Regular meetings ===== |
- | 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. | + | [[https://wiki.linuxfoundation.org/civilinfrastructureplatform/cip-core-meetings|CIP core meetings]] |
- | {{:civilinfrastructureplatform:whole-picture.png}} | + | ===== Overview ===== |
- | 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. | + | 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]]. | ||
- | {{:civilinfrastructureplatform:candidate-core-packages.png}} | + | 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 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). | + | 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:minimum-base-system.png}} | {{:civilinfrastructureplatform:minimum-base-system.png}} | ||
- | The source code is currently hosted [[https://gitlab.com/cip-project/cip-core/|here]]. | + | ===== Package list ===== |
- | ===== CIP Tiny profile Deby-based images ===== | + | 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]]. |
- | [[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. | + | ===== Deby ===== |
+ | |||
+ | [[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. | ||
{{: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. |