awesomebytes / ros_overlay_on_gentoo_prefix

ros-overlay built on Gentoo Prefix ready to use
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

ros_overlay_on_gentoo_prefix

ROS Kinetic: Build Status ROS Melodic: Build Status

This project answers the following questions:

Gentoo Prefix provides an Operating System in userspace (you can place it in any folder that you have write permissions) which requires no root privileges to install or run software.a

ros-overlay provides recipes to build different ROS versions on Gentoo systems.

This project builds upon both by building nightly binary releases of a full Gentoo Prefix + ROS (Kinetic & Melodic).

Building ROS over Gentoo Prefix (on /tmp/gentoo for amd64 over a Docker image of Ubuntu 16.04) thanks to ros-overlay.

This is a project closely related to Gentoo Prefix CI.

Builds page on Azure Pipelines: https://dev.azure.com/12719821/12719821/_build?definitionId=5

Ready-to-use releases: https://github.com/awesomebytes/ros_overlay_on_gentoo_prefix/releases

Ready-to-use built Dockers:

You can get into the dockers by doing: docker run -it awesomebytes/IMAGE_NAME /bin/bash

You'll find

Currently building

Try it

Go to https://github.com/awesomebytes/ros_overlay_on_gentoo_prefix/releases and download the latest release of your choice (ros-kinetic/ros_base is 2GB~), it's divided in 1GB parts (GitHub Releases accepts files up to 2GB only) that are named like gentoo_on_tmp_with_ros-kinetic_ros_base-amd64_2020-03-08T21at41plus00at00.tar.gz.part-00.

Put the parts together and extract (4.4GB~):

# Put the .part-XX files together
cat gentoo_on_tmp* > gentoo_on_tmp.tar.lzma
# Extract the 'gentoo' folder that contains the OS
tar xvf gentoo_on_tmp.tar.lzma
# Probably delete the intermediate files
rm gentoo_on_tmp*
# Just enter the Gentoo Prefix environment
./gentoo/startprefix
# To use ROS you'll need to source ROS and setup a couple of environment variables
source /tmp/gentoo/opt/ros/<ROS_VERSION_HERE>/setup.bash
export CATKIN_PREFIX_PATH=/tmp/gentoo/opt/ros/<ROS_VERSION_HERE>
export ROS_IP=<YOUR_IP_HERE>

ros-kinetic/desktop is ~4GB, extracted ~6GB.

The startprefix script is used to drop the user in a shell in the Gentoo Prefix environment. It creates a softlink to /tmp/gentoo if it does not exist in order to work.

Work in progress & Future work

Contributions more than welcome!