Difference between revisions of "Shared Embedded Linux Distribution"
Line 68: | Line 68: | ||
=== Presentations === | === Presentations === | ||
* [[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 |
Revision as of 20:13, 14 June 2015
This page describes the CE Workgroup "Shared Embedded Linux Distribution" project
- This is a project to use Debian packages with the Yocto 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 "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 "Meta-debian handout" which was available at LinuxCon Japan 2015 CE Workgroup booth
Contents
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. 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.
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
- meta-debian@googlegroups.com
- Subscription
- meta-debian+subscribe@googlegroups.com
- https://groups.google.com/forum/#!forum/meta-debian/join
Presentations
- "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
- "meta-debian: Extending Yocto Project's Poky for building Debian-based embedded system" talk at LinuxCon Japan 2015 by Kazuhiro Hayashi