Chico2 desktop machine configuration

From ISRWiki
Revision as of 11:41, 27 April 2009 by Mtaiana (talk | contribs)
Jump to navigation Jump to search

Ubuntu 8.04

Hard disk partitioning
size mountpoint filesystem
498GB / ext3
2GB swap


machine name: chico2

user name: vislab

operations performed after the standard installation

  • system update
  • enabled nvidia drivers
  • removed the package network-manager-gnome.
  • manually configured the internet connection (/etc/network/interfaces):
  auto lo
  iface lo inet loopback
  
  auto eth1
  iface eth1 inet static
  address 10.10.1.52
  netmask 255.255.255.0
  network 10.10.1.0
  broadcast 10.10.1.255
  gateway 10.10.1.254
  • install some required packages:
  sudo apt-get install libncurses5-dev libace-dev cmake libgsl0-dev libgtk2.0-dev libgtkmm-2.4-dev libglademm-2.4-dev cvs g++ subversion ssh
  • install YARP
  mkdir ~/YARP
  cd ~/YARP
  cvs -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 login
  cvs -z3 -d:pserver:anonymous@yarp0.cvs.sourceforge.net:/cvsroot/yarp0 co -P yarp2
  cd yarp2
  cmake .    (or ccmake .)
  make
  make test
  sudo make install

add these lines to /etc/bash.bashrc:

  YARP_DIR=/home/vislab/YARP/yarp2/
  export YARP_DIR
  YARP_ROOT=$YARP_DIR
  export YARP_ROOT
  • install OpenCV (Ubuntu prepackaged version 1.0.0-4)
  sudo apt-get install libcv1 libcvaux1 libcvaux-dev libcv-dev libhighgui1 libhighgui-dev opencv-doc python-opencv 
  • install the iCub software:
  in /home/vislab/ 
  cvs -d vislab@cvs.robotcub.org:/cvsroot/robotcub co iCub
  ccmake .
  make
  sudo make install

add these lines to /etc/bash.bashrc:

  ICUB_DIR=/home/vislab/iCub/
  export ICUB_DIR
  ICUB_ROOT=$ICUB_DIR
  export ICUB_ROOT

modify /etc/environment adding the path of the iCub binaries at the end of the PATH line:

  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/vislab/iCub/bin"

I'm not sure if this takes effect immediately, but after a reboot it does. this enables yarp run to find the binaries.

  • create a local version of these configuration files, in $ICUB_DIR/app/default/scripts:
  cp config.sh.template config.sh
  cp config-nodes.sh.template config-nodes.sh
  • edit file $ICUB_ROOT/app/default/scripts/config-nodes.sh like this:
  NODE_CAMERAS=pc104
  NODE_VIEWERS=chico2
  • set up passwordless log-in to the Cortex computers:
  #generate the public and private keys on this computer. enter empty strings when prompted for various answers.
  ssh-keygen   
  #the cortex computers (ip addresses 10.10.1.1 to 10.10.1.5) share the same disk, so you need to do the set up only once.
  #copy the public key you just generated to cortex1, on the user account you want to use there (e.g. demo).
  scp /home/vislab/.ssh/id_rsa.pub demo@10.10.1.1:   
  #log in to cortex1
  ssh demo@10.10.1.1
  #add the public key to the authorized ones
  cat id_rsa.pub  >> ~/.ssh/authorized_keys   
  #remove the id_rsa.pub file and log out from cortex1.
  rm id_rsa.pub
  exit
  exit
  #log in again to each cortex computer, to check that the process worked and they don't prompt for a password.
  • set up passwordless log-in to pc104

pc104 boots from a read-only medium, so you cannot modify permanently its authorized_keys file. pc104, though, mounts a part of icubsrv's hard-disk and then runs some scripts from there (see the pc104 page for reference).

  #copy the usual public key to the icubsrv (laptop)
  scp id_rsa.pub icub@10.10.1.51:
  #ssh to icubsrv
  ssh icub@10.10.1.51
  #add the key to the authorized ones
  cat id_rsa.pub /exports/code-pc104/pc104/hooks/keys/authorized_keys
  #rm the id_rsa.pub file
  rm id_rsa.pub
  #restart pc104 and check that you can log in passwordlessly.
  • add a second panel/bar at the top of the screen:
  right click on the normal bar and select "new panel".
  • add buttons to the panel/bar at the top of the screen, to open terminals and file managers on remote machines.

the top bar should look something like this when you're done:

  pick the images you like and turn them into 48x48pixel gif images (you can use the GIMP for this).
  
  example for the button to open the gnome-terminal on cortex1:
  right click on the panel and select "add to panel"
  select "custom application launcher"
  click on the icon and select the directory where your icons are, typically ~/Pictures/
  click on open, then select the picture for this particular button
  write in the field "command": gnome-terminal --window-with-profile=cortex -e "ssh demo@10.10.1.1 -X"
  set the name to something like: ssh demo@cortex1
  the profile specified (--window-with-profile=cortex) does not exist by default, you need to create it.
  those profiles are used to give terminals on different machines different colors (e.g. all terminals running in a cortex computer will be blue, terminals local to chico2 will be white, etc.).
  to create the "cortex" profile:
  open a terminal on, say, cortex1
  click on File, select "new profile" and name it "cortex", without