SDK seems to be detached from rootfs, or How to package ROS 2?

17 views
Skip to first unread message

i shyneee

unread,
Jul 16, 2026, 4:10:51 AM (9 days ago) Jul 16
to isar-users
Hello!

In build systems I've seen SDK comprises separate host tools and sysroot. Isar chose the multiarch approach. So I'm asking you to clarify:
1) that I must put "*-dev" packages in SDK_PREINSTALL in order for them to be available to the cross-compiler;
2) that there is no detached "sysroot" format available.

I'm currently trying to install ROS 2 arm64 package to my SDK:
SDK_PREINSTALL += "\
    ros-lyrical-ros-base:${DISTRO_ARCH}"
The problem is that it depends on "python3-pytest:arm64". "python3-pytest" package has "Architecture: all" but not "Multi-Arch: foreign". So it is not available with ":arm64" postfix. I'm currently considering investigating two approaches:
1) fake packages with equivs;
2) self-packaging like in "siemens/isar-riscv".

Additional note:
The multiarch SDK approach also is also preventing me from
SDK_PREINSTALL += "\
    ros-lyrical-ros-base \
    ros-lyrical-ros-base:${DISTRO_ARCH}"
due to lack of proper multiarch support in ROS 2. 

So I can't use it as Docker rootfs container (I want it to carry ROS 2 for both architectures - one for host user, one for cross-compilation). I can just add the SDK to a directory in the container and call "./relocate_sdk.sh". But why do I have to carry the whole amd64 rootfs instead of aarch64 sysroot only?
Reply all
Reply to author
Forward
Message has been deleted
0 new messages