Pc104

From ISRWiki
Jump to navigation Jump to search

See pc104/Archive for information about the Ubuntu Server installation and tests that we performed in May 2009, to try to get rid of the laptop dependency. There were still a couple of unresolved issues with that method (dragonfly cameras and Canbus), therefore for the time being we went back to the original setup, explained next.

The pc104 CPU board is located into the iCub's head.

It boots from a read-only memory (using a Debian Live distribution), therefore it is necessary to mount an external partition to make permanent changes to files and perform basic I/O. This is accomplished by mounting an external partition on the pc104 at boot time.

Booting and Mounting

After booting, the pc104 mounts a part of the hard-disk of icubsrv (the Dell XPS laptop, IP address 10.10.1.51).

After that, it runs the scripts that are found in icubsrv's /exports/code-pc104/pc104/hooks directory. You can use those scripts for making some configuration permanent on pc104 and/or to run programs. They set up the yarp namespace, configure the keys for passwordless log-ins, etc.

Repositories on icubsrv laptop

Note that the icubsrv laptop has 2 repositories:

  • /exports/code-64 for the laptop itself (compiled for 64bit, rarely used)
  • /exports/code-pc104 for pc104 (compiled for 32bit)

TODO: verify if the following instructions are still current

Therefore, if you want to update the repository used by pc104, you need to:

  1. open a pc104 shell window
  2. open an icubsrv shell window
  3. on icubsrv: svn update /exports/code-pc104/yarp2 and /exports/code-pc104/iCub (for now we need to do this from icubsrv because the version of svn on pc104 is too old)
  4. on pc104: cmake, make in $YARP_DIR (the files are physically on icubsrv, but we need to issue the command from pc104 to obtain 32bit binaries)
  5. on pc104: cmake, make, make install_applications in $ICUB_DIR (the files are physically on icubsrv, but we need to issue the command from pc104 to obtain 32bit binaries)

About the hook scripts

The common version of the hook scripts is located in the RobotCub repository, under /usr/local/src/robot/iCub/pc104/startupscripts/opencall/hooks (available, for example, on icubsrv). The procedure is to copy them to icubsrv's /exports/code-pc104/pc104/hooks and then to customize VisLab-specific settings there.

Configuration

CMake flags for yarp2

CMake flags for iCub

 CMAKE_BUILD_TYPE Release
 ENABLE_icubmod_canmotioncontrol ON
 ENABLE_icubmod_cartesiancontrollerserver ON
 ENABLE_icubmod_dragonfly2 ON
 ENABLE_icubmod_icubarmcalibrator ON
 ENABLE_icubmod_icubhandcalibrator ON
 ENABLE_icubmod_icubheadcalibrator ON
 ENABLE_icubmod_icublegscalibrator ON
 ENABLE_icubmod_logpolarclient ON
 ENABLE_icubmod_logpolargrabber ON
 ENABLE_icubmod_pcan ON
 ENABLE_icubmod_xsensmtx ON

See also