User Tools

Site Tools


civilinfrastructureplatform:cip-core

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
civilinfrastructureplatform:cip-core [2020/05/25 12:59]
daniel.sangorrin add link to cip-core-meetings
civilinfrastructureplatform:cip-core [2020/07/29 01:10] (current)
daniel.sangorrin update to the current situation
Line 7: Line 7:
 ===== 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 (pythonjavaetc). 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 welcomeThe 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]]. Alsoplease understand that Deby is 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 [[https://​wiki.linuxfoundation.org/​civilinfrastructureplatform/​ciptesting/​cipreferencehardware|reference hardware]].  +==== ISAR-CIP-Core ​====
- +
-  * Renesas RZ/G1M (iwg20m) +
-  * 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. +
- +
-==== 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-project/​cip-core/​isar-cip-core|here]].+[[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]]).
  
 {{:​civilinfrastructureplatform:​isar-elbe.png}} {{:​civilinfrastructureplatform:​isar-elbe.png}}
  
civilinfrastructureplatform/cip-core.1590411577.txt.gz · Last modified: 2020/05/25 12:59 by daniel.sangorrin