There are numerous methods and ways to go about getting ROS on your gumstix, or other small ARM platform for that matter. The wiki site itself will present you various options depending on how quick vs. custom an experience you're looking for. This page aims to give you a high-level overview of the basic parts you'll need to get your system setup, no matter which process you choose to get there.
Note: Some of the setup methods take care of these steps for you.
I. Bootable SD Card
The first thing you will need is to get a good microSD card to put your system on. The ARM processor on the gumstix can boot and run straight from your (micro)SD card, allowing you to work entirely off of the image of your operating system you have saved on the card. In order to setup the card you will need to specially format it and install a starting operating system on the card.
- SD card compatibility guide
- Operating systems
II. System / Environment Setup
Once you have an operating system up and running, the next step is to configure the system so that it is ready to install ROS, and also so it is usable as a robot platform.
- Connecting (serial console)
- Networking, Users, etc.
- Compiler, LANG, etc.
- ROS Environment setup *(overlap with next section)
III. ROS Software Install
With your base system all setup, now it's time to install ROS itself. Because of the unique low-power architecture of ARM processors, you're most likely going to have to build and install ROS manually from source.** For the most part, the instructions for doing this on a gumstix (or other ARM platform) are pretty similar to the "standard" ROS Source Installation Instructions, but there are a few tweaks and gotcha's to beware of that will save you some major headaches. In addition, when you're running on even less resources, there is a guided path and approach that will help things go a bit smoother.
Note: The current versions of these guides do all the compiling on the board itself. This is to present the most (theoretically) consistent and robust instructions, to the widest audience, without having to be dependent on the intricacies of users personal development platform preferences.
IV. TurtleBot Software
After getting the base ROS system installed, you can finally get to installing TurtleBot (or other robot) specific packages. This step is much more straight-forward, but there may be some useful tips and advice for how to approach the differences between the TurtleCore and the standard TurtleBot.
Note: Because of some stability issues with the original images and Overo Fire boards used, currently these sections are really more of an under-ongoing-development guide on how to move forward. Hopefully this will also be a place for people to contribute their own experiences.
Here you'll find more information about the TurtleCore hardware itself, including connections to the Create base, the Kinect, and the deal with power.