[ros-users] [Discourse.ros.org] [Next Generation ROS] Official Docker Images for ROS2 Crystal and arm32v7
ruffsl
ros.discourse at gmail.com
Sat Nov 17 05:30:50 UTC 2018
Hello all,
I've working on upstreaming ROS2 Docker images into the Official Library in time for the Crystal release:
https://github.com/osrf/docker_images/pull/206
While doing so, I wondered how feasible support for arm32v7 would be. Many hobbyist and students still rely on older low-end embedded arm devices, such as raspberry pies. Even the TurtleBot3 currently ships with a 32bit install. To help facilitate ROS2 adoption, I'd suspect better coverage for multi-arch support via pre-built binaries will go a long way towards encouraging migration and general community growth. Looking at the current `pull_counts` for ROS1 and Ubuntu on Docker Hub, we see as of writing:
| Repo | amd64 | arm64v8 | arm32v7 |
|---|---|---|---|
| ROS1 | [21356 (70.38%)](https://hub.docker.com/v2/repositories/amd64/ros/) | [6340 (20.89%)](https://hub.docker.com/v2/repositories/arm64v8/ros/) | [2650 (8.73%)](https://hub.docker.com/v2/repositories/arm32v7/ros/) |
| Ubuntu | [60587 (24.25%)](https://hub.docker.com/v2/repositories/amd64/ubuntu/) | [30705 (12.29%)](https://hub.docker.com/v2/repositories/arm64v8/ubuntu/) | [158590 (63.47%)](https://hub.docker.com/v2/repositories/arm32v7/ubuntu/) |
| Debian | [88440 (32.33%)](https://hub.docker.com/v2/repositories/amd64/debian/) | [62128 (22.71%)](https://hub.docker.com/v2/repositories/arm64v8/debian/) | [122963 (44.95%)](https://hub.docker.com/v2/repositories/arm32v7/debian/) |
> Note: these pull counts don't seem to sum even close to the total pull counts from the official library aggregating these for multi-arch. I assume these counts are rather fresh, perhaps wrt `last_updated`.
As we can see, arm32v7 makes a substantial proportion of the number of pulls, even more so for base images. I recognise arm32v7 (armhf) isn't yet listed under any "Support Tier", so I'll petition here that adding support for arm32v7 could be worthwhile for the community:
https://github.com/ros-infrastructure/rep/pull/177
As an exploratory mesure, I went and built ROS2 from source using the current master, and was able to complete in about `1h 19min 23s` on my workstation using qemu emulation via docker, use the same methods described in:
https://discourse.ros.org/t/announcing-ros-docker-images-for-arm-and-debian/2467
https://github.com/computermouth/qemu-static-conf
https://github.com/ruffsl/docker_images/commit/f96fbe538650c58cdf44e6e30514904caa862f95
I've uploaded the logs here for folks to paruse:
[arm32v7_ros2_bouncy_source_logs.zip](
https://drive.google.com/file/d/13-PKPvjirCGYrWwFArTuoi2OkDgDoEsU/view?usp=sharing)
As well as the resulting docker image here you may test locally:
https://hub.docker.com/r/ruffsl/arm32v7_ros2/tags
Cheers,
@ruffsl
---
[Visit Topic](https://discourse.ros.org/t/official-docker-images-for-ros2-crystal-and-arm32v7/6872/1) or reply to this email to respond.
More information about the ros-users
mailing list