MISC-TN-014: Yocto and Debian packetization

From DAVE Developer's Wiki
Revision as of 14:00, 3 August 2020 by U0001 (talk | contribs) (Introduction)

Jump to: navigation, search
Info Box
Axel-04.png Applies to Axel Ultra
Axel-02.png Applies to AXEL ESATTA
Axel-lite 02.png Applies to Axel Lite
Yocto-logo.png Applies to Yocto


History[edit | edit source]

Version Date Notes
1.0.0 August 2020 First public release

Introduction[edit | edit source]

In recent years, the Yocto build system has gained popularity in the embedded world. Many silicon vendors such as NXP e Xilinx base their Board Support Packages (BSP) on this tool. Despite the fact that Yocto is very powerful and rich, it may be fairly tricky to use, however, especially during the development stage when developers generally need a lot of flexibility. In particular, the unavailability of an archive of prebuilt common packages—as opposed to most of server/desktop Linux distributions—can be really annoying. As described here, Yocto is basically devised to build an entire distribution from scratch indeed.

To mitigate this drawback, the technique described in [article] can be used. In essence, one can build all the packages supported by Yocto (bitbake -k world) and make them available through a smart channel on a local server. Developers working on the target can easily install required packages without having to build them.

Interestingly, in its recent BSP's, NXP indicates a little different approach, which goes even further as it is also open to interfacing to the Debian world. The following excerpt is taken from

Package Management

The default package management with Yocto Project is rpm. The i.MX distro now enables Debian as the package management. This can be easily turned off by add PACKAGE_CLASSES set to package_rpm to the local.conf (or creating a custom distro without the Debian package feed PACKAGE_CLASSES = "package_rpm"). With the addition of the Debian package feed, a sources.list can be added /etc/apt that links in Debian's package feed. This allows users to install packages not provided in the image without having to add them to a Yocto image. Because this package feed is not generated by the i.MX Yocto build process, there is no guarantee each package will work with the right dependencies but it allows simpler tools to be provided. Software that is complex and has more dependencies on specific versions might have issues with an external package feed.

TBD[edit | edit source]