Embedded Development Infrastructure - edi

https://github.com/lueschem/edi/actions/workflows/package-build.yml/badge.svg?branch=master https://github.com/lueschem/edi/actions/workflows/package-build.yml/badge.svg?branch=develop https://img.shields.io/badge/deb-packagecloud.io-844fec.svg Documentation Status

edi is a generic tool that helps you to streamline your embedded development infrastructure. By itself edi does not do a lot but together with a project configuration (examples: edi-pi, edi-cl and edi-var) it unfolds its potential and you can build

  • artifacts like full OS images that can be directly flashed to a device,

  • artifacts that allow you to update your device over the air,

  • Linux containers that serve as a digital twin of the device and can be used for development, build automation, testing and even container based deployments and

  • nice documents about the content of your artifacts

in a reproducible manner that easily fits into a modern, automated development workflow.

edi is proven in use and OS and container images generated by edi are running on 250k+ devices all around the world! edi project configurations can easily be adjusted to individual use cases and additional hardware devices. The setup is designed in a way that it scales up to large development projects.

Instead of reinventing the wheel, edi leverages best of breed open source technologies:

  • Ansible is the tool of choice for doing the configuration management.

  • LXD allows you to run multiple OS instances on your development host. For complex target system deployments LXD is a great choice too.

  • Yaml and Jinja2 are the consistent way to write edi configuration files and Ansible playbooks.

  • Python is the language and ecosystem that makes the system integration efficient.

  • edi is supposed to be used on the Ubuntu Linux or Debian Linux distribution.

  • By default, edi generates Debian Linux based target systems.


edi is licensed under the LGPL license.


You are welcome to contribute to edi. In case of questions you can contact me by e-mail (lueschem@gmail.com).

More Information

For more information please visit https://www.get-edi.io.