Replies: 0 comments 2 replies
-
Using Yocto to build containers using My suggestion is that we use multi-stage builds (https://docs.docker.com/develop/develop-images/multistage-build/) to create container images which are based on Ubuntu. Each container image will have ROS nodes which relate a specific feature, e.g., localization. Once we have implemented a multi-stage buildpipeline, we can swap out Ubuntu (in the What do you think about that? |
Beta Was this translation helpful? Give feedback.
-
@kasperornmeck yes, I know it's not a priority now, but I was asked by @mitsudome-r to summarize my findings about Yocto here |
Beta Was this translation helpful? Give feedback.
-
As part of the CI efforts and to streamline Open AD kit for production, @kasperornmeck proposed using Yocto as a way to build a custom Linux distribution.
For context, Yocto is not a distribution itself, but a set of tools for creating one tailored to one's specifics needs. In our case, it'd generate Open AD kit distributions with only the components we'd need or would want to distribute.
In order to accomplish this, Yocto uses BitBake as its build tool. BitBake is part of the OpenEmbedded, which uses "recipes" to build packages. Several attempts at maintaining BitBake recipes for ROS have been created, being meta-ros the most successful one.
meta-ros was originally created by BMW, and later on, LG joined the project.
The current implementation of meta-ros is automatically generated via a tool called Super Flore, which simplifies the maintenance heavily by querying the dependency graph of released packages for a given ROS distribution. Therefore, Super Flore can only work with packages that have been released into ROS
For Open AD kit, this means that we can use meta-ros to build ROS, however the BitBake recipes for Autoware.core/universe components will need to be either crafted manually or if we want to use Super Flore, the packages will need to be released into the ROS buildfarm.
Beta Was this translation helpful? Give feedback.
All reactions