Pc104: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
m (→‎Booting and Mounting: cleanup: hook scripts)
(two methods to update pc104 repos)
Line 1: Line 1:
''See [[pc104/Archive]] for old information.''
''See [[pc104/Archive]] for information about the previous setup with the read-only pen drive.''


The '''pc104 CPU board''' is located into the iCub's head and it runs a full Debian distribution that boots from a USB pen drive.
The '''pc104 CPU board''' is located into the iCub's head and nowadays it runs a full (read/write) Debian distribution that boots from a USB pen drive.


= Booting and Mounting =
= Booting and Mounting =
Line 9: Line 9:
== Repositories on icubsrv laptop ==
== Repositories on icubsrv laptop ==


Note that the icubsrv laptop has 2 repositories:  
Note that the icubsrv laptop has 2 locations for the repositories:  
* <code>/exports/code-64</code> for the laptop itself (compiled for 64bit, rarely used)
* <code>/exports/code-64</code> for the laptop itself (compiled for 64bit, rarely used)
* <code>/exports/code-pc104</code> for pc104 (compiled for 32bit, this is the one that is actually used)
* <code>/exports/code-pc104</code> for pc104 (compiled for 32bit, this is the one that is actually used)


''TODO: verify if the following instructions are still current''
== Updating the repositories ==


Therefore, if you want to update the repository used by pc104, you need to:
First method: from a pc104 console, normally update and compile the repositories (see [[RobotCub software]] for details).
 
If the above method fails for any reason (old version of svn, internet problems with DNS or NTP, etc.) you can use the following workaround:
# open a pc104 shell window
# open a pc104 shell window
# open an icubsrv shell window
# open an icubsrv shell window

Revision as of 16:24, 25 November 2011

See pc104/Archive for information about the previous setup with the read-only pen drive.

The pc104 CPU board is located into the iCub's head and nowadays it runs a full (read/write) Debian distribution that boots from a USB pen drive.

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) which contains the yarp2 and iCub repositories.

Repositories on icubsrv laptop

Note that the icubsrv laptop has 2 locations for the repositories:

  • /exports/code-64 for the laptop itself (compiled for 64bit, rarely used)
  • /exports/code-pc104 for pc104 (compiled for 32bit, this is the one that is actually used)

Updating the repositories

First method: from a pc104 console, normally update and compile the repositories (see RobotCub software for details).

If the above method fails for any reason (old version of svn, internet problems with DNS or NTP, etc.) you can use the following workaround:

  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)

Software

  • Custom yarp2 configuration
 CMAKE_BUILD_TYPE Release
 CREATE_DEVICE_LIBRARY_MODULES ON
 CREATE_GUIS ON // probably not needed
 CREATE_LIB_MATH ON
 CREATE_YARPSERVER3 ON
 ENABLE_yarpmod_portaudio ON
 ENABLE_yarpmod_serial
 ENABLE_yarpmod_serialport
  • Custom iCub configuration
 BUILD_TESTING ON
 CMAKE_BUILD_TYPE Release
 ENABLE_icubmod_canmotioncontrol ON
 ENABLE_icubmod_cartesiancontrollerclient ON // not needed! this is for the servers
 ENABLE_icubmod_cartesiancontrollerserver ON
 ENABLE_icubmod_cfw2can 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_skinprototype ON
 ENABLE_icubmod_xsensmtx ON
 ICUB_CANPROTOCOL_STRICT ON
 ICUB_USE_INTERFACEGUI ON
  • Final configuration
  1. yarp namespace /icub
  2. in order to find the yarpserver running on chico3, write 10.10.1.53 10000 into the file specified by yarp conf

See also