Go to file
Lukas Bulwahn 3a090d9675 rosgraph: improving runtime dependency 2013-04-10 07:12:41 +02:00
classes catkin.bbclass: adding .debug files to the dbg package 2013-04-04 13:05:15 +02:00
conf towards an own layer 2012-12-20 14:23:13 +01:00
recipes-core/images core-image-ros-groovy-running-roscore: a core image to start roscore 2013-04-04 13:05:15 +02:00
recipes-devtools adding runtime dependency of python-pyyaml 2013-04-10 07:11:27 +02:00
recipes-ros rosgraph: improving runtime dependency 2013-04-10 07:12:41 +02:00
recipes-support/libtinyxml libtinyxml: add native support and use relative paths 2013-03-14 10:06:46 +01:00
scripts test-all: setting the executable flag 2013-03-13 11:53:51 +01:00
test-reports@897a3c5dd1 adding a new status report 2013-04-05 08:04:00 +02:00
.gitignore adding a minimal .gitignore file 2013-01-04 10:54:33 +01:00
.gitmodules test-reports: adding the meta-ros-test-reports git repository as git submodule 2013-03-13 07:30:16 +01:00
CONTENT Renamed CONTENTS to CONTENT 2013-03-20 07:54:33 +01:00
COPYING.MIT adding license in preparation of going public 2012-12-20 14:23:02 +01:00
README genmsg: removing runtime dependency after patch in oe-core (resolves #54) 2013-04-05 13:16:43 +02:00
fetch-ros-fuerte.sh added fuerte suffix to fuerte-specific script 2013-01-23 13:50:13 +01:00
install-fuerte.sh adjusting the README; a first try for cross-compiling the cpp-common things; extending the install-fuerte script 2013-01-23 15:11:15 +01:00
install-groovy.sh Revert "simplified groovy installation on target" 2013-03-05 07:55:33 +01:00
mk_srcarchive.sh Revert "removing all roscpp_core packages from the created ros source archive" 2013-03-05 08:02:33 +01:00

README

This is a layer to provide ROS in an OpenEmbedded Linux system.
Currently, this layer is still under development and not fully functional.

MAINTAINER
  Lukas Bulwahn, BMW Car IT GmbH <lukas.bulwahn@oss.bmw-carit.de>
  Stefan Herbrechtsmeier, Bielefeld University <stefan@herbrechtsmeier.net>

CONTRIBUTORS
  Lukas Bulwahn, BMW Car IT GmbH <lukas.bulwahn@oss.bmw-carit.de>
  Stefan Herbrechtsmeier, Bielefeld University <stefan@herbrechtsmeier.net>
  Tobias Weigl, BMW Car IT GmbH <tobias.weigl@bmw-carit.de>

HOW TO CONTRIBUTE

We are still working on this development and are interested in other use cases.
If you are interested in this project, please contact us via email.
The more people are interested, the more we will be pushing this project.
If you want to contribute, please contact us and we can discuss open issues
and how we could join forces.


PURPOSE of this document:
  This document describes
  - the state of the current work
  - the installation and use of the git repository meta_ros 
  - license information and origin of redistributed files


STATE OF THIS WORK:

  This repository provides
  - Native compilation of ROS-fuerte
  - Native compilation of ROS-groovy
  - Cross compilation of ROS-groovy (under development)

INSTALLATION/SETUP:
  The repository only contains a layer for ROS that builds on top of the existing OpenEmbedded Core layer.
  Currently, I work with
    * commit 2587a33134fde80dd1367629d9def45ac70256ee of https://github.com/openembedded/oe-core
    * commit 324ed96e28ec31cff8cef1824d20d40f9a5d46ad of git://git.openembedded.org/bitbake in the bitbake directory


USE for cross-compilation of ROS-groovy (in development):

  Currently, we can cross-compile the ROS packages with the commands:
  source oe-init-build-env
  bitbake <package-name>

  Look at the meta-ros test reports for the description of the current state.


PREVIOUS USE CASES


INSTALLATION:

  The repository only contains a layer for ROS that builds on top of the existing OpenEmbedded Core layer.
  You can download the yocto poky-danny-8.0 archive, but then you should update the distutils.bbclass,
  and maybe also the url of libarchive.
  To install, unpack http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 into a directory <dir>.
  
  In the directory of the layers, clone this repository into the subdirectory meta-ros. 
  Add the meta-ros directory to your local bblayers.conf file.


USE for native compilation of ROS-fuerte on the qemu VM:
  The commands
    source oe-init-build-env
    bitbake core-image-ros-fuerte
  builds our specifically configured linux image.
  
  With `runqemu qemux86 qemuparams="-m 2048" core-image-ros-fuerte` the linux image runs within a virtual machine with 2048 MB of memory.
  We assumed that this is running on and compiled for an x86 architecture. For other architectures, some settings must be adjusted.
  
  On the host system, run fetch-ros-fuerte.sh in a fresh directory, e.g. ~/ros-repos/.
  It clones all ros repositories locally.
  After starting the virtual machine, copy the installation script from the host system to the home directory with scp.
  
    scp lukas@192.168.7.1:/<location of repository>/install-fuerte.sh .

  Adjust configuration in install-fuerte.sh and then run

    sh ./install-fuerte.sh
  
  The installation script installs ros and starts roscore.


USE for native compilation of ROS-groovy on the qemu VM:
  The commands
    source oe-init-build-env
    bitbake core-image-ros-groovy
  builds our specifically configured linux image.
  
  With `runqemu qemux86 qemuparams="-m 2048" core-image-ros-groovy` the linux image runs within a virtual machine with 2048 MB of memory.
  We assumed that this is running on and compiled for an x86 architecture. For other architectures, some settings must be adjusted.
  
  On the host system, run mk_srcarchive.sh in some clean temporary directory.
  It copies all ros sources from their URLs and puts them into one src.tar.gz archive.
  After starting the virtual machine, copy the installation script from the host system to the home directory with scp.
  
    scp lukas@192.168.7.1:/<location of repository>/install-groovy.sh .

  Adjust configuration in install-groovy.sh and then run

    sh ./install-groovy.sh
  
  The installation script installs ros and starts roscore.


LICENSE

All metadata is MIT licensed unless otherwise stated. Source code included
in tree for individual recipes is under the LICENSE stated in each recipe
(.bb file) unless otherwise stated.
The descriptions in the recipes of ROS packages have been extracted from
the ROS wiki (http://www.ros.org/wiki/) and are licensed under 
Creative Commons Attribution 3.0 (http://creativecommons.org/licenses/by/3.0/)
unless otherwise noted.

This README document is Copyright (C) 2012 BMW Car IT GmbH.


REDISTRIBUTIONS

The log4cxx recipe originated from the recipe in the OpenEmbedded (Classic) Development
  (cf. http://cgit.openembedded.org/openembedded/tree/recipes/log4cxx)
  licensed with the MIT License.
The core-image-ros-* recipes originated from the core-image-minimal recipe in OpenEmbedded Core
  (cf. http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-minimal.bb)
  licensed with the MIT License.
The libtinyxml recipe originated from the recipe in the OpenEmbedded meta layer
  (cf. http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/libtinyxml)
  licensed with the MIT License.

The modified files are redistributed here under the same MIT License.