/elbe

Embedded Linux Build Environment

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ELBE

ELBE is the E.mbedded L.inux B.uild E.nvironment. It can be used to build embedded Linux Rootfilesystems based on Debian packages.

ELBE runs on Debian Linux Host Systems.

Software Dependencies

If using ELBE from git repository directly, you’ll need following packages installed:

apt install python3 python3-debian python3-mako python3-lxml python3-apt python3-gpg python3-suds python3-libvirt qemu-utils qemu-kvm p7zip-full make python3-passlib

Crash Course

  1. use an Elbe XML file (e.g. from /usr/share/doc/elbe/examples or examples/ in the elbe source tree)

  2. run "./elbe initvm create ./examples/armhf-ti-beaglebone-black.xml

    • This command creates an initvm directory in the current working directory,

    • installs and starts a virtual buildenvironemnt

    • within this build environment the beaglebone-black image will be built

    • after the build finished the build results will be copied into elbe-build-<TIMESTAMP>

  3. copy the rfs to a sdcard: sudo dd if=elbe-build*/sdcard.img of=/dev/mmcblk0

Report bugs or any other feedback

Before reporting a new bug, please note that the bug needs to be validated with respect to the latest version of elbe. Please use the issue tracker on GitHub. When reporting an issue, please provide the following information.

  • Reproducing steps. In the best case, having an xml file would be good.

  • In case the build failed, please give the exact error message or the log file.

  • If the error message is not helpful, please give the expected message with a valid explanation.

Contributions

  • Contributions must be certified as given in https://developercertificate.org. Please add a "Signed-off-by" tag to the commit.

  • Please note that we currently target Python 3.6+ before sending any source code.

  • Note that a moderator approval is needed when you send the patches to the mailing list without being subscribed. This approval is available from a confirmation link that you receive once a patch or an e-mail is sent to the the mailing list given below.

Send patches to <elbe-devel@linutronix.de>.

For general discussion use <elbe-users@linutronix.de>.

Development

The project is hosted on github: https://github.com/linutronix/elbe

To get the source use: git clone https://github.com/linutronix/elbe

License rules

ELBE is provided under the terms of the GPLv3+ license as provided in the COPYING file.

Instead of adding GPLv3+ boilerplates to the individual files, elbe uses SPDX license identifiers, which are machine parseable and considered legaly equivalent.

File headers

ELBE files start with a common file header:

# <PATH TO INTERPRETER> (optional)
# <SOME TEXT>           (optional)
# <COPYRIGHT>           (optional)
# <SPDX TAG>

# can be replaced by a comment operator for another programming language, e.g. /* <…​> */ or // <…​> is also allowed.

Empty comment lines are allowed in the header. A single header section like <SOME TEXT> can use multiple lines.

The SPDX TAG needs to be the last entry in the header.