Difference between revisions of "Shared Embedded Linux Distribution"

From eLinux.org
Jump to: navigation, search
Line 1: Line 1:
This page describes the CE Workgroup "Shared Embedded Linux Distribution" project
+
This page describes the CELP "Shared Embedded Linux Distribution" project
* This is a project to use Debian packages with the Yocto Project
+
* This is a project to use Debian packages with the Yocto Project "Poky"
 
** Goal is to share the work of maintaining long-term support for an embedded distribution, by leveraging the work of the Debian project
 
** Goal is to share the work of maintaining long-term support for an embedded distribution, by leveraging the work of the Debian project
 
* See [[Media:Poky_meets_Debian_Understanding_How_to_Make_an_Embedded_Linux_by_Using_an_Existing_Distribution%27s_Source_Code.pdf|"Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution's Source Code"]] talk at ELC 2015 by Yoshitake Kobayashi
 
* See [[Media:Poky_meets_Debian_Understanding_How_to_Make_an_Embedded_Linux_by_Using_an_Existing_Distribution%27s_Source_Code.pdf|"Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution's Source Code"]] talk at ELC 2015 by Yoshitake Kobayashi
Line 6: Line 6:
  
 
== Rationale ==
 
== Rationale ==
The meta-debian is a set of recipes (metadata) for the poky build system, which allows cross-building Linux images using Debian source packages.
+
The Deby (meta-debian layer) is a set of recipes (metadata) for the poky build system, which allows cross-building Linux images using Debian source packages.
By enabling meta-debian, poky fetches required sources from Debian source repository and LTSI kernel repository.meta-debian is independent of OpenEmbedded-core recipes, so OE-Core recipes are still available after meta-debian is enabled. meta-debian is mainly intended to be used for embedded products which needs long-term support.
+
By enabling meta-debian layer, poky fetches required sources from Debian source repository and LTSI/CIP kernel repository. Deby is independent of OpenEmbedded-core recipes, so OE-Core recipes are still available after meta-debian layer is enabled. Deby is mainly intended to be used for embedded products which needs long-term support.
  
 
The purpose is to provide the following things
 
The purpose is to provide the following things
Line 67: Line 67:
  
 
=== Presentations ===
 
=== Presentations ===
 +
* [http://events.linuxfoundation.jp/sites/events/files/slides/ISAR-DEBY-OSSJ2017_r10.pdf|"Building Debian-Based Products: Experiences in Collaboration"] talk at Open Source Summit Japan 2017 by Baurzhan Ismagulov and Kazuhiro Hayashi
 
* [[Media:Poky_meets_Debian_Understanding_How_to_Make_an_Embedded_Linux_by_Using_an_Existing_Distribution%27s_Source_Code.pdf|"Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution's Source Code"]] talk at ELC 2015 by Yoshitake Kobayashi
 
* [[Media:Poky_meets_Debian_Understanding_How_to_Make_an_Embedded_Linux_by_Using_an_Existing_Distribution%27s_Source_Code.pdf|"Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution's Source Code"]] talk at ELC 2015 by Yoshitake Kobayashi
 
* [[Media:LinuxCon2015 meta-debian r7.pdf|"meta-debian: Extending Yocto Project's Poky for building Debian-based embedded system"]] talk at LinuxCon Japan 2015 by Kazuhiro Hayashi
 
* [[Media:LinuxCon2015 meta-debian r7.pdf|"meta-debian: Extending Yocto Project's Poky for building Debian-based embedded system"]] talk at LinuxCon Japan 2015 by Kazuhiro Hayashi
 
* [[Media:ELCE2016_Hayashi_Deby.pdf|"Deby - Reproducible and Maintainable Embedded Linux Environment with Poky"]] talk at ELC Europe 2016 by Kazuhiro Hayashi
 
* [[Media:ELCE2016_Hayashi_Deby.pdf|"Deby - Reproducible and Maintainable Embedded Linux Environment with Poky"]] talk at ELC Europe 2016 by Kazuhiro Hayashi
 
* [[Media:MiniDebianConfJapan-Yoshi.pdf|"Generating Embedded Linux Images by Using the Debian Source Code"]] talk at Mini Debian Conference Japan 2016 by Yoshitake Kobayashi
 
* [[Media:MiniDebianConfJapan-Yoshi.pdf|"Generating Embedded Linux Images by Using the Debian Source Code"]] talk at Mini Debian Conference Japan 2016 by Yoshitake Kobayashi
 +
 +
=== Similar activities for reference ==
 +
* [https://github.com/ilbers/isar|ISAR - Integration System for Automated Root filesystem generation]
 +
* [https://elbe-rfs.org/|ELBE - embedded linux build environment]

Revision as of 00:20, 6 July 2017

This page describes the CELP "Shared Embedded Linux Distribution" project

Rationale

The Deby (meta-debian layer) is a set of recipes (metadata) for the poky build system, which allows cross-building Linux images using Debian source packages. By enabling meta-debian layer, poky fetches required sources from Debian source repository and LTSI/CIP kernel repository. Deby is independent of OpenEmbedded-core recipes, so OE-Core recipes are still available after meta-debian layer is enabled. Deby is mainly intended to be used for embedded products which needs long-term support.

The purpose is to provide the following things

  • Fully customizable embedded Linux based on existed distro
  • Wide embedded CPU support
  • Stability and long-term support

The meta-debian recipes follow Debian build rules by default, but sometimes customize them for embedded systems if necessary (e.g. remove dependencies). Also they re-use essential patches from OE-Core to support cross-building

How to use

Setup repositories

$ git clone git://git.yoctoproject.org/poky.git
$ cd poky
$ git checkout daisy
$ git clone https://github.com/meta-debian/meta-debian.git
$ cd meta-debian
$ git checkout daisy

Please don't forget to install essential packages into your host system before you bitbake something. See Yocto Project's web site for this information [1]

Setup build directory

$ export TEMPLATECONF=meta-debian/conf
$ source ./poky/oe-init-build-env

You can change the target machine by setting MACHINE variable in local.conf to one of the following machines.

  • qemux86, qemux86-64, qemuarm, qemuppc

Bitbake kernel and tiny rootfs

$ bitbake core-image-minimal

Run the build image on Qemu

Please run the following commands after bitbake core-image-minimal finishes.

(qemux86)
$ runqemu qemux86 nographic bootparams="init=/init root=/dev/sda"

(qemux86-64)
$ runqemu qemux86-64 nographic bootparams="init=/init root=/dev/sda"

(qemuarm)
$ runqemu qemuarm nographic bootparams="init=/init console=ttyAMA0"

(qemuppc)
$ runqemu qemuppc nographic bootparams="init=/init"

The shell prompt appears automatically after system boots without login. "init=/init" means that kernel uses tiny-init script as the init process instead of busybox /sbin/init.

Resources

Download

Mailing list

Presentations

= Similar activities for reference