tl;dr: We will likely downgrade arm32 on Ubuntu Focal support to Tier 3 for Foxy.
As we approach the release of Foxy Fitzroy in three weeks, we have identified an unexpected backlog of effort related to supporting 32-bit ARM platforms (arm32) for Ubuntu Focal. Our intent for Foxy, as written in REP-2000, has been to keep Ubuntu Focal on arm32 as a Tier 2 supported platform, and to upgrade its support by officially adding binary .deb packages. But as we prioritize finishing the Foxy release, QA, and testing work for the Tier 1 platforms, at this point it seems likely that we will not be able to address the current open issues on arm32. As a result we expect to downgrade Ubuntu Focal arm32 from Tier 2 to Tier 3 for Foxy.
Based on the usage data we have available, we expect this change to affect a small minority of users. If you are one of them, please let us know.
Running the image on an amd64 host (which is possible with binfmt and the bundled qemu-arm-static binary present on the image) does not exhibit these issues.
I’ve tried the image on an ARM host running 16.04 and 18.04 but not with 20.04 yet.
Alternatively, would it be possible to just stick with using amd64 host for the docker daemon + static QEMU installed, or update the build farm workers for ARM to use the same kernel version as the targeted LTS?
This change does effect us and some ongoing projects. We have ROS(2) infrastructure that we are intending on supporting across Arm32, Arm64 and Amd64 builds on embedded hardware for each of those platforms. We have existing code that we were working to port and adapt from ROS1 to ROS2 when able, targeting Eloquent in test and intending on moving to Foxy on release.
So far our progress has been good with Eloquent and onto Foxy with the Amd64 and Arm64 testing going well, but the Arm32 will start to effect us in the near term as we continue with our hardware platforms.