Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TCF/Raspberry Pi"

< TCF
(Installing the Agent for auto-start)
Line 32: Line 32:
 
   cd org.eclipse.tcf.agent/agent
 
   cd org.eclipse.tcf.agent/agent
 
   make install
 
   make install
   ''# (Review the files being installed into /tmp)''
+
   ''# Review the files installed into /tmp''
 
   sudo make install INSTALLROOT=
 
   sudo make install INSTALLROOT=
 
   sudo update-rc.d tcf-agent defaults
 
   sudo update-rc.d tcf-agent defaults
 
+
   sudo update-rc.d tcf-agent enable
The following step might be necessary on older Raspberry Pis, because the Pi might have runlevel 2 by default even if networking is enabled (ie sshd is up); so we'll want TCF to come up on runlevel 2 as well, and not only on runlevel 3 as in most standard Linux distributions. The good thing is that this change is persistent.
+
  sudo service tcf-agent start
 
+
   sudo update-rc.d tcf-agent enable 2
+
 
+
  
 
== Connecting the TCF Debugger to the Pi ==
 
== Connecting the TCF Debugger to the Pi ==

Revision as of 15:11, 13 September 2021

Getting TCF to run on the Raspberry Pi

300px-RaspberryPi.jpg

The Raspberry Pi is a tiny, cheap single-board computer that is powerful enough to play HD video. It runs Linux on its ARMv6 chip, connects a monitor and a keyboard for stand-alone work, and provides all the necessary tools to get started quickly. TCF needs a network, so the instructions here are for a "Type B" Raspberry Pi which should cost around 25 $. Getting it up and running is quick and easy:

Building the TCF Agent

Getting TCF up and running is really easy if your Pi has a network - this shouldn't take more than 15 minutes depending on your network connection for the downloads:

  1. Prepare an SD Card (4 GB recommended) with the Raspbian Image to boot your device. We used "wheezy" for this.
  2. Connect native monitor and keyboard. Finish setup wizard, type “ifconfig”. Read IP address from eth0.

Now you're ready to rock and roll on the keyboard

  # (Replace n.n.n.n by the actual IP address that you read)
  ssh pi@n.n.n.n / password : raspberry
  sudo apt update
  sudo apt install git make gcc uuid-dev libssl-dev libc6-dbg
  git clone https://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git
  cd org.eclipse.tcf.agent/agent
  make
  obj/GNU/Linux/arm/Debug/agent -L- -l0

The last command actually launches the agent, for testing.

Installing the Agent for auto-start

One benefit of running TCF on the device is the TCF auto-discovery: It allows to connect to a headless device (without keyboard and monitor) quickly even without knowing its IP address. For that to work right after powering on the device, you'll need to register the TCF agent for auto-start:

  cd org.eclipse.tcf.agent/agent
  make install
  # Review the files installed into /tmp
  sudo make install INSTALLROOT=
  sudo update-rc.d tcf-agent defaults
  sudo update-rc.d tcf-agent enable
  sudo service tcf-agent start

Connecting the TCF Debugger to the Pi

  1. Get Eclipse, it is recommended to use the Eclipse IDE installer package
  2. Launch it, choose Help > Install New Software and install the most recent version from the releases:
  3. Allow to restart, then switch to the Target Explorer Perspective
    • Your Pi should show up under "Neighborhood". Here, you can also set up a new remote debug configuration.

Advanced Configuration

VNC

You can install a VNC server on the Pi - the TCF source repository on git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.git has an experimental VNC integration:

  sudo apt-get install tightvncserver

There's more details on this Blog on setting up VNC on the Pi.

NFS

You can install an NFS server on the Pi - provides access to source code and debug objects that you compile right on the Pi:

  # purge rpcbind and nfs-common to avoid [warn] Not starting: portmapper is not running ... (warning).
  sudo apt-get purge rpcbind
  sudo apt-get purge nfs-common
  sudo apt-get install rpcbind
  sudo apt-get install nfs-kernel-server nfs-common
  
  sudo nano /etc/exports
  #  add the following line :
  #  /  *(rw,sync,no_subtree_check,insecure)
  
  #restart your nfs deamon
  /etc/init.d/nfs-kernel-server restart

Back to the top