diff --git a/README b/README index 8a8bf70..a0ebd91 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is a layer to provide ros in an openembedded linux system. +This is a layer to provide ROS in an openembedded linux system. Currently, this layer is still under development and not fully functional. PURPOSE of this document: @@ -10,11 +10,14 @@ PURPOSE of this document: INSTALLATION: - The repository only contains a layer for ros to be added to the existing yocto poky-danny-8.0 archive. - + 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 . - In , clone this repository into the subdirectory meta-ros. - Add the meta-ros directory to your local bblayers.conf file + + 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 on the VM (milestone M1): The commands @@ -27,11 +30,22 @@ USE for native compilation on the VM (milestone M1): On the host system, run fetch_ros.sh in a fresh directory, e.g. ~/ros-repos/. It clones all ros repositories locally. - Then adjust pathes in fuerte-ros-base.rosinstall to the local repositories. - After starting the virtual machine, copy the installation script from the host system to the home directory with scp and execute it. + 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://install.sh . + + Adjust configuration in install.sh and then run + sh ./install.sh + + The installation script installs ros and starts roscore. + +USE for cross-compilation (milestone M2): + + source oe-init-build-env + bitbake ros + + momentarily fails at some point (see CURRENT STATE) CONTENT of the repository: diff --git a/fetch_ros.sh b/fetch_ros.sh index 39faf84..15f2c54 100644 --- a/fetch_ros.sh +++ b/fetch_ros.sh @@ -8,4 +8,4 @@ git clone git://github.com/wg-debs/ros-release.git git clone git://github.com/wg-debs/ros_comm-release.git git clone git://github.com/wg-debs/roscpp_core-release.git git clone git://github.com/wg-debs/rospack-release.git -git clone git://github.com/wg-debs/std_msgs-release.git +git clone git://github.com/wg-debs/std_msgs-release.git \ No newline at end of file diff --git a/install.sh b/install.sh index 9d55972..5fc38ea 100644 --- a/install.sh +++ b/install.sh @@ -1,18 +1,67 @@ +#!/bin/bash ## Installation script that should run in the virtual machine # copy it into the virtual machine with: # scp @192.168.7.1:/ . # and run it: # sh ./install.sh # +# local setting (must be adjusted) +USERNAME="lukas" +REPOS_PATH="/home/lukas/ros-repos/" +HOST_IP="192.168.7.1" # This script does the following steps: # create ssh login without password -USERNAME = lukas -REPOS_PATH = /home/lukas/ros_server/ -HOST_IP = 192.168.7.1 +# ssh-keygen -t rsa cat .ssh/id_rsa.pub | ssh $USERNAME@$HOST_IP 'cat >> .ssh/authorized_keys' -# copy prepared rosinstall file -scp $USERNAME@$HOST_IP:$REPOS_PATH/fuerte-ros-base.rosinstall . +# create prepared rosinstall file + +cat > fuerte-ros-base.rosinstall << EOF +- git: + local-name: catkin + uri: git://$HOST_IP/$REPOS_PATH/catkin-release + version: debian/ros-fuerte-catkin_0.4.4_lucid +- git: + local-name: common_msgs + uri: git://$HOST_IP/$REPOS_PATH/common_msgs-release + version: debian/ros-fuerte-common-msgs_1.8.7_lucid +- git: + local-name: gencpp + uri: git://$HOST_IP/$REPOS_PATH/gencpp-release + version: debian/ros-fuerte-gencpp_0.3.4_lucid +- git: + local-name: genlisp + uri: git://$HOST_IP/$REPOS_PATH/genlisp-release + version: debian/ros-fuerte-genlisp_0.3.3_lucid +- git: + local-name: genmsg + uri: git://$HOST_IP/$REPOS_PATH/genmsg-release + version: debian/ros-fuerte-genmsg_0.3.10_lucid +- git: + local-name: genpy + uri: git://$HOST_IP/$REPOS_PATH/genpy-release + version: debian/ros-fuerte-genpy_0.3.7_lucid +- git: + local-name: ros + uri: git://$HOST_IP/$REPOS_PATH/ros-release + version: debian/ros-fuerte-ros_1.8.9_lucid +- git: + local-name: ros_comm + uri: git://$HOST_IP/$REPOS_PATH/ros_comm-release + version: debian/ros-fuerte-ros-comm_1.8.12_lucid +- git: + local-name: roscpp_core + uri: git://$HOST_IP/$REPOS_PATH/roscpp_core-release + version: debian/ros-fuerte-roscpp-core_0.2.5_lucid +- git: + local-name: rospack + uri: git://$HOST_IP/$REPOS_PATH/rospack-release + version: debian/ros-fuerte-rospack_2.0.13_lucid +- git: + local-name: std_msgs + uri: git://$HOST_IP/$REPOS_PATH/std_msgs-release + version: debian/ros-fuerte-std-msgs_0.4.8_lucid +EOF # run rosinstall mkdir ~/ros rosinstall --catkin ~/ros fuerte-ros-base.rosinstall