Nearly all marine robots include one or more embedded computers running GNU/Linux. These can range from high-power x86 systems (e.g. Intel i7 processors) to low power ARM-based mini systems-on-a-chip. Throughout our work on many of marine autonomy and communications applications we have developed significant expertise in bootstrapping, deploying, and developing for these various embedded computers. We use the Debian (and Ubuntu) GNU/Linux distributions for their high quality and ubiquity.
ARM or x86 Linux kernel and filesystem development
We have produced customized kernels and Debian/Ubuntu filesystems (for many architectures: armel, armhf, amd64, i386) for numerous projects to meet the specific needs of the application. Some examples are given in the wiki under the Hardware section.
Debian Package Development
At sea testing is extremely costly. Thus it is critical to develop processes that reduce the risk of failed deployments due to human error. One source of error that can be eliminated is the tracking of software revisions from version control software (VCS: e.g. git, subversion, bazaar) through to the compiled code running on the platforms. Pairing VCS with Debian package builds in a clean chroot provides version tracking and assurance of properly built packages. This reduces the chance of failed deployments due to corrupt software or incorrect revisions being run.
We have provided automated package building and toolchains for several projects to build software for multiple target architectures and/or distributions.