Post

GSoC 2025 - Week 6 - Final Build Patchset

Patchset Review

GSoC 2025 - Week 6 - Final Build Patchset

During this week, I had a productive call with my mentors, where we delved into the correct way of handling ROS package dependencies in Yocto builds. I gained a better understanding of the difference between two key directives: IMAGE_FEATURE and IMAGE_INSTALL. This distinction was crucial in finalizing my patchset and ensuring that the ROS packages are integrated correctly.

I spent time exploring and understanding the differences between IMAGE_FEATURE and IMAGE_INSTALL in Yocto. This research ultimately helped me refine my final patch. For context, IMAGE_INSTALL is used to add packages directly to the target image, while IMAGE_FEATURE is used to enable certain image features that may include adding groups of packages or enabling particular functionalities. Knowing when to use each of these is important to properly manage dependencies and optimize the Yocto image.

Updated agl-ros2.inc Configuration

Here is the modification I made to the agl-ros2.inc file in meta-agl-ros2/conf/include/agl-ros2.inc:

1
2
3
4
# Add minimal core ROS
IMAGE_INSTALL:append = " \
    ros-core \
"

By appending ros-core to IMAGE_INSTALL, I ensured that the minimal set of ROS packages required for the system to function was included in the image. This change was important because it ensures that the system can run core ROS functionalities, which are vital for robotics and autonomous driving applications.

You can view the final patchset on Gerrit Final Patchset on Gerrit.

Get Involved

Stay tuned for the detailed technical deep-dives in the upcoming blog posts. I am planning to include examples, code, etc, such that anyone can follow along with it.

Have questions about automotive software development or want to collaborate on open-source automotive projects? Reach out to me on my email

Next: Week 7,8,9,10: Unexpected Hardware Issue
Journey: GSoC 2025 Journey

This post is licensed under CC BY 4.0 by the author.