First of all some side items:

  • add user to dialout group to deal with serial port permissions with the command "usermod -a -G dialout josh"
  • add /sbin/ to path in .bashrc
  • (optional) add a line to .bashrc to export DISTCC_HOSTS

1) Install dependency packages assuming ubuntu derivative.  Note - these steps can potentially be done during SD cart setup on the host machine.

sudo apt-get update
sudo apt-get install aptitude
sudo aptitude update
sudo aptitude install build-essential libboost-all-dev libgsl0-dev subversion bzr cmake-curses-gui libblas-dev rsync libgmp3-dev

2) Downloads:

cd ~/
svn co https://oceanai.mit.edu/svn/moos-ivp-aro/releases/moos-ivp-13.5 moos-ivp
bzr co lp:goby/2.0 goby
cd goby
sudo ./DEPENDENCIES debian
cd ~/ 
svn checkout https://hovergroup.googlecode.com/svn/trunk/third-party third-party
svn checkout https://hovergroup.googlecode.com/svn/trunk/ivp-extend hovergroup-extend

cd ~/
mkdir MOOS
cd MOOS
git clone  https://github.com/themoos/core-moos.git MOOSCore
cd MOOSCore
git checkout master
cd ..
git clone https://github.com/themoos/essential-moos.git MOOSEssentials
cd MOOSEssentials
git checkout devel
cd ..
git clone https://github.com/themoos/ui-moos.git MOOSToolsUI
cd MOOSToolsUI
git checkout V10-beta-rc1
cd ..
git clone https://github.com/themoos/geodesy-moos.git MOOSGeodesy
cd MOOSGeodesy
git checkout master
cd ..

mv ~/MOOS/MOOSCore/Core/libMOOS/Comms/XPCGetProtocol.cpp ~/MOOS/MOOSCore/Core/libMOOS/Comms/XPCGetProtocol_bck.cpp
cp ~/third-party/XPCGetProtocol.cpp ~/MOOS/MOOSCore/Core/libMOOS/Comms/

3) Build:

export CXX='/usr/local/lib/distcc/arm-linux-gnueabi-g++-4.4'
export CC='/usr/local/lib/distcc/arm-linux-gnueabi-gcc-4.4'
export DISTCC_HOSTS=192.168.1.4
export DISTCC_POTENTIAL_HOSTS=192.168.1.4

cd ~/MOOS/MOOSCore
cmake -D DISABLE_NAMES_LOOKUP=ON -D USE_ASYNC_COMMS=ON .
make -j2
cd ../MOOSEssentials
cmake .
make -j2
cd ../MOOSGeodesy
cmake .
make -j2
cd ../MOOSToolsUI
cmake -D BUILD_GRAPHICAL_TOOLS=OFF .
distcc-pump make -j2

cd ~/moos-ivp
rm MOOS
ln -s ../MOOS MOOS

cd ~/moos-ivp/ivp/src
cmake -D IVP_BUILD_GUI_CODE=OFF .
distcc-pump make -j2

cd ~/goby
cmake -D build_apps=OFF -D build_moos=OFF .
make -j2
cd ~/hovergroup-extend/trunk
./build_proto.sh
cmake -D BOOST_146=ON -D BUILD_SHORE_APPS=OFF .
make -j2
cd ~/hovergroup-extend/josh
./build_proto.sh
cmake -D BUILD_SHORE_APPS=OFF .
make -j2

4) Bashrc:

HOME_DIR="/home/josh"
IVP_DIR=${HOME_DIR}/moos-ivp
MOOS_DIR=${IVP_DIR}/MOOS
PATH=$PATH:${MOOS_DIR}/MOOSCore/bin:${MOOS_DIR}/MOOSEssentials/bin:${MOOS_DIR}/MOOSToolsUI/bin
PATH=$PATH:${IVP_DIR}/bin
HOVERGROUP_DIR=${HOME_DIR}/hovergroup-extend
PATH=$PATH:${HOVERGROUP_DIR}/trunk/bin

PATH=$PATH:/sbin

export DISTCC_HOSTS="192.168.1.100"
export DISTCC_POTENTIAL_HOSTS="192.168.1.100"
export CC="/usr/local/lib/distcc/arm-linux-gnueabi-gcc-4.4"
export CXX="/usr/local/lib/distcc/arm-linux-gnueabi-g++-4.4"

5) Rtklib
build:

~/third-party/rtklib/app/makeall.sh

Add as launch script: (for some reason this doesn't work when copy pasted - type in manually)

cd /etc/init.d
sudo ln -s /home/josh/third_party/josh_rtklib/start_silvana.sh start_silvana.sh
sudo ln -s /home/josh/third_party/josh_rtklib/start_rtkrcv.sh start_rtkrcv.sh
sudo update-rc.d start_silvana.sh defaults
sudo update-rc.d start_silvana.sh defaults

temp fixssh-keygen -t rsa
ssh keygen: ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host 

remote host is the kayak

added chmod 777 /var/run/screen to rc.local
default compass update rate is 10Hz

  • No labels