Skip to content


This manual describes how to install and customize the linux operating systems required to run on machines in the iCub enviroment. You can also find here the correct procedure required to statup all machines that belongs to an iCub Setup enviroment.

The iCub Operative Systems

Robot OS

There are two versions of the customized OS running on the machine inside the iCub head:

  • The iCub LIVE for PC104 - based on Debian LIVE environment, it is for old iCub version with a PC104 board (without onboard Hard Drive) and it is distribuited usign a pre-built image.
  • The iCub OS - based on Ubuntu Server, it is for latest iCub versions with a COM-Express board (with onboard Hard Drive) and can be installed starting from a pre-built image or we provide instructions to install and custommize a standard Ubuntu server installation.


For further details, please refer to the iCub CPU boards.

OS for other machines in the iCub enviroment

Here you can find instruction needed to custommize a generic machine, such as a laptop or a desktop, making all the changes required to add it to the iCub enviroment, starting from a default Ubuntu or Debian installation.

Once you customized your machine, you can proceed with further setup for special machines, such as:

  • The iCub Dedicated Server - the machine that works as network infrastructure server (for Network gateway, NTP, NFS, DHCP and DNS services) only, this machine is not supposed to be used to run your software (i.e. you can't install YARP here), but acts as backend server for all networking services
  • The iCub Console Server - in the minimal iCub setup configuration there is only the robot and a single machine, usually a laptop, acting both as (limited) network infrastructure server (for Network Gateway, ntp and NFS serviceas) as well as robot console were you can run your software (i.e. YARP is installed here)
  • CUDA workstation - a GPU-equipped machine with CUDA software installed, usually a workstation

The iCub setup startup procedure

Here you can find the correct procedure required to startup the whole iCub setup (robot, server, laptop and workstations), so all machines and services can operate correctly.