RobotPy RoboRIO Packages
This repository contains the build files used to build the RobotPy .ipk packages hosted at http://www.tortall.net/~robotpy/feeds/2017/.
Currently, we have the following binary packages available:
At the moment, the following packages have not been built, but will be added during the 2017 season:
- mjpg-streamer (notes)
Additionally, the following packages are anticipated to be added:
We support online (RoboRIO connected to the internet) and offline installation of the packages.
Installing a package (online)
.conf file in
containing the following line:
src/gz robotpy http://www.tortall.net/~robotpy/feeds/2017
opkg update. After you setup the opkg feed, you can run:
opkg install PACKAGENAME
Installing a package (offline)
You can use the RobotPy Installer Script to do offline opkg installs. First, download the package:
python3 installer.py download-opkg PACKAGENAME
Then, connect to the network with the RoboRIO, and install it:
python3 installer.py install-opkg PACKAGENAME
Building these packages yourself
Many of these packages are built directly on a roboRIO. Compiling them can eat up most of your RoboRIO's disk space, so you'll probably want to reimage it before using the RoboRIO in a competition.
Go into a directory and do this:
make ROBORIO=roborio-XXXX-frc.local all
You will almost certainly want to setup passwordless login using an SSH key, as the compile process uses SSH to login to the roborio multiple times.
Most of these packages can be compiled on a virtual machine, and the virtual machine won't run out of disk space or RAM quite so easily. See the roborio-vm repository for more details.
Some packages use a lot of RAM, and your best bet is to use a swap device to allow it to complete. A USB memory stick works great for this.
- On a linux host use
cfdiskto partition your stick
mkswapto initialize the space.
- Mount it on the roborio by using
- On a linux host use
When adding new packages:
- Some packages have deeply recursive build functionality, if you have a weird
segfault that occurs it might be because the process ran out of stack space
(the default on the RoboRIO is 256k, whereas modern linux default to a few MB).
In your build steps, you can set the stack size by executing
ulimit -s 2048