Skip to content
Frank Bauernöppel edited this page Oct 27, 2018 · 83 revisions

Disclaimer: All software and information provided in this repository IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. For details see the license.

This wiki describes an alternative way of creating a customized Linux distribution for the Raspberry Pi with the Yocto Project. Those Linux distributions can be heavily tailored to your project, e.g. you can build a small, fast booting image for a headless system or a fully featured mutimedia image for a huge info terminal. And, you can create truly embedded software without that "it's a tiny PC" feeling.

The development process described here uses the meta-raspberrypi layer already included in Yocto Project.

Many thanks to Andrei Gherzan, the maintainer of the meta-raspberrypi layer, the the people from Raspberry Pi Foundation, Yocto Project, Scott Ellis from Jumpnow Technologies, LLC, and all other contributors.

Why Raspberry Pi ?

For testing, a Raspberry Pi 3 Model B was used.

  • can build customized Linux distributions and images from the sources easily
  • well maintained project, a new branch is typically released every 6 months
  • active community with partners from the industry, increasing recognition
  • focused on LTS (long term support) Linux kernels
  • highly hardware agnostic and available for many SoCs/boards
  • it is really made for embedded software
  • want more? see FAQ

How to start ?

  1. choose a powerful Linux PC as your build host
  2. setup Yocto Project for the Raspi
  3. open a bitbake shell and configure bblayers.conf and local.conf.
  4. bitbake core-image-base
  5. prepare microSD card
  6. insert the microSD card on the RasPi
  7. watch the boot process and login
  8. have fun!
  9. do some more serious regression testing

How to continue ?

Bitbake and install the more feature-rich rpi-avg-image.

This wiki focuses on developers who extend the RasPi by some custom hardware using SPI, I2C and other interfaces, write C and C++ applications, libraries, kernel modules, and use frameworks like Qt5, gstreamer or OpenCV. The wiki covers most on-board interfaces some accessories like the CSI camera module and, partly, the sense hat. It is not targeted to "click and play" hobby users, however.

Useful links