Building over Gentoo Prefix, over that ros-overlay, plus anything extra needed to make Pepper robots able to do more with the latest available software. The base image is the raw Pepper hard disk image.
Pre-compiled software includes:
- ROS Kinetic (ROS desktop + navigation stack + many others) (274 packages list)
- Latest Python 2.7.17 with a lot of libraries like dlib, Theano, OpenCV, Tensorflow, numpy (255 packages list)
- All the necessary dependencies that make it possible to build it thanks to Gentoo Prefix (latest GCC, latest CMake, etc) (767 packages list)
Go to the releases section and download the latest release of the OS titled "Pepper OS based on Gentoo Prefix and ROS" (you can also use the ones tagged as not full rebuild in case there hasn't been a successful built of the full rebuild for a while for some reason). It is divided in parts of <1GB, total ~5GB. For example:
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-00 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-01 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-02 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-03 &
aria2c -x 10 https://github.com/awesomebytes/pepper_os/releases/download/release%2F2020-02-05T19at34plus00at00/pepper_os_ros-kinetic-x86_2020-02-05T19at34plus00at00.tar.gz.part-04 &
wait
echo "Done with all the downloads!"
Now merge together the files, you can use the instruction from the release notes:
cat pepper_os_ros-kinetic-x86_*.tar.gz.part-* > pepper_os_ros-kinetic-x86.tar.gz
WARNING You may want to empty the home folder of your robot, after a backup of course, before doing the next step. This includes hidden files (starting with .
). You can do rm -rf * .*
.
Extracting this .tar.gz will write on a new folder called gentoo
, where most of the stuff will reside. But it will also write a new .bash_profile
, and a new .local
folder with all Python libraries. It will also overwrite
your ~/naoqi/preferences/autoload.ini
with a script that will boot roscore on your next reboot of the robot.
Now extract in your robot in one command (avoiding copying the file and then extracting):
cat pepper_os_ros-kinetic-x86.tar.gz | ssh [email protected] "tar xzf - -C /home/nao"
Note that the gentoo
folder uncompressed weights ~8GB and .local
~850MB.
In case you want to modify/fix/work on anything...
Takes 6h on the build farm (2core 2.2GHz), 3h in a faster machine (8core 3.6GHz).
docker build --network host -f Dockerfile -t pepper_os .
You can speed it up by using the cache of the latest version from the CI (5.3GB download though):
docker pull awesomebytes/pepper_os_image
docker build --network host -f Dockerfile --cache-from awesomebytes/pepper_os_image -t pepper_os .
From the CI:
docker run -it -h pepper awesomebytes/pepper_os_image
If you built your own:
docker run -it -h pepper pepper_os